我用VB对AutoCAD进行二次开发,想实现“复制,镜像,旋转”等命令,运行后总出现“要求对象”的424错误
PrivateSubCommand4_Click()retval=object.CopyEndSub这个object怎么选取的?...
Private Sub Command4_Click()
retval = object.Copy
End Sub
这个object怎么选取的? 展开
retval = object.Copy
End Sub
这个object怎么选取的? 展开
1个回答
展开全部
你要进行操作的对象是什么呀
需要先进行选取
同VBA的方法一样
Dim sset As AcadSelectionSet
Dim Entry As AcadEntity
Set sset = ThisDrawing.SelectionSets.Add("DimNoDelcAllx1")
sset.SelectOnScreen
For Each Entry In sset
entry.copy
next
VB需要改下Thisdrawing
需要先进行选取
同VBA的方法一样
Dim sset As AcadSelectionSet
Dim Entry As AcadEntity
Set sset = ThisDrawing.SelectionSets.Add("DimNoDelcAllx1")
sset.SelectOnScreen
For Each Entry In sset
entry.copy
next
VB需要改下Thisdrawing
追问
非常感谢你的回答,我是刚学不久的新手。我还想问下,在VB中这个Thisdrawing要怎么改?是CAD绘图窗口的名字么?麻烦举个实例!还有这句Set sset = ThisDrawing.SelectionSets.Add("DimNoDelcAllx1")
括号中的DimNoDelcAllx1是什么意思?
麻烦了,再次感谢您!
追答
确定引用CAd了,需要增加
Dim acadApp As AcadApplication
Dim acadDoc as AcadDocument
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
If Err Then End
End If
然后把ThisDrawing改为acadApp.acadDoc
DimNoDelcAllx1没什么意思,随便例的,增加一个选集,选集的名字是"DimNoDelcAllx1"
用完在Next后面再将seet删掉,不然第二次会出错
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询