发布网友 发布时间:2022-05-01 12:15
共3个回答
热心网友 时间:2023-10-11 13:55
如果可以的话请把分给我
以下是cad2007版的,引用autocad 2007 type library 和autocad/objectdbx common 17如果是04或者版本更低的只要引用autocad 2007 type library,代码的话大同小异,思路是一样的
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error Resume Next
Dim acadapp As Autodesk.AutoCAD.Interop.AcadApplication
acadapp = GetObject(vbNullString, "autoCAD.application")
Dim acaddoc As Autodesk.AutoCAD.Interop.AcadDocument
acaddoc = acadapp.ActiveDocument
Dim Ms As Autodesk.AutoCAD.Interop.Common.AcadModelSpace
Ms = acaddoc.ModelSpace
Dim acadObjectI As Autodesk.AutoCAD.Interop.Common.AcadObject
Dim Linei As Autodesk.AutoCAD.Interop.Common.AcadLine
Dim Circlei As Autodesk.AutoCAD.Interop.Common.AcadCircle
Dim Polylinei As Autodesk.AutoCAD.Interop.Common.AcadPolyline
Dim pt As Autodesk.AutoCAD.Interop.Common.AcadPoint
For Each acadObjectI In Ms
Debug.Print(acadObjectI.ObjectName)
Select Case acadObjectI.ObjectName
Case "AcDbLine"
Linei = acadObjectI
Debug.Print("X =" & Linei.StartPoint(0).ToString)
Debug.Print("Y =" & Linei.StartPoint(1).ToString)
Case ""
Case ""
End Select
Next
End Sub
热心网友 时间:2023-10-11 13:55
我只能用VBA,不知道与VB.NET有多少相通之处,VBA实现你所说的功能是并不难。
热心网友 时间:2023-10-11 13:56
我给你一个cmd58网上的源码吧,VB6.0和VB.NET除了新增控件类成员,其他区别不是很大
连接地址:http://www.cmd58.com/Ku_showart.asp?id=2176
热心网友 时间:2023-10-11 13:55
如果可以的话请把分给我
以下是cad2007版的,引用autocad 2007 type library 和autocad/objectdbx common 17如果是04或者版本更低的只要引用autocad 2007 type library,代码的话大同小异,思路是一样的
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error Resume Next
Dim acadapp As Autodesk.AutoCAD.Interop.AcadApplication
acadapp = GetObject(vbNullString, "autoCAD.application")
Dim acaddoc As Autodesk.AutoCAD.Interop.AcadDocument
acaddoc = acadapp.ActiveDocument
Dim Ms As Autodesk.AutoCAD.Interop.Common.AcadModelSpace
Ms = acaddoc.ModelSpace
Dim acadObjectI As Autodesk.AutoCAD.Interop.Common.AcadObject
Dim Linei As Autodesk.AutoCAD.Interop.Common.AcadLine
Dim Circlei As Autodesk.AutoCAD.Interop.Common.AcadCircle
Dim Polylinei As Autodesk.AutoCAD.Interop.Common.AcadPolyline
Dim pt As Autodesk.AutoCAD.Interop.Common.AcadPoint
For Each acadObjectI In Ms
Debug.Print(acadObjectI.ObjectName)
Select Case acadObjectI.ObjectName
Case "AcDbLine"
Linei = acadObjectI
Debug.Print("X =" & Linei.StartPoint(0).ToString)
Debug.Print("Y =" & Linei.StartPoint(1).ToString)
Case ""
Case ""
End Select
Next
End Sub
热心网友 时间:2023-10-11 13:55
我只能用VBA,不知道与VB.NET有多少相通之处,VBA实现你所说的功能是并不难。
热心网友 时间:2023-10-11 13:56
我给你一个cmd58网上的源码吧,VB6.0和VB.NET除了新增控件类成员,其他区别不是很大
连接地址:http://www.cmd58.com/Ku_showart.asp?id=2176