- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB对AutoCAD的二次开【DOC精选】
实验 VB对AutoCAD的二次开发
实验目的
了解CAD二次开发的几种形式,掌握VB对AutoCAD进行二次开发,实现参数化绘图的技巧。
实验要求
了解AutoCAD二次开发的基本原理
掌握运用VB开发界面的方法
掌握运用VB调用AutoCAD库函数,完成相关功能的方法
实验步骤
建立AutoCAD和VB之间的连接
启动VB,建立“标准exe”程序,选择菜单“工程”——“引用”,选择“AutoCAD 2004 Type Library”。
创建界面
程序编码
定义全局变量
Dim AcadApp As AcadApplication AutoCAD应用程序变量
Dim AcadDoc As AcadDocument AutoCAD文档变量
引用AutoCAD应用程序
Private Sub Command1_Click()
On Error Resume Next
If Err Then
Err.Clear
End If
Set AcadApp = New AcadApplication
If Err Then
MsgBox Err.Description
Exit Sub
End If
设置AutoCAD应用程序参数
AcadApp.WindowTop = 0
AcadApp.WindowLeft = 400
AcadApp.Width = 600
AcadApp.Height = 800
AcadApp.Visible = True
AcadApp.Documents.Add
Set AcadDoc = AcadApp.ActiveDocument
AcadDoc.WindowState = acMax
Command4.Enabled = True
End Sub
参数化绘图
Private Sub Command4_Click()
设置新图层
Dim layer1 As AcadLayer
Dim layer2 As AcadLayer
Set layer0 = AcadApp.ActiveDocument.Layers.Item(0)
Set layer1 = AcadApp.ActiveDocument.Layers.Add(粗实线层)
Set layer2 = AcadApp.ActiveDocument.Layers.Add(中心线层)
layer1.Lineweight = acLnWt080 粗实线的线宽
layer1.Color = acWhite
layer2.Color = acRed
AcadDoc.Linetypes.Load centerx2, acad.lin
layer2.Linetype = centerx2
输入原始参数
Dim Center(0 To 2) As Double
Dim Vert(0 To 7) As Double
Dim L04 As Double
Dim L01 As Double
Dim b As Double
Dim r As Double
b = Val(Text2.Text): r = Val(Text1.Text) / 2: L01 = r - Val(Text3.Text)
L04 = Sqr(r * r - (b / 2) ^ 2)
Center(0) = 100: Center(1) = 100: Center(2) = 0
画中心线
AcadDoc.ActiveLayer = layer2
Dim line1 As AcadLine
Dim line2 As AcadLine
定义两直线的端点
Dim pl1s(0 To 2) As Double
Dim pl1e(0 To 2) As Double
Dim pl2s(0 To 2) As Double
Dim pl2e(0 To 2) As Double
pl1s(0) = Center(0) - r - 1.5: pl1s(1) = Center(1): pl1s(2) = 0
pl1e(0) = Center(0) + r + 1.5: pl1e(1) = Center(1): pl1e(2) = 0
pl2s(0) = Center(0): pl2s(1) = Center(1) + r + 1.5: pl2s(2) = 0
pl2e(0) = Center(0): pl2e(1) = Center(1) - r - 1.5: pl2e(2) = 0
Set line1 = AcadDoc.ModelSpace.AddLine(pl1s, pl1e)
Set line2 = AcadDoc.ModelSpace.AddL
您可能关注的文档
- Unit.Do you have a ball【DOC精选】.doc
- Unit-translation 【DOC精选】.doc
- unit.【DOC精选】.doc
- Unit5 Do you have a soccer ball导学案【DOC精选】.doc
- unit9 when was he born【DOC精选】.doc
- Unit9When was he born导学案【DOC精选】.doc
- Unit9_When_was_he_born【DOC精选】.doc
- unit9_when was he born?_第一课时【DOC精选】.doc
- UnitA My parent is Braggart of the Month at【DOC精选】.doc
- UnitDmhomes【DOC精选】.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
文档评论(0)