做機械制圖時經常遇到的問題是,裝配圖或者零件圖的某一部分經常需要局部放大。出圖時也需要出在同一張紙上。如果不涉及標注,可能並沒有太大的問題,但常常不得不處理標注的比例。Auto CAD標注時可以選擇自動測尺寸標注,這樣當改變標注線位置時標注的尺寸數值自動變化。如果不是自動測尺寸,而是強行輸入一個數值字符串,那麼如果尺寸線位置變動(比如你改變設計尺寸),標注數值是不變化的,將不符合客觀情況。 在同一張圖上標注不同比例的實體時,雖然作為Auto CAD實體,他們的大小是不一樣的,但作為實際設計模型,尺寸是一樣的,不過是局部放大顯示罷了。假如使用自動測尺寸,照顧了原圖就兼顧不了放大圖,必須有一個圖是使用不自動檢測尺寸,這對改圖又改尺寸標注是很不方便的。如果開不同視窗,又會涉及到文字比例問題,因為圖放大了文字也放大,而實際需要的是圖放大而文字不放大。
解決這個問題有一個方法可以參考,就是使用DIMSCALE系統變量控制,例如,我們需要將原圖一部分局部放大10倍,原圖標注尺寸是150的地方,在放大圖上也是150,雖然圖變大了10倍,絕對不會檢測成1500, 我們只要在標注時將DIMSCALE系統變量設成0.1就可以了。
改變系統變量固然可以解決尺寸自測問題,但是,DIMSCALE變量是全局的,他將影響以後所有的標注,如果在實際操作時反復切換這個變量,又為繪圖添加很多新的麻煩,所以,下一步就是考慮如何自動切換標注比例問題。
以我們的成功范例,采用下列方式達到自動切換標注比例的功能,只要指定了一個矩形框,確定在此框內的比例,以後凡是在此框內繪圖都自動設置DIMSCALE變量,在框外繪圖標注比例會設回去。
第一 : 截獲Auto CAD鼠標按鍵消息;重新編制窗口處理過程,采用SetWindowLong將此過程附加到Auto CAD繪圖窗口。
第二 : 在窗口處理過程裡面判斷鼠標的位置,是否落在規定的矩形框內,如果在則改變系統變量。
第三 : 為了記錄特定的矩形框位置,設計了一個新實體,新實體可以顯示可以隱藏,可以移動、縮放,但不能隨意刪除,必須用指定的命令才可刪除,如果使用Auto CAD命令刪除它,在存盤時可以恢復,並設為隱藏狀態,新實體的一個重要屬性就是標注比例,可以隨時改動,並影響框內所有實體。