导入标准图层
嘿伙计们我正在寻找一个小lisp,我可以扩展到适合我们的标准层
我正在寻找一个lisp,可以在一个图形中设置新的图层-名称-颜色和线型
但是如果层名称已经存在,不要要求用户重新定义
有人知道现有的lisp吗?
干杯 你为什么不用你在其中创建的所有标准图层来设置一个模板文件呢? 我已经设置了一个-但每个人都希望有一个简单的按钮来导入层。
不过谢谢你
\ 我宁愿使用lisp来添加层,而不是引入模板
有什么想法吗?
lisp中引入图层的函数是什么?设置图层的颜色和线型
我会把剩下的写下来,寄回来给你,让你把它撕成碎片,并就我犯的所有错误向我提出建议
哈
干杯 使用Design Center从模板中拖动层会更容易,但这应该可以让您开始。。。
(command "-layer" "m" "layername" "c" "color" "" "l" "linetype" "" "")
[/颜色]
我曾想过用这样的方法来导入层并设置它们-但对每个层都这样做对pc来说会有很多工作-有更简单的方法吗?还是我应该创建一个lisp来导入模板文件并删除它,从而设置所有层等等
有什么想法吗?
干杯
(if(not(tblsearch "LTYPE" "EX_GAS"))
(command "-linetype" "_l" "EX_GAS" "services" "")
); end if
(if(not(tblsearch "LAYER" "EXSRV_GAS"))
(command "-layer" "new" "EXSRV_GAS" "Color" 251 "EXSRV_GAS" "LTYPE" "EX_GAS" "EXSRV_GAS" "")
);end if 看看这个函数:
(defun CreateLayers(layLst / layCol nLay)
(vl-load-com)
(setq layCol(vla-get-Layers
(vla-get-ActiveDocument
(vlax-get-Acad-object))))
(foreach itm layLst
(if
(not(vl-catch-all-error-p
(setq nLay(vl-catch-all-apply 'vla-Add
(list layCol(car itm))))))
(vla-put-Color nLay(cadr itm))
); end if
); end foreach
(princ)
); end of CreateLayers
并使用列表((“LayerName1”颜色)进行尝试:
(CreateLayers '(("MyLayer1" 1)("MyLayer2" 2)("MyLayer3" 3))) 再次感谢阿斯米-我会看看这个方法
干杯,伙计 那么,例程如何加载线型呢?我从代码中看到,你可以指定图层、颜色和线型名称。。。它是从阿卡迪索拉过来的吗。林?或acad。林?你能指定它从哪里加载吗?
刚刚开始学习Lisp程序。。。
谢谢
检查测量单位系统变量
请参阅帮助
~'J'~
页:
[1]
2