wensent 发表于 2004-6-3 21:35:00

新手紧急求教1!!!!!!!!!

我现在要做一个CAD二次开发的设计,要求达到的效果大致是单击一个按钮,根据输入的不同的参数自动生成一个相应的CAD图形。<BR>VB的部分我已完全做好,现在与CAD的连接我要用VBA作。请问编写相应的VBA程序是在VB中(引用CAD2002的aczd.tlb类型库的前提下)编写,还是在CAD的宏中的VB编辑器之中编写???????


另外,我是新手,希望高手帮忙和交流,我的qq:120664021 ,wensent。请高手留下qq好吗!!!!!我经常看L斑竹在坛上,L斑竹能否告诉我你的QQ,我有问题的话好请教兄弟!!!!!!!!!<BR>谢谢!!!!!!!!!!!

雪山飞狐_lzh 发表于 2004-6-3 21:39:00

在CAD的宏中的VB编辑器之中编写


不过VBA不需与CAD的连接,因为它只能存在于CAD中

wensent 发表于 2004-6-3 21:42:00

那我怎样才能实现要求达到的效果大致是单击一个按钮,根据输入的不同的参数自动生成一个相应的CAD图形??????


前提是CAD没有打开!!!!!<BR>

wensent 发表于 2004-6-3 21:49:00

另外,哪位高手能留下QQ啊!!!!!发贴太慢!!!!!!!


L斑竹留下QQ啊!!!!!!!!!!!

雪山飞狐_lzh 发表于 2004-6-3 21:49:00

VB也不能脱离AutoCad,下面是VB打开并获取AutoCad的Application对象的常用手段



Set AcadApp = GetObject(, "AutoCAD.Application")<BR>If Err Then       Set AcadApp = CreateObject("AutoCAD.Application")<BR>AcadApp.Visible = True<BR>


不过学习这东西最好还是看帮助,有VB的底子学VBA不难

wensent 发表于 2004-6-3 22:04:00

我知道在VB的环境下自动打开一个CAD,可是我在VB的环境下,对一个COMMAND1按钮的程序代码写下:


Private Sub Command1_Click()<BR>Dim acdApp As New AcadApplication<BR>                       acdApp.Visible = True<BR>               <BR>Dim startPoint(0 To 2) As Double, endPoint(0 To 2) As Double<BR>Dim LineObj As AcadLine<BR>startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0<BR>endPoint(0) = 30: endPoint(1) = 20: endPoint(2) = 0<BR>Set LineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)


<BR>End Sub


结果自动生成一个CAD窗口,并报错,大意是Set LineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)是没定义的?????


请问怎没拉???怎样自动打开CAD并画一条线啊!!!!??????

雪山飞狐_lzh 发表于 2004-6-3 22:09:00

ThisDrawing当然未定义


用set ThisDrawing=acdApp.ActiveDocument再调用


Set LineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

wensent 发表于 2004-6-3 22:37:00

谢谢兄弟!!!!搞定了!!!!


恳请兄弟留下qq!!!!!!!!!我还有N个问题,慢慢钻研中,要请教兄弟!!!!!

雪山飞狐_lzh 发表于 2004-6-3 22:42:00

你可以在3626255群里找到我

wensent 发表于 2004-6-3 22:54:00

谢谢兄弟,我已经加了,提出申请,还没有得到回复!!!!
页: [1]
查看完整版本: 新手紧急求教1!!!!!!!!!