设置所有块t的Z位置
代码中有什么错误?我试图将图形中所有块的Z位置值设置为零;(defun c:B0()
(setq myFilter(list (cons 0 "INSERT")))
(setq ss (ssget "_X" myFilter))
(setq l (sslength ss))
(setq i 0)
(Repeat l
(setq blk (ssname ss i))
(setq DXF (entget (car blk)))
(setq IP (cadr (assoc 0 dxf)))
(setq NewIP (subst "0" (caddrIP) IP))
(setq NewDXF (subst NewIP IP DXF))
(entmod NewDXF)
)
)
(defun c:B0()
(setq myFilter (list (cons 0 "INSERT")))
(setq ss (ssget "_X" myFilter))
(setq l (sslength ss))
(setq i 0)
(Repeat l
(setq blk (ssname ss i))
(setq DXF (entget blk))
(setq IP (cdr (assoc 10 dxf)))
(setq NewIP (subst 0.00 (caddr IP) IP))
(setq NewDXF (subst (cons 10 NewIP) (assoc 10 dxf) DXF))
(entmod NewDXF)
(setq i (1+ i))
)
)
变量i保持在0。。。。“0”作为字符串不是实数。。。
除此之外。。。。 试试这个。。。
(defun c:Test (/ ss i sset lst)
(vl-load-com)
(if (setq ss (ssget "_x" '((0 . "INSERT") (410 . "model"))))
(repeat (setq i (sslength ss))
(setq sset (ssname ss (setq i (1- i))))
(setq lst (cons (vlax-ename->vla-object sset) lst))
)
(alert " << No Blocks existed in this drawing >>")
)
(foreach ml '(1e99 -1e99)
(mapcar (function (lambda (x)
(vla-move x
(vlax-3d-point (list 0 0 0))
(vlax-3d-point (list 0 0 ml))
)
)
)
lst
)
)
(princ)
)
Tharwat 谢谢你的评论。。我现在明白了,我应该在重复循环中添加一个(setq I(1+I))。。。!!
谢谢你的密码Tharwat。。。!!与我的代码相比,这是一个非常专业的解决方案。。。!!
快乐快乐。。。。 ....
(1e99 -1e99).....
有趣的 我会这样做:
(defun c:B0 ( / e i p s )
(if (setq s (ssget "_X" '((0 . "INSERT") (-4 . "*,*,<>") (10 0.0 0.0 0.0))))
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i))))
p (assoc 10 e)
)
(entmod (subst (list 10 (cadr p) (caddr p) 0.0) p e))
)
)
(princ)
)
我认为没有必要把所有的东西都移到1e99标高,然后再移回来,只需将标高设置为零 对点值使用(subst)非常危险
(setq ip’(10)
(subst 0(caddr ip)ip)
返回->'(0)
(defun c:iz0 (/ ss en ed in)
(and (setq ss (ssget "X" '((0 . "INSERT"))))
(while (setq en (ssname ss 0))
(setq ed (entget en)
in (cdr (assoc 10 ed)))
(entmod (subst (list 10 (car in) (cadr in) 0.0)
(assoc 10 ed) ed))
(entupd en)
(ssdel en ss)))
(prin1))
我认为更多的过滤是明智的。也许至少应该添加组67和210。
此外,这不会将属性移动到高程0。
-大卫 或Ctrl+1
快速选择
位置Z
谢谢pBe。
为什么不呢?
在客场或其他比赛中,这是否有害或不正确?
塔瓦特
不客气harilalmn。
享受吧,伙计
塔瓦特
页:
[1]
2