clint0577 发表于 2022-7-6 07:20:30

celtype公司

我所需要做的就是将线型更改为“架空电力服务”,画一两条线,然后切换回“BYLAYER”线型。我编写的这段代码根本不会更改线型,当我去掉(setvar“celtype”“bylayer”)时,它可以工作,但我当然不使用bylayer线型。有人请帮忙!!!这让我快疯了
 
(defun c:OES ()
(command "layer" "s" "ELECTRIC_LINE" "")
(SETVAR "CELTYPE" "OVERHEAD_ELECTRIC_SERVICE")
(command "LINE")
(setvar "CELTYPE" "bylayer")
(PRINC)
)

Lee Mac 发表于 2022-7-6 07:55:41

(defun c:oes ( / )
   (command "_.-layer" "_M" "ELECTRIC_LINE" "")
   (if (tblsearch "LTYPE" "OVERHEAD_ELECTRIC_SERVICE")
       (setvar 'celtype "OVERHEAD_ELECTRIC_SERVICE")
   )
   (command "_.line")
   (while (= 1 (logand 1 (getvar 'cmdactive))) (command "\\"))
   (setvar 'celtype "BYLAYER")
   (princ)
)

clint0577 发表于 2022-7-6 08:10:56

谢谢

clint0577 发表于 2022-7-6 08:40:09

我不确定这是否重要,但这就是我想到的
 
   (command "layer" "s" "ELECTRIC_LINE" "")
(SETVAR "CELTYPE" "OVERHEAD_ELECTRIC_SERVICE")
(command "LINE" PAUSE)
(WHILE (< 0(GETVAR "CMDACTIVE"))
(COMMAND PAUSE))
(setvar "CELTYPE" "bylayer")
(PRINC)
)
页: [1]
查看完整版本: celtype公司