本帖最后由 e2002 于 2024-11-29 18:16 编辑
首先要理清程序的流程。一般的,象这种直接操作对象,选择对象的进行修改某一个特性的,先是输入特性的新的值,然后while选择对象(entsel或者 ssget),这里需要判断对象的类型是否符合要求,还要判断是否选择对象是否在 LockedLayer上(如果是ssget就加上""参数)。
while循环中,主要就是对象访问与修改特性的那些语句,这个想必你已经理解了。修改后一般不需要regen,修改厚的效果就能直接看到的。
另外: 颜色现在是TrueColor,应使用 AcCmColor对象,下面是 sample code:
- (setq amColor (vla-GetInterfaceObject acApp (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
- (vla-put-ColorIndex amColor acCyan)
- (vla-put-TrueColor att amColor)
- (vlax-release-object amColor)
|