antant 发表于 2022-7-6 10:37:42

pedit->用一个按钮关闭

我应该如何编辑“^C^C\u pedit”宏,使其用一个热键关闭选定的多段线?
 
提前感谢

CmdrDuh 发表于 2022-7-6 10:41:26

^C^C^Cu pedit;\c;我认为应该这样做

antant 发表于 2022-7-6 10:45:56

^C^C^Cu pedit_c_x;
 
是什么实际工作)我自己根据你的帖子。
但是,不幸的是,你不能在多条多段线上运行pedit,因此,如果有人能发布一个脚本,用一个热键关闭所有选定的多段线,我将不胜感激。(如果可能?)
 
=)
p、 美国:thanx CmdrDuh
 
p、 附言:我在搜索autocad宏指南或smth时发现了这个论坛。无法在此找到)如果有,请链接)
而且如果有一个线程解释“0”和“defpoints”层,我也很欣赏那里的链接=)

Lee Mac 发表于 2022-7-6 10:48:19

不知道这对谁有用吗?
 

(defun c:cp (/ ss1)
   (setvar "cmdecho" 0)
   (setq ss1 (ssget))
   (if (> (sslength ss1) 1)
   (progn
   (vl-cmdf "_pedit" "_M" ss1 "" "_C" "")
   (princ (strcat "\n" (itoa (sslength ss1)) " Polylines Closed. ")))
   (progn
   (vl-cmdf "_pedit" ss1 "_C" "")
   (princ (strcat "\n" (itoa (sslength ss1)) " Polyline Closed. "))))
   (setvar "cmdecho" 1)
   (princ)
)

antant 发表于 2022-7-6 10:50:40

thanx=)
我会尽快尝试的
 
编辑:
哎呀,它正是我想要的=)
 
再次感谢

jcap91163 发表于 2022-7-6 10:54:36

和往常一样,它很有魅力,非常感谢mac先生

Lee Mac 发表于 2022-7-6 10:59:02

另一个可能;
 

(defun c:plc ( / ss )
(vl-load-com)
;; © Lee Mac 2010

(if (setq ss (ssget "_:L" '((0 . "LWPOLYLINE") (70 . 0))))
   (
   (lambda ( i / e )
       (while (setq e (ssname ss (setq i (1+ i))))
         (vla-put-Closed (vlax-ename->vla-object e) :vlax-true)
       )
   )
   -1
   )
)

(princ)
)

alanjt 发表于 2022-7-6 11:00:15

Lee,不要忘记用户是否在PLINEGEN变量设置为1的情况下绘制LWLPolyline。对于开放式,70代码将为128。

Tharwat 发表于 2022-7-6 11:05:33

 
李先生,有些修正,在普林斯的所有情况下都很好。。。。。
 
塔瓦特

lpseifert 发表于 2022-7-6 11:06:38

plinegen变量仅影响创建的PLINE
页: [1] 2
查看完整版本: pedit->用一个按钮关闭