donghuidong2003
发表于 2014-5-9 12:47:02
上传一个测试图,图纸平面图看没问题,换成三维空间看,一团糟;有些是块中的,有些又不是块的,就像画的三维的一样,归零相当难,做完这图,归不了零,我当时就把这图丢了的,重新做一遍,苦恼。上面几个归零的都解决不了,是否能实现块中的一起归零?
xyp1964
发表于 2014-5-9 13:21:04
本帖最后由 xyp1964 于 2014-5-9 13:37 编辑
;; 这个实例有意思,确实有没能归零的实体,待研究。
里面的有的尺寸是关联的;region还没能处理
xyp1964
发表于 2014-5-9 13:56:04
;; region实体
(if (and (xyp-etype ename "region")
(/= (caddr (setq pt (xyp-9pt ename 1))) 0)
)
(xyp-move ename pt (xyp-3d2d pt))
)
xyp1964
发表于 2014-5-9 22:19:03
本帖最后由 xyp1964 于 2014-5-9 22:20 编辑
((xyp-etype s1 "DIMENSION") ;尺寸标注取消关联
(if (= (vla-get-hasextensiondictionary (vlax-ename->vla-object s1)) :vlax-true)
(command "DIMDISASSOCIATE" s1 "")))
wudechao
发表于 2014-5-10 00:06:20
院长的都是好东西,
linjian257
发表于 2014-5-10 10:25:45
过来学习,学习!
freehand8008
发表于 2014-5-10 11:24:00
本帖最后由 freehand8008 于 2014-5-10 11:25 编辑
顶院长!
俺有个Z0,实体拉伸都能归零(别人写的,发给大家看看)
(defun C:Z0 ( / SS1)
(setvar "cmdecho" 0)
(if (setq SS1 (ssget))
(progn
(command ".undo" "be")
(princ "\n正在处理图形数据,请稍候...")
(terpri)
(command ".ucs" "w")
(command ".move" SS1 "" '(0 0 1e99) "" ".move" "p" "" '(0 0 -1e99) "")
(princ "\nOK,已将所选图元Z坐标值全部归零。")
(command ".undo" "e")
);end progn
);end (if (/= SS1 nil)
(princ)
);end (defun C:Z=0 ( / SS1)
donghuidong2003
发表于 2014-5-10 12:19:18
多谢院长的l图纸测试,这个图的确很顽固,期待解决中……
freehand8008
发表于 2014-5-10 12:55:56
donghuidong2003 发表于 2014-5-9 12:47 static/image/common/back.gif
上传一个测试图,图纸平面图看没问题,换成三维空间看,一团糟;有些是块中的,有些又不是块的,就像画的三维 ...
对待垃圾人做的垃圾图纸,只能X炸碎Z0
donghuidong2003
发表于 2014-5-10 13:08:36
大哥,不要出口伤人呀,谁都不能保证自己做的图能一马平川,而且现在好多工程都是奇形怪状的,都是从其它三维软件上导入到CAD图中的。块与线段都是空间的,能说别人写三维的人是垃圾吗,既然有这个归零的程序,而且还这么多,就说明不只是某一个人能做出这样不共面的图出来,哪天自己遇到了,就会感觉用处之大了,积得口德吧,大家都是学习,学习,再学习中的