我将使用entmake创建层,因为可以同时应用许多属性,例如:
- (vl-load-com)
- ;;; Create layer "Lay1" "Lay2" "Lay3"
- (mapcar '(lambda(lay)
- (vla-add(vla-get-layers(vla-get-activedocument (vlax-get-acad-object))) lay)
- )
- (list "Lay1" "Lay2" "Lay3")
- )
使用名称、颜色、线型和线宽调用上述内容:
- (vl-load-com)
- ((lambda (oLayers layList)
- (foreach lay layList
- (if (not (tblsearch "layer" lay))
- (vl-catch-all-apply 'vla-add (list oLayers lay)))))
- (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
- '("Test1" "Test2" "Test3"))
如果图层已存在,则将对其进行修改以匹配您指定的特性。如果函数成功,将返回非nil结果。
请注意,所提供参数的有效性是调用方的责任。 |