求助
点击Command1,启动cad,并获取鼠标在cad中点击第一点的坐标值,x坐标值显示在TEXT1中,Y坐标值显示在TEXT2中。
代码应该怎样写呢?谢谢了。
1 点击Command1,启动cad,看这里:http://bbs.mjtd.com/thread-111783-1-1.html
2 获取鼠标在cad中点击第一点的坐标值:
Dim pt As Variant
pt = ThisDrawing.Utility.GetPoint(, "请指定一点:")
3 x坐标值显示在TEXT1中,Y坐标值显示在TEXT2中:
text1.text=pt(0)
text2.text=pt(1) zzyong00 发表于 2015-12-20 20:28 static/image/common/back.gif
1 点击Command1,启动cad,看这里:http://bbs.mjtd.com/thread-111783-1-1.html
2 获取鼠标在cad中点击第一 ...
运行至"pt=ThisDrawing.Utility.GetPoint(, "请指定一点:")"的时候,CAD没有反应。 zzyong00 发表于 2015-12-20 20:28 static/image/common/back.gif
1 点击Command1,启动cad,看这里:http://bbs.mjtd.com/thread-111783-1-1.html
2 获取鼠标在cad中点击第一 ...
zzyong00 发表于 2015-12-20 20:28 static/image/common/back.gif
1 点击Command1,启动cad,看这里:http://bbs.mjtd.com/thread-111783-1-1.html
2 获取鼠标在cad中点击第一 ...
我把"ThisDrawing"改为"acadapp.activeDocument "就可以了。不过不懂原理,请老师讲解下,或者该看什么帮助?
Dim AcadApp As AcadApplication
Private Sub Form_Load()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set AcadApp = CreateObject("AutoCAD.Application")
If Err Then
MsgBox ("不能运行AutoCAD ,请检查是够安装了AutoCAD")
Exit Sub
End If
End If
AcadApp.Visible = True
End Sub
Private Sub Command1_Click()
Dim pt As Variant
pt = AcadApp.activeDocument.Utility.GetPoint(, "请指定一点:")
'x坐标值显示在TEXT1中,Y坐标值显示在TEXT2中:
Text1.Text = pt(0)
Text2.Text = pt(1)
zoomall
End Sub
取点的时候要激活acad的某个文件 mikewolf2k 发表于 2015-12-22 10:50 static/image/common/back.gif
取点的时候要激活acad的某个文件
"ThisDrawing"与"AcadApp.activeDocument"具体激活,还是没激活,怎么激活能帮忙讲一下,或者该看啥帮助文档吗? thisdrawing只是程序运行时间所处的文件。activedocument是当前激活的文件。
如果就是在acad界面上执行程序,thisdrawing=activedocument,二者无区别。
明显你是执行了自定义窗口,当前系统激活的窗口已经不是acad而是你的程序了,你应该先最小化自己的窗口,激活acad,选点,然后再激活自己的窗口,这样才能顺利完成点击自己程序-->acad取点-->返回的操作。 mikewolf2k 发表于 2015-12-22 11:30 static/image/common/back.gif
thisdrawing只是程序运行时间所处的文件。activedocument是当前激活的文件。
如果就是在acad界面上执行程序 ...
谢谢,现在清晰多了。 如果你有耐心,好好看看http://bbs.mjtd.com/thread-111783-1-1.html
Public Function ThisDrawing() As AcadDocument
If Not (objCad Is Nothing) Then Set ThisDrawing = objCad.ActiveDocument
End Function
以上函数,使得vb6与VBA代码通用!!!
AppActivate objCad.Caption
这条语句,可以在取点的时候要激活acad当前的document
这句放在 pt=ThisDrawing.Utility.GetPoint(, "请指定一点:")前面!
页:
[1]
2