利用CAD字段制作動態(tài)變化的標(biāo)高圖塊
年前群里一位網(wǎng)友給我詳細(xì)講解了動態(tài)更新的標(biāo)高圖塊的制作過程,本來想盡快整理出來分享給大家,但過年期間有點犯懶,一直拖到今天。周二晚上本來想整理出來,結(jié)果還遇到一點問題,周三通過跟他交流后才找到了問題所在。
他發(fā)給我的是一個標(biāo)高的動態(tài)塊,不僅可以根據(jù)插入位置自動計算更新標(biāo)高值,還可以利用拉伸動作調(diào)整標(biāo)高線的長短,這里就不介紹圖塊中圖形繪制和動作設(shè)置的操作了,重點講一下如何利用字段來制作動態(tài)變化的標(biāo)高。
首先將標(biāo)高的基本圖形按尺寸繪制好,如下圖所示。

利用屬性文字可以在圖塊中加入可編輯的文字,直接用簡單的屬性文字做成標(biāo)高圖塊也可以,只是需要根據(jù)實際標(biāo)高編輯每個圖塊的標(biāo)高值。
字段是CAD提供的一種可以根據(jù)外部條件動態(tài)變化的文字,在字段中還可以提取圖形的屬性,設(shè)置計算公式或LISPDISIEL表達(dá)式。關(guān)于屬性塊和字段這里就不再介紹了,如果不了解,可以參看之前發(fā)布的相關(guān)文章。
什么是屬性塊?CAD屬性塊如何創(chuàng)建?屬性文字和普通文字有什么區(qū)別?
CAD的字段Field怎么用?
如何設(shè)置CAD字段保留的小數(shù)位數(shù)
在定義標(biāo)高屬性前,先定義一個用來設(shè)置零標(biāo)高點絕對坐標(biāo)值的屬性,此屬性的標(biāo)記、提示可以根據(jù)自己的需要設(shè)置,默認(rèn)值可以先設(shè)置為0,由于這個屬性只是起設(shè)置零標(biāo)高值的,不需要顯示,所以在定義屬性時可勾選“不可見”,如下圖所示。

然后再定義標(biāo)高屬性,這個屬性文字就不能像前面的屬性那么隨意了,屬性的位置和字高都必須嚴(yán)格按照要求設(shè)置,至于標(biāo)記、提示可以根據(jù)需要進行設(shè)置,默認(rèn)值也可以暫時為0,注意這次別忘了取消勾選"不可見",如下圖所示。

因為這個標(biāo)高是跟圖塊插入點的位置有關(guān),現(xiàn)在無法設(shè)置,需要定義成圖塊后再設(shè)置。
選中標(biāo)高的圖形和定義的屬性后輸入B,定義圖塊,給圖塊起好名字,必須要記住指定正確的基點,如下圖所示。

定義好圖塊后,選擇圖塊,右鍵選擇塊編輯器或者直接輸入BEDIT命令,進入塊編輯器,雙擊標(biāo)高屬性,彈出編輯屬性定義對話框,選中屬性值,右鍵,選擇插入字段,如下圖所示。

打開插入字段對話框后,在字段類型中選擇“對象”,然后在字段名稱中選擇公式,再到右側(cè)下方的公式輸入框中單擊鼠標(biāo)右鍵,在右鍵菜單選擇插入字段,如下圖所示。

在再次彈出的字段對話框中選擇“對象”》“塊占位符”,然后在右側(cè)列表中選擇位置,立面圖是用Y坐標(biāo)來作為標(biāo)高,所以只需要勾選Y坐標(biāo),如下圖所示。

單擊確定按鈕可以返回上一級字段對話框,由于圖紙繪制的時候單位通常是毫米,而標(biāo)高需要標(biāo)注單位是米,需要在讀取的坐標(biāo)值上除以1000,因此需要在Y坐標(biāo)字段基礎(chǔ)上除以1000,如下所示。

這樣一個可以自動根據(jù)標(biāo)高圖塊插入點更新標(biāo)高值的圖塊就完成了,只是這里計算的是Y坐標(biāo)的絕對值。要想可以設(shè)置零標(biāo)高的值,還需要退出塊編輯器做進一步處理。
關(guān)閉塊編輯器并保存上面所做的修改,在圖中插入一個剛修改過公式的圖塊,如下圖所示。

雙擊此圖塊會彈出增強屬性編輯器,選擇標(biāo)高屬性后,在屬性值框中雙擊之前設(shè)置的字段,重新打開字段對話框,如下圖所示。

在公式后面輸入一個減號-,在減號后面右鍵并選擇插入字段,在新打開的字段對話框中類別仍選擇對象,名稱也選擇對象,單擊中間的“選擇對象”按鈕,在圖中拾取剛插入的標(biāo)高圖塊,然后在“特性”列表中選中之前設(shè)置的“零坐標(biāo)點絕對標(biāo)高”屬性,如下圖所示。

單擊確定完成公式的最終設(shè)置,公式的最終效果如下圖所示。

單擊確定按鈕關(guān)閉字段對話框和屬性編輯器對話框,此圖塊才算真正完成。
但這個圖塊的使用與其他圖塊有所不同,不能直接插入,而是需要移動或復(fù)制修改公式后的塊參照。因為減零標(biāo)高的字段是通過編輯標(biāo)高的屬性值完成的,其實后面一部分公式并沒有保存到圖塊定義中,如果我們直接插入圖塊,只能標(biāo)絕對值,復(fù)制圖塊就可以標(biāo)相對值。
將剛才編輯過圖塊復(fù)制到圖中零標(biāo)高的位置,輸入RE回車,更新標(biāo)高值,然后雙擊圖塊打開增強屬性編輯器,在編輯器中可以看到計算出來的絕對標(biāo)高值,如下圖所示。

在上面對話框中選中零標(biāo)高屬性,將值改為標(biāo)高絕對值,如上圖中的9.16,單擊確定,關(guān)閉屬性編輯器,輸入RE回車,刷新,我們可以看到這個標(biāo)高就變成了0,如下圖所示。

然后將這個標(biāo)高依次復(fù)制到立面圖中其他標(biāo)高位置,然后輸入RE回車刷新字段的值,就可以得到各個點的相對標(biāo)高,如下圖所示。

如果要在另一張立面圖中使用標(biāo)高,只需將此圖塊復(fù)制到那張立面圖的零標(biāo)高處,先將零標(biāo)高屬性改成零,RE刷新再根據(jù)標(biāo)高絕對值來修改零標(biāo)高,就可以得到新的基準(zhǔn)零標(biāo)高圖塊,復(fù)制此圖塊到立面圖的其他位置即可。

注意:在塊編輯器內(nèi)部也可以設(shè)置讀取屬性值的字段,但只能讀取屬性的默認(rèn)值,無法讀取插入塊參照后編輯的屬性值,如下圖所示。

我剛開始就卡在了這里,想在塊編輯器一次將公式設(shè)置完,結(jié)果在插入圖塊后修改零標(biāo)高值,標(biāo)出的仍是絕對標(biāo)高。
小結(jié)
上面介紹了字段中公式的應(yīng)用,這里公式還比較簡單,只是除法和減發(fā),重點還是圖塊的塊占位符和屬性值的使用。塊占位符字段必須在塊編輯器中才能設(shè)置,而要想利用圖塊某個屬性設(shè)置的數(shù)值,卻只能對塊參照(也就是插入后的圖塊)進行設(shè)置。因為如此,此圖塊使用時只能復(fù)制,不能插入。
大家如果感興趣,可以在塊編輯器中給標(biāo)高圖塊添加上下翻轉(zhuǎn)、左右翻轉(zhuǎn),拉伸等動作,讓標(biāo)高圖塊可以適用于更多狀況,這些以后有機會再介紹吧。
下面將他制作的樣例文件分享給大家,如果按照上面捕捉操作遇到什么問題,可以看看圖中圖塊的公式和字段是如何設(shè)置的。
百度網(wǎng)盤下載地址
鏈接:https://pan.baidu.com/s/1htfwUUg 密碼:5mjj
謝謝這位朋友!也希望更多人能分享自己的心得和手頭的資源!
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
