世人皆醉 发表于 2022-7-16 16:13:58

如果有图层就选择这个图层,如果没有就新建这个图层该如何操作

如果有图层就选择这个图层,如果没有就新建这个图层该如何操作



(command "layer" "s" "3中心线层" "") ;这个是我想切换的图层

如果没有
(command "-layer" "n" "3中心线层" "c" "1" "3中心线层" "l" "center" "3中心线层" "lw" "0.15" "3中心线层" "");这个是我想新建的图层



xj6019 发表于 2022-7-16 16:13:59

本帖最后由 xj6019 于 2022-7-16 16:41 编辑

(if (not (tblsearch "layer" "3中心线层"))
   (command "-layer" "n" "3中心线层" "c" "1" "3中心线层" "l" "center" "3中心线层" "lw" "0.15" "3中心线层" "");
   )
(setvar "clayer" "3中心线层")

上面是抄的你的,但是好像不行吧然后你再试试下面的


(if (not (tblsearch "layer" "3中心线层"))
(command"._layer" "m" "3中心线层" "c" "1" "" "lt" "center" "" "LW"   "0.15" "" "")
   )
(setvar "clayer" "3中心线层")

llsheng_73 发表于 2022-7-16 16:55:48

本帖最后由 llsheng_73 于 2022-7-16 16:57 编辑

(defun SETLAYER(Owner Lname propertys / la);;;propertys'(color LayerOn lock Freeze Plottable)
      (or(listp propertys)(setq propertys(list propertys)))
      (setq la(vlax-invoke-method (vlax-get-property Owner 'Layers)'add Lname))
      (vl-some(function(lambda(x y)(vlax-put-property la x y)nil))
               '(color LayerOn lock Freeze Plottable)propertys))
(SETLAYER(vlax-get-property(vlax-get-acad-object)'activedocument)"3中心线层" nil)
(setvar "clayer" "3中心线层")
页: [1]
查看完整版本: 如果有图层就选择这个图层,如果没有就新建这个图层该如何操作