如题:
(if (setq ss (ssget '((0 . "3DFACE"))))
(foreach en (yq_ss2lst ss)
(setq ent (entget en))
(setq en1 (vl-remove-if-not '(lambda (x) (member (car x) '(10 11 12 13))) ent))
(setq en2 (vl-remove-if '(lambda (x) (member (car x) '(10 11 12 13))) ent))
(setq en1 (mapcar '(lambda (x) (subst 0 (last x) x)) en1))
(setq ent (append en2 en1))
(entmod ent)
)
)
这个运行起来比较卡.请问下还有更简化或是运行起来更快的方法吗?请指点!
网友答: 本帖最后由 自贡黄明儒 于 2025-12-11 14:38 编辑
从en1 到ent,本来只要一句,你写了4句。会不会是这个原因?
(setq ent (mapcar (function (lambda (x) (if (member (car x) '(10 11 12 13)) (list (car x)(cadr x) (caddr x)) x))) ent))
网友答: 谢谢大神!学习了!网友答: 本帖最后由 qifeifei 于 2025-12-11 16:08 编辑
试试看
网友答: ***工具箱等好些工具都有 z轴归零 的功能
(if (setq ss (ssget '((0 . "3DFACE"))))
(foreach en (yq_ss2lst ss)
(setq ent (entget en))
(setq en1 (vl-remove-if-not '(lambda (x) (member (car x) '(10 11 12 13))) ent))
(setq en2 (vl-remove-if '(lambda (x) (member (car x) '(10 11 12 13))) ent))
(setq en1 (mapcar '(lambda (x) (subst 0 (last x) x)) en1))
(setq ent (append en2 en1))
(entmod ent)
)
)
这个运行起来比较卡.请问下还有更简化或是运行起来更快的方法吗?请指点!
网友答: 本帖最后由 自贡黄明儒 于 2025-12-11 14:38 编辑
从en1 到ent,本来只要一句,你写了4句。会不会是这个原因?
(setq ent (mapcar (function (lambda (x) (if (member (car x) '(10 11 12 13)) (list (car x)(cadr x) (caddr x)) x))) ent))
网友答: 谢谢大神!学习了!网友答: 本帖最后由 qifeifei 于 2025-12-11 16:08 编辑

- (if (setq ss (ssget '((0 . "3DFACE"))))
- (foreach en (yq_ss2lst ss)
- (entmod
- (mapcar '(lambda (x)
- (if (member (car x) '(10 11 12 13))
- (list (car x) (cadr x) (caddr x) 0)
- x))
- (entget en)))))
网友答: ***工具箱等好些工具都有 z轴归零 的功能