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

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

这是小弟的代码:
Sub Example_StartPoint()
                                                               
                               
                       '2.邦定闭合曲线
                       ThisDrawing.Utility.prompt ("_boundary" & Chr(32))
                       'ThisDrawing.SendCommand (Chr(92))
       
                       '3.选中对象,并产生偏移曲线
                       Dim sset As AcadSelectionSet
                       Dim offsetobj As Variant
                       Dim entry As AcadLWPolyline
                       Dim offsetnum As Double
                       
                       '-3.1提示偏移量
                       offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf & "Enter offset values: ")
                       '-3.2提示内、外偏移,并执行偏移
                       Set sset = ThisDrawing.SelectionSets.Add("ss345")
                       sset.SelectOnScreen
                       For Each entry In sset
                                                       offsetobj = entry.Offset(offsetnum)
                                                       offsetobj(0).color = acRed
                       Next entry
End Sub
以上代码执行时,ThisDrawing.Utility.prompt ("_boundary" & Chr(32))
该句代码未完成,就已经进入执行offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf & "Enter offset values: ")
请问要如何解决?

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

改成这样试试看:
邦定闭合曲线
                       ThisDrawing.SendCommand "_boundary" & vbCrLf
                       'ThisDrawing.SendCommand (Chr(92))

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

还是不行~
在执行BOUNDARY命令时,我还没进行选择内部点,程序就已经跳到执行:offsetnum = ThisDrawing.Utility.GetInteger(vbCrLf & "Enter offset values: ")
这句代码了,造成这点的原因好像是因为SENDCOMMAND发送BOUNDARY命令时
造成了不同步。
大哥,你能不能帮我调试一下程序,谢谢呀

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

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

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

谢谢版主~你这种方法实在是太妙了
不过,这样也会带来一个问题,那就是:a = ThisDrawing.Utility.GetPoint
如果选择的这个点是符合BOUNDARY的内部点,则程序通过,反之,若该点不符合
BOUNDARY的内部点时,程序也会像选择正确内部点一样结束,有没有办法判断我们所选择的内部点是符合BOUNDARY要求的呢?
如果符合则提示:BOUNDARY正确完成,如果不符合则继续判断内部点?
页: [1]
查看完整版本: [求助][VBA]关于sendcommond的一些问题