duhan6401 发表于 2024-3-5 16:48:41

ssget的“f”栏选怎么去掉选择的那根线


[*](setq zpen (car(entsel "\n选择渠道轴线:")))
[*]      (setq zpptlst(mapcar 'cdr (vl-remove-if-not '(lambda(a)(or (= (car a) 11) (= (car a) 10))) (entget zpen))) );建立线段点表
[*]      (setq zpenobj (vlax-ename->vla-object zpen));把纵剖面线转为object
[*]      (setq ss (ssget "f" zpptlst))
[*]这段程序里头我要把选择集里头点选的zpen自身这个图元去掉不知道怎么写了,还请过路的大侠给指导下

ssyfeng 发表于 2024-3-5 17:56:31

把它从选择集中删除不就可以了。
(ssdel zpen ss)

duhan6401 发表于 2024-3-5 22:53:47

谢谢,就是这个

xyp1964 发表于 2024-3-5 23:20:01

(if (and (setq s1 (car (entsel "\n选择渠道轴线: ")))
       (setq ptn (mapcar 'cdr (vl-remove-if-not '(lambda (x) (member (car x) '(10 11))) (entget s1))))
    )
(progn
    (entdel s1)
    (setq ss (ssget "f" ptn))
    (entdel s1)
    ss
)
)

duhan6401 发表于 2024-3-6 08:18:18

好简洁的语句,就没有多余的变量

hubeiwdlue 发表于 2024-3-6 21:24:36

院长代码看着好舒服。
页: [1]
查看完整版本: ssget的“f”栏选怎么去掉选择的那根线