问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用VB编写CAD绘图插件12

发布网友 发布时间:2023-10-02 06:42

我来回答

1个回答

热心网友 时间:2024-11-30 03:12

操作步骤:
一、创建一个ACTIVEX DLL cadPro工程
二、添加一个模块命名为ModCad.代码如下
Public acadApp As Object
Public acadDoc As Object
(这里建立一个新块主要是为了以后在多个窗体、类或者多个工程中可以调用)
二、添加一个类ClsTest代码如下:

Public Function MenuMain(MenuIndex As Integer)

'下面的判断在VB中测试的时候可以用到,在生成DLL后VBA调用时可注释
If ModCad.acadApp Is Nothing Or ModCad.acadDoc Is Nothing Then

ConnectToAcad
setApp ModCad.acadApp
setDoc ModCad.acadDoc
End If

Select Case MenuIndex
Case 1
AutoCADTest
Case 2

End Select
End Function

Public Function ConnectToAcad()
On Error Resume Next
Set ModCad.acadApp = GetObject(, "AutoCAD.Application.16.2") '16.2是CAD的版本
If Err Then
Err.Clear
Set ModCad.acadApp = CreateObject("AutoCAD.Application.16.2")
End If
If Err Then
Err.Clear
Set ModCad.acadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set ModCad.acadApp = CreateObject("AutoCAD.Application")
End If
If Err Then
Unload Me
End If
End If
ModCad.acadApp.Visible = True
Set ModCad.acadDoc = ModCad.acadApp.ActiveDocument
End Function
Public Function setApps(acadObj As AcadApplication)
Set ModCad.acadApp = acadObj
Set ModCad.acadDoc = acadApp.ActiveDocument
End Function
'VB中要在CAD中实现的功能
Private Function AutoCADTest()
Dim cadLine As AcadLine
Dim cadPoint As Variant

cadPoint = ModCad.acadDoc.Utility.GetPoint(, "请选取一个插入点:")

ModCad.acadDoc.ModelSpace.AddCircle cadPoint, 5
End Function
三、如果要在VB中调试,在添加一个EXE工程,引用ACTIVEX工程,添加一个窗体,在窗体上添加一个按钮,

Private Sub Command1_Click()
Dim Rec As New cadPro.MenuMain

Rec.MenuMain 1

End Sub

四、生成DLL文件在VBA中调用。
在工具----设定引用项目中加入生成的DLL。代码如下:
Option Explicit
Private clsGre As New cadPro.ClsTest
Public Sub cadtest()
On Error Resume Next
clsGre.setApp ThisDrawing.Application
clsGre.MenuMain 1
End Sub

按照以上四个步骤就可实现VB与AutoCAD的连接。
以上程序在本机测试通过。
OS:winxp sp2 cht
AuotCAD Version:AutoCAD 2006
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
早孕验血报告单怎么看 测试早孕的方法 联想电脑退货注意什么 公务员裸眼视力必须0.3吗 山东农业大学机电学院科研成果 山东农业大学机械与电子工程学院实验研究 山东农业大学机电工程学院有哪些重点实验室和研究中心? 复发性无菌性脑膜炎的诊断 电子简历自我评价 电子信息技术专业个人简历自我评价 楚留香手游9月7日更新公告 天机阁指点江山功能开放-手游资讯-安族网 学籍与档案里的名字和身份证同音不同字,这对高考有什么影响,该...3 谁能帮我编一段用VB对CAD进行二次开发的程序代码啊27 用vb.net编写cad二次开发的程序,用鼠标框选CAD图的... 肝气不足会影响心情吗 220v一个小时多少度电费 手机丢了怎么冻结 索尼相机RX100M6 能拍视频吗? 索尼相机RX100M6的拍摄表现怎么样? 索尼相机RX100M6拍出的照片质量怎么样? 微信订阅号怎么关闭? 经常觉得浑身没劲请问吃什么东西或者喝什 奥迪A6L 2.0T要省油些,还是2.4和2.8哪种最省油?16 地基的强度实际上是什么 什么是柔性钢管6 丙烯酸与醋酸乙烯能混合吗 请问医生输液时绑胳膊的那种橡胶管子学名叫什么啊? 铁皮波纹管的材质有哪些 里面是一条铝管外面是用塑胶包裹的管子叫什么管 索尼RX100M6的镜头采用了什么技术? 索尼RX100M6的防抖效果如何? 有人了解索尼相机RX100M6吗? 切割钢管用什么切割机?8 ...电压、功率为60瓦,请问在220伏电压下,功率是多少,电表1小时耗多少度... 管道切割工具有哪些,以及他们的使用方法?8 什么锯子切钢管最好9 不锈钢管用什么切割最好用?3 钢管切割 哪种方法省钱8 管道切割工具有哪些,以及他们的使用方法?12 《纯真年代》txt全集下载10 薄壁钢管用什么机器切割没有毛刺2 这张图片有什么象征意义?1 切方管用什么切割机5 绿色代表(象征)着什么?679 重庆江北机场汽车站有到梁平的的车吗 最晚是好久的 有时刻表么 肝气郁结能自愈吗23 肝气郁结可以治好吗300 我为什么想读博士90 现在去英国留学,雅思必须考UKVI吗?45 《水龙吟》的原文及译文? 童真年代的txt全集下载地址4