时间:2012-04-27 21:01:02 作者:不思议游戏 浏览量:1367
4)给出新的线宽值
5)按新的线宽值在所确定的层上自动调定位于选择范围内的图素线宽
三、按颜色调整:
1)方式选择回答C(Color)
2)选择调整作用的范围
3)在[EntityNumber]中可用两种方法确定颜色。回答E则可以图中选一个颜色与所需调整颜色一样的图素:回答N就要给出所需调整颜色的号码
4)给定新的线宽值
5)程序按新的线宽值,依据所选定的颜色自动地在所确定的作用范围内调整颜色相符图素的线宽
四、按线型调整:
1)方式选择回答LT(LType)
2)选择调整的作用范围
3)在[EntityName]中回答E可以从图中选择一线型吻合的图素;回答N则给出[ContinuousDenterCenterPhantomDIvideHiddenDOtDAshdotBorder]中的任一类型英文名的前面大写字母则可
4)给定新的线宽值
5)程序按新的线宽值、依据选定的线型自动在所确定的作用范围内调整图素的线宽
使用的几点说明:
1 程序对选择范围内的诸如剖面线、尺寸线、尺寸界线、文字、符号不起作用。这样确定选择调定范围时,不必顾及这些图素的变化。
2 程序不能调整块内的图素,如需调整,先EXPLORING块中元素。如希望保持原有图形文件结构的话,调定线宽后的图形文件可以不存盘覆盖原有图形文件。
3 选择时可用窗口选择方法及逐个选择等多种方法,还可以用SHIFT+选择掉已选中的图素。
4 所有改变线宽的图素,除粗细变化外,其它属性(如:层、颜色、线型)均不发生变化。
5 如果原有图层中图素的颜色或线型值是按揃YLAYER斈J较氯范*(绘制)的,
那么这些图素此时在按颜色(Color)或线型(LType)方式调整线宽时,不属于程序作用范围内图素。也不能在上述两种方式下取这些因素作为依据,选择实体来确定颜色、线型。这在程序运行过程中遇到此类情况均有提示。这种情况下,就可以考虑优先用选择(Select)的方式或分层(Layer)的方式来调整。因为按颜色或线型方式下能调定的图素是由COLOR命令或SET LINETYPE命令确定的那些图素,不论这些图素位于那一层都可以自动搜索进行调整。
6 本程序适合AUTOCAD R12版本。针对该版本中图形文件中图素圆的变线宽处理有三种方法:一是在某一点处切断使其变成闭合弧进行处理;二是先画一个相同大小的闭合圆弧、再消去原先的圆;三是用DNOUT形成的圆环代办替。这里是用第二种方法实现。如果到AUTOCAD R13版本绘制的图形,对椭圆的处理也必须采取类似的措施。
源程序 chwd.lsp
(defun c:width()
(setq bb 1)
(setq w 0)
(initget 1"Select Layer Color LType")
(prompt"n调整方式选择")
(setq t (getkword "[Select\Layer \Color\LType"))]
(prompt"n选择调整范围")
(setq obj(ssget))
(if(=t "Layer")
(progn
(initget 1"Entity Name")
(prompt"n选择实体确定图层或给出图层名?")
(setq 1b (getkword"[Entity\Name]:"))
(if (=1b "Entity")
(progn
(prompt"选择所需变化图层图素:")
(setq 1e (ssget)
(setq 1p (ssname le 0))
(setq 11(cdr(car(cdr(cdr(entget 1p))))))
)
)
(if(=1b"Name")
(progn
(setq 111(getstring"给出所需变化的图层名:"))
(setq 11(strcase 111))
)
)
(setq obj1(ssadd))
(setq j 0)
(while(<j(sslength obj))
(setq pl(ssname obj j))
(setq j (+ j 1))
(setq py (cdr(car(cdr(cdr(entget pl))))))
(if(=ll py)
(ssadd pl obj1)