思鹰 发表于 2004-8-2 17:29:00

[求助][VBA]关于sendcommond的一些问题

这是小弟的代码:


Sub Example_StartPoint()<BR>                                                                <BR><BR>                                <BR>                       '2.邦定闭合曲线<BR>                       ThisDrawing.Utility.prompt ("_boundary" &amp; Chr(32))<BR>                       'ThisDrawing.SendCommand (Chr(92))<BR>       <BR>                       '3.选中对象,并产生偏移曲线


                       Dim sset As AcadSelectionSet<BR>                       Dim offsetobj As Variant<BR>                       Dim entry As AcadLWPolyline<BR>                       Dim offsetnum As Double<BR>                       <BR>                       '-3.1提示偏移量<BR>                       offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf &amp; "Enter offset values: ")


                       '-3.2提示内、外偏移,并执行偏移<BR>                       Set sset = ThisDrawing.SelectionSets.Add("ss345")<BR>                       sset.SelectOnScreen<BR>                       For Each entry In sset<BR>                                                       offsetobj = entry.Offset(offsetnum)<BR>                                                       offsetobj(0).color = acRed<BR>                       Next entry<BR>End Sub


以上代码执行时,ThisDrawing.Utility.prompt ("_boundary" &amp; Chr(32))<BR>该句代码未完成,就已经进入执行offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf &amp; "Enter offset values: ")


请问要如何解决?

zfbj 发表于 2004-8-2 18:03:00

改成这样试试看:


邦定闭合曲线<BR>                       ThisDrawing.SendCommand "_boundary" &amp; vbCrLf<BR>                       'ThisDrawing.SendCommand (Chr(92))

思鹰 发表于 2004-8-2 18:14:00

还是不行~


在执行BOUNDARY命令时,我还没进行选择内部点,程序就已经跳到执行:offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf &amp; "Enter offset values: ")


这句代码了,造成这点的原因好像是因为SENDCOMMAND发送BOUNDARY命令时


造成了不同步。


大哥,你能不能帮我调试一下程序,谢谢呀

雪山飞狐_lzh 发表于 2004-8-2 22:15:00

Sub tttttttttttt()<BR>a = ThisDrawing.Utility.GetPoint<BR>ThisDrawing.SendCommand "-BOUNDARY" &amp; vbCr &amp; a(0) &amp; "," &amp; a(1) &amp; vbCr &amp; vbCr<BR>MsgBox 1<BR>End Sub<BR>

思鹰 发表于 2004-8-3 08:56:00

谢谢版主~你这种方法实在是太妙了


不过,这样也会带来一个问题,那就是:a = ThisDrawing.Utility.GetPoint<BR>如果选择的这个点是符合BOUNDARY的内部点,则程序通过,反之,若该点不符合


BOUNDARY的内部点时,程序也会像选择正确内部点一样结束,有没有办法判断我们所选择的内部点是符合BOUNDARY要求的呢?


如果符合则提示:BOUNDARY正确完成,如果不符合则继续判断内部点?
页: [1]
查看完整版本: [求助][VBA]关于sendcommond的一些问题