- 积分
- 15341
- 明经币
- 个
- 注册时间
- 2002-2-4
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2002-12-30 12:32:00
|
显示全部楼层
AUTOLISP的解决方法(相当烦麻)...
<用VLISP的话只要找出标注中的相关性质修改一下即可>。
AUTOLISP的解决方法(相当烦麻),但相当程度上你会更了解AUTOCAD。
步骤:
1. 找出要更改前的标注所包含的所有尺寸变量值,即它是由那个”DIMSTYLE”所设定
指令: (TBLSEARCH "DIMSTYLE""STANDARD$0")
((0 . "DIMSTYLE")
(2 . "STANDARD$0")
(70 . 0)
(3 . "")
(4 . "")
(5 . "")
(6 . "")
(7 . "")
(40 . 9.0)
(41 . 2.5)
(42 . 0.625)
(43 . 4.25)
(44 . 1.25)
(45 . 0.0)
(46 . 0.0)
(47 . 0.0)
(48 . 0.0)
(140 . 2.5)
(141 . 1.5)
(142 . 0.0)
(143 . 0.0393701)
(144 . 1.0)
(145 . 0.0)
(146 . 1.0)
(147 . 0.625)
(71 . 0)
(72 . 0)
(73 . 0)
(74 . 0)
(75 . 0)
(76 . 0)
(77 . 1)
(78 . 8)
(170 . 0)
(171 . 3)
(172 . 1)
(173 . 0)
(174 . 0)
(175 . 0)
(176 . 4)
(177 . 2)
(178 . 6)
(270 . 2)
(271 . 2)
(272 . 2)
(273 . 2)
(274 . 3)
(340 . <像素名称: 400AEC88>)
(275 . 0)
(280 . 0)
(281 . 0)
(282 . 0)
(283 . 1)
(284 . 8)
(285 . 0)
(286 . 0)
(287 . 3)
(288 . 0)
)
DIMSTYLE 群组码
群组码 描述
100 子类别标记(AcDbDimStyleTableRecord)
2 标注型式名称
70 标准旗号值(位码值): 16 = 若设定,表格项目于外部依外部参考而定。 32 = 若此位码与 16 位码皆设定,则外部的附属外部参考已完全决定。 64 = 若设定,此表格项目在最近一次编辑图面时,至少供图面中至少一个组件参考。(此旗号是为方便 AutoCAD 指令而设。大部分读取DXF 档案的程序会忽略这个旗号,且写出 DXF 档案的程序也不必设定此一旗号。)
3 DIMPOST
4 DIMAPOST
5 DIMBLK(旧版用,现在是对象识别码)
6 DIMBLK1(旧版用,现在是对象识别码)
7 DIMBLK2(旧版用,现在是对象识别码)
40 DIMSCALE
41 DIMASZ
42 DIMEXO
43 DIMDLI
44 DIMEXE
45 DIMRND
46 DIMDLE
47 DIMTP
48 DIMTM
140 DIMTXT
141 DIMCEN
142 DIMTSZ
143 DIMALTF
144 DIMLFAC
145 DIMTVP
146 DIMTFAC
147 DIMGAP
148 DIMALTRND
71 DIMTOL
72 DIMLIM
73 DIMTIH
74 DIMTOH
75 DIMSE1
76 DIMSE2
77 DIMTAD
78 DIMZIN
79 DIMAZIN
170 DIMALT
171 DIMALTD
172 DIMTOFL
173 DIMSAH
174 DIMTIX
175 DIMSOXD
176 DIMDLRD
177 DIMCLRE
178 DIMCLRT
179 DIMADEC
270 DIMUNIT(旧版用,现在使用 DIMLUNIT 与 DIMFRAC)
271 DIMDEC
272 DIMTDEC
273 DIMALTU
274 DIMALTTD
275 DIMAUNIT
276 DIMKFRAC
277 DIMLUNIT
278 DIMDSEP
279 DIMTMOVE
280 DIMJUST
281 DIMSD1
282 DIMSD2
283 DIMTOLJ
284 DIMTZIN
285 DIMALTZ
286 DIMALTTZ
287 DIMFIT(旧版用,现在使用 DIMATFIT 与 DIMTMOVE)
288 DIMUPT
340 DIMTXSTY(参考的 STYLE 处理码)
341 DIMLDRBLK(参考的 BLOCK 处理码)
342 DIMBLK(参考的 BLOCK 处理码)
343 DIMBLK1(参考的 BLOCK 处理码)
344 DIMBLK2(参考的 BLOCK 处理码)
371 DIMLWD(线宽 enum 值)
372 DIMLWE(线宽 enum 值)
2. 再找出标注所包含的延伸数据(XDATA)
(defun C:DXF5 ()
(prompt "\n尺寸标注资料:")
(setq AA (cdadr (assoc -3 (entget (car (entsel)) '("ACAD")))))
(print AA)
(alert
(strcat
"\n尺寸标注资料setq AA (cdadr (assoc -3 (entget (car (entsel)) '(\"ACAD\")))))\n"
(vl-prin1-to-string AA)
)
)
)
尺寸标注延伸数据:
((1000 . "DSTYLE") (1002 . "{") (1070 . 40) (1040 . 1.0) (1070 . 341) (1005 . "0") (1002 . "}"))
3. 把你要更改的项目加入到延伸数据中。
4. 记录所有标注的系统变量
5. 利用DIMSTYLE & 延伸数据中数据更改系统变量。
6. UPDATE你要更改的标注。
7. 还原系统变量。
要是你使用AUTOCAD 2000以上用VLISP的话,只要找出标注中的相关性质修改一下即可。
真有必要在R14下执行,只有用AUTOLISP了。
下列程序会有一些帮助:
http://www.cadalog.com/download2.phtml?File=/dims/A2KDims.zip&filename=A2KDims.zip&ID=3618 |
|