求助:怎样用VBA等分对象?
本帖最后由 作者 于 2005-12-25 21:28:54 编辑 <br /><br /> <P>请教各位高手:在CAD中可以用VBA的方法等分对象吗?就是说一般的CAD应用中的measure或者divide方法在VBA中有对应的方法吗?我找了很久没有找到。如:我用sendcommand方法时:thisdrawing.sendcommand “_measure”后命令行直接提示我在屏幕上选择等分的实体,我如何才能在自己的程序中传入我想要等分的实体而不用屏幕选择的方式呢?</P><P>跪求各位大虾指点!谢谢!</P> <A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=9328" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=9328</A> <P>这个问题涉及到VBA中的实体对象如何传到AutoCAD命令中去。我给你提供一个函数,将VBA中的实体对象作转换后,再利用SendCommand方法。</P>
<P>Public Function VbaEnt2AcadCommEnt(EntObj as AcadEntity) as String</P>
<P> VbaEnt2AcadCommEnt="(handent" & Chr(34) & EntObj.handle & chr(34) & ")"</P>
<P>End Function</P>
<P>在VBA编程中,利用Utility对象的GetEntity方法取得实体对象EntObj,利用此函数转换成能在命令中直接利用的格式SObjEnt</P>
<P>SObjEnt=VbaEnt2AcadCommEnt(EntObj)</P>
<P>再利用内部命令,假设按10个单位测量实体。</P>
<P>ThisDrawing.SendCommand "_measure" & VbCr & SObjEnt & VbCr & "10" & VbCr</P>
<P>OK!</P>
页:
[1]