是不是捕捉设置有问题啊?(跪谢各位帮忙解决)
本帖最后由 作者 于 2008-7-10 13:37:10 编辑这个LISP是画任意图形的外框架的!为什么任意图形不在所画的外框中间!是不是捕捉设置有问题!我已经调试多次,还是不成功!望有高手出现在!谢谢啦啦! 怎么没有高人出来帮帮我啊! 自己顶自己一下!希望高人可以看见! <p>程序是有问题的。当图元是SPLINE或MTEXT时框会大些。这是CAD的BUG。本论坛已有针对该BUG的解决方案,搜下看看。</p> (defun C:wx()<br/>(vl-load-com)<br/>(command "undo" "be")<br/>(setvar "osmode" 0)<br/>(setvar "cmdecho" 0)<br/>(command "ucs" "w")<br/>(setq n (getdist "\n请输入距离:"))<br/>(princ "\n请选择物体:")<br/>(while(null(setq en (ssget))))<br/>(setq minx0 1e6 miny0 1e6 maxx0 -1e6 maxy0 -1e6)<br/>(setq i 0)<br/>(repeat (sslength en)<br/> (setq end (ssname en i))<br/> (setq end_data (entget end))<br/> (Min_Max)<br/> (setq i(1+ i))<br/>)<br/> (if (= n nil)(setq n 0))<br/> (setq m1x(fix (- minx0 n))<br/> m2x (fix (+ maxx0 n))<br/> m1y (fix (- miny0 n))<br/> m2y (fix (+ maxy0 n))<br/> pmin (list m1x m1y)<br/> pmax (list m2x m2y))<br/>(command ".rectangle" "c" 0 0 pmin pmax)<br/>(command ".fillet" "R" 1 ".fillet" "P" "L")<br/>(command ".trim" "L" "" (POLAR PMAX (* PI -0.75) 0.4142) "")<br/>(setq s1 (entlast))<br/>(command ".line" (polar pmax pi 1) (polar pmax (/ pi -2) 1) "")<br/>(command "pedit" s1 "J" "L" "" "")<br/>(setvar "osmode" 439)<br/>(command "undo" "e")<br/>(princ))<br/><br/>;;;子程序,求选集是大外形坐标<br/>(defun Min_Max()<br/> (vla-getboundingbox(vlax-ename->vla-object end) 'minp 'maxp)<br/> (setq minp (vlax-safearray->list minp)<br/> maxp (vlax-safearray->list maxp))<br/> (setq minx (car minp)<br/> maxx (car maxp)<br/> miny (cadr minp)<br/> maxy (cadr maxp))<br/> (if (> minx0 minx) (setq minx0 minx))<br/> (if (> miny0 miny) (setq miny0 miny))<br/> (if (< maxx0 maxx) (setq maxx0 maxx))<br/> (if (< maxy0 maxy) (setq maxy0 maxy))<br/>)<br/><br/>为什么任意图形不在,所画的边框中间啊!求求各位帮帮心啊!<br/> 自己顶一下!希望高手能够看见! <p>是不是你的坐标系的问题</p><p>用trans函数转换一下</p><p></p>
页:
[1]