NetBee 发表于 2009-9-24 16:06:00

VBA非模式对话框测试:仿天正即时交互功能(功能已经完善)

VBA非模式对话框测试:仿天正即时交互功能


在开始后一命令过程中无法对前一命令进行取消操作,以至于命令嵌套,多来几下就CAD崩溃。
注意:测试时不要打开其他文件,可能随时会CAD崩溃。
就是不知如何解决,不让命令嵌套,直接中断原有GETXXX
Private Sub CommandButton1_Click()
Dim Point() As Double
Dim Radius As Double
Dim lop As Boolean
lop = True''关键是这里如何处理。。。。
'   Cmdv = CAD.GetVal("CMDACTIVE")
' If Cmdv0 Then
'ThisDrawing.SendCommand vbCr
' End If
Do While CAD.GetPoint(vbCrLf & "圆柱获取点:", , Point) = 1
Radius = Val(Dist.Text) / 2
CAD.Addcircle Point, Radius
Loop
Unload Me
End Sub
三楼的程序已经完善了,没有命令嵌套的BUG

**** Hidden Message *****

NetBee 发表于 2018-6-2 10:21:00

目前这个思路我一直在用,AutoCAD的版本更新太夸张,这个不用频繁更新版本,兼容性很好。

雪山飞狐_lzh 发表于 2009-9-25 07:43:00

可以试下这样
循环运行时改变一个变量的值val1,并存储当前绘制的图形形状val2
点击按钮时如果检测到val1,只改变变量val2,不做循环
循环结束恢复变量val1

NetBee 发表于 2009-9-25 22:38:00


终于搞定了,网上翻遍了也没有,真是。。。。。
不多说了,发上来大家看看吧。





CAD学习开发 发表于 2009-9-26 07:48:00

function XML() {
   
}

chpmould 发表于 2009-9-26 11:22:00

Thanks!

wylong 发表于 2009-9-26 12:56:00

下载学习学习

kenny.bao 发表于 2009-9-29 17:00:00

对于你的代码:鼠标在UserForm1上操作时,UserForm1获得焦点;鼠标释放后,UserForm1又失去焦点了啊。跟天正像插入图库时的交互操作很不一样啊,天正是鼠标在CAD和插图块窗口随便切换的。我的VBA代码通过API函数枚举获得窗体(CAD内窗体没hwnd,只能这样),效果跟天正一样。

zz0147 发表于 2009-9-30 20:07:00

看一下
学习了

zz0147 发表于 2009-9-30 20:15:00


http://www.mjtd.com/bbs/skins/Default/topicface/face1.gif
对于你的代码:鼠标在UserForm1上操作时,UserForm1获得焦点;鼠标释放后,UserForm1又失去焦点了啊。跟天正像插入图库时的交互操作很不一样啊,天正是鼠标在CAD和插图块窗口随便切换的。我的VBA代码通过API函数枚举获得窗体(CAD内窗体没hwnd,只能这样),效果跟天正一样。
能详细介绍一下吗
页: [1]
查看完整版本: VBA非模式对话框测试:仿天正即时交互功能(功能已经完善)