有時(shí)需要將標(biāo)高統(tǒng)一修改一個(gè)差值。這里提供一個(gè)程序可以快捷實(shí)現(xiàn)這一功能。該程序在你選擇物體后,輸入一個(gè)差值,則所選物體里的所有標(biāo)高就都加上了這個(gè)差值。需要說(shuō)明的是程序中針對(duì)的標(biāo)高是位于PUB_DIM層上的TEXT,以及塊名為BG、BGZ、BGY的屬性塊,如果你所要改的標(biāo)高不在此范圍內(nèi),可以將程序中的層名或塊名改為你需要的名稱。命令名:bbg
程序中針對(duì)的標(biāo)高是位于PUB_DIM層上的TEXT,以及塊名為BG、BGZ、BGY的屬性塊,如果你所要改的標(biāo)高不在此范圍內(nèi),可以將程序中的層名或塊名改為你需要的名稱。
你的標(biāo)高如果不是屬性塊,可將標(biāo)高在PUB_DIM層上繪制。
程序?yàn)樾?shù)點(diǎn)后面3位,如只需保留兩位,需將程序中兩處(rtos y 2 3)改為(rtos y 2 2);將程序中所有的0.000改為0.00。
1.把下面的代碼存到文本文檔里面,然后把文本文檔改 bbg.lsp
2.在cad中用ap命令,加載此文件即可
3.你可以用此命令了,使用命令 bbg
============================
(defun to(n)
(cdr (assoc n (entget sn)))
)
(princ "n歡迎使用批量改標(biāo)高程序!命令名:bbg == GYSJY 2008.12.24 ==")
(defun c:bbg( / blip e1 en n sn ss tr1 x y1)
(command "undo" "g")
(setq blip (getvar "blipmode"))
(setvar "blipmode" 0)
(setq n 0 bgaoy0 (if bgaoy0 bgaoy0 -0.05)
ss (ssget '((-4 . "<OR")(-4 . "<AND")(0 . "TEXT")(8 . "PUB_DIM")(-4 . "AND>")
(-4 . "<AND")
(0 . "INSERT")
(-4 . "<OR")(2 . "$BG-R")(2 . "BG")(2 . "BGZ")(-4 . "OR>")
(-4 . "AND>")(-4 . "OR>"))
)
)
(princ "n新舊標(biāo)高差<")(princ bgaoy0)
(setq x (getreal ">:")
y (if x x bgaoy0) bgaoy0 y
)
(if ss
(progn
(princ "n舊,新標(biāo)高分別為:")
(repeat (sslength ss)
(setq sn (ssname ss n) en (entget sn) n (1+ n)
)
(if (= (to 0) "TEXT")
(progn
(setq y0 (to 1) y1 y0)
(if (eq (substr y1 1 1) "(")
(setq y1 (substr y1 2) tr1 "(" )
(setq tr1 nil)
);處理帶括號(hào)的標(biāo)高
(setq y (if (or (eq y1 "%%P0.000")(eq y1 "%%p0.000")(eq y1 "±0.000")) 0.0 (atof y1)) #p#分頁(yè)標(biāo)題#e#
y (+ y bgaoy0) y (if (= y 0.0) "%%p0.000" (rtos y 2 3))
y (if tr1 (strcat tr1 y ")") y)
)
(setq e1 (subst (cons 1 y) (assoc 1 en) en))
(entmod e1)
)
(progn;處理屬性塊中的標(biāo)高
(setq e1 (entget (entnext (cdr (car en))))
y1 (assoc 1 e1) y3 y1 y1 (cdr y1)
y (if (or (eq y1 "%%P0.000")(eq y1 "%%p0.000")(eq y1 "±0.000")) 0.0 (distof y1))
y (+ y bgaoy0) y (if (= y 0.0) "%%p0.000" (rtos y 2 3))
e1 (subst (cons 1 y)(assoc 1 e1) e1)
)
(entmod e1);;修改屬性;
(entmod en);;修改實(shí)體
)
);(if (= (to 0) "TEXT")
(princ (strcat y1 " " y ", "))
);repeat
)
)
(setvar "blipmode" blip)
(command "undo" "e")
(princ)
)
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF