欢迎来到天天文库
浏览记录
ID:52564650
大小:26.50 KB
页数:2页
时间:2020-03-28
《excelvba编写初始化cad的代码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、打开EXCELVBA编辑,工具>>>>引用>>>>>把autoCAD2007(我的是2007)引用钩上点确定。然后就定义一些对象变量来连接CAD了具体的如下:Subtext() DimacadAppAsAcadApplication DimacaddocsAsAcadDocuments DimacaddocAsAcadDocument OnErrorResumeNext SetacadApp=GetObject(,"AutoCAD.Application") IfErrThen Err.Clear SetacadApp=Cr
2、eateObject("AutoCAD.Application") IfErrThen MsgBoxErr.Description ExitSub EndIf EndIf ‘上面的意思大概是如果没有创建连接就创建一个连接_如果有一个连接就获得该连接(PS:我也刚学VBA不是太清楚,有错误就原谅下,大家一起来学习!哈哈) Setacaddoc=acadApp.ActiveDocument acadApp.Visible=True 'CAD可见,如没有这句CAD在后台运行,在进程中可以找到 aca
3、dApp.WindowState=acMax '最大化 要在CAD画图的话可以这样: DimlineobjAsAcadLine Setlineobj=acaddoc.ModelSpace.AddLine(Spoint,Epoint) 这是在模型空间中画一条直线,这跟CAD的VBA有一点不一样。以上可以满足楼主的要求吗?有了上面的连接,其他的就像在CAD中的VBA操作了,只是thisdrawing这里变成了acaddoc了,可以利用acaddocs.open来打开一个CAD文件。第一种方法: '创建图层 DimlayerObj1AsAcadLa
4、yer DimlayerObj2AsAcadLayer DimlayerObj3AsAcadLayer SetlayerObj1=acaddoc.Layers.Add("标注") '创建标注图层"标注"为图层名 SetlayerObj2=acaddoc.Layers.Add("地面线") '同上 SetlayerObj3=acaddoc.Layers.Add("网格线") '同上 layerObj1.Color=acRed '设定颜色 layerObj2.Color=acBlue layerObj3.Color=acGreen
5、 layerObj1.Lineweight=acLnWt000 '设定线宽了 layerObj2.Lineweight=acLnWt005 layerObj3.Lineweight=acLnWt009 假设你画了一条直线,用楼上的方法是要定义一个叫lineobj(举个例子)变量,这样只要lineobj直线指定到不同的图层,如: lineobj.layer="标注" 这时这条线就有了图层上的所有属性了。 第二种方法就不要创建图层了(看个人爱好了)直接用: lineobj.Lineweight=acLnWt005 个人推荐第一种方法,这样方便
6、管理和修改,如果仅仅指定一两条线就有第二种吧!不知楼主想编一个什么程序,可以说说你的想法。这样可以提供比较好的建议。呵呵我也才学CAD,如有错误还请指出啊!
此文档下载收益归作者所有