Gu_xl 发表于 2010-7-21 09:56:00

【Gu_xl】关于在CAD2004中Vla-offset 函数使用的奇怪问题?

本帖最后由 Gu_xl 于 2013-6-11 10:48 编辑 <br /><br /> 在AutoCAD2004下,使用函数 Vla-offset 对多段线 LWPOLYLINE 进行偏移时,命令代码<br/>
<div style="MARGIN-TOP: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px" 20px? 20px="20px" 5px?>
<div class="smallfont" style="MARGIN-BOTTOM: 2px"><font face="宋体,verdana,arial,helvetica">代码:</div><pre class="alt2" style="BORDER-RIGHT: 1px" inset? 1px="1px" BORDER-BOTTOM: 6px; PADDING-TOP: 99%; WIDTH: inset; BORDER-LEFT: auto; OVERFLOW: 0px; MARGIN: PADDING-BOTTOM: PADDING-LEFT: BORDER-TOP: PADDING-RIGHT: 1px?><font style="FONT-SIZE: 10pt" face="宋体,verdana, Airal,Helvetica,Geneva">
(vla-offset (vlax-ename-&gt;vla-object (car (entsel))) 0.1)
</font></pre></font></div>
<div></div><br/>当多段线坐标x、y大于10000时,偏移后,原多段线自动被挪到0,0坐标位置,其他曲线没有此现象,我百思不得其解!在2002版本线又运行正常,不知有那位高人能给指点一二!不胜感谢!</font>

Gu_xl 发表于 2010-7-22 08:48:00

<p>沉了,自己顶一下,这个问题怎么就没人知道呢!</p>

mccad 发表于 2010-7-22 09:27:00

<p>这是BUG。在OFFSET前,先自我复制后,再偏移,再把原对象删除。</p>

Gu_xl 发表于 2010-7-22 09:30:00

哦!谢谢明总!那就没办法喽!有没有解决的办法?还是就只能不用vl-offset命令了?

Gu_xl 发表于 2010-7-22 09:53:00

本帖最后由 Gu_xl 于 2013-3-19 21:23 编辑

终于想到解决办法了,就是自定义一下偏移命令函数


(defun gxl-Offset (obj d / Flag minpoint maxpoint acadver rtn)
(setq acadver (substr (getvar "acadver") 1 2))
(vla-GetBoundingBox obj 'minpoint 'maxpoint)
(setq maxpoint (vlax-safearray->list maxpoint))
(if (or (>= (abs(car maxpoint)) 10000.0)(>= (abs(cadr maxpoint)) 10000.0))
    (setq Flag t)
    )
(cond ((and flag (= "16" acadver) (= (vla-get-ObjectName obj) "AcDbPolyline"))
(vla-move obj minpoint (vlax-3d-point '(0 0 0)))
(setq rtn (VL-CATCH-ALL-APPLY 'vla-Offset(list obj d)))
(if (not (VL-CATCH-ALL-ERROR-P rtn))
    (progn
(vla-move obj (vlax-3d-point '(0 0 0)) minpoint)
(vla-move (vlax-ename->vla-object (entlast)) (vlax-3d-point '(0 0 0)) minpoint)
)
    )
rtn
)
(t
(VL-CATCH-ALL-APPLY 'vla-Offset(list obj d))
)
)
)

yhkk0317 发表于 2011-6-9 01:23:09

受教了.谢谢

yoyoho 发表于 2011-6-9 09:21:12

感谢Gu_xl版主分享程序,学习了!

海盗曹 发表于 2012-5-17 17:31:16

这个bug很困扰人那

xiaxiang 发表于 2012-5-17 17:57:15

感谢,好像是两年前的帖子哦

smartstar 发表于 2012-5-17 18:55:12

向G版主学习。
页: [1] 2 3 4 5 6 7
查看完整版本: 【Gu_xl】关于在CAD2004中Vla-offset 函数使用的奇怪问题?