AutoCAD利用VBA宏绘制直线

摘要:
使用VBA宏代码绘制直线,可以设置线性、设置直线颜色和操作直线。函数的第一行声明函数定义。首先,在函数体中定义两个双精度实数数组,以存储直线的起点和关键点。创建的用户表单包含六个文本控件,用于分别输入行的起点和关键坐标。最后,使用addline函数将该行添加到图纸空间。使用按钮控件调用上面定义的creatline函数。按钮名称为cmdcreatline。代码如下。

利用VBA宏代码绘制直线,可以设置线性,设置直线颜色,对直线进行操作。

绘制直线主要用到addline函数,该函数接受两个参数,第一个参数指点直线起点startpoint,第二个参数指定直线终点endpoint,新的直线实例被添加到绘图空间。

定义绘制直线的函数creatline,代码如下。

Sub creatline()
Dim startpoint(0 To 2) As Double
Dim endpoint(0 To 2) As Double
startpoint(0) = txtstartpointx
startpoint(1) = txtstartpointy
startpoint(2) = txtstartpointz
endpoint(0) = txtendpointx
endpoint(1) = txtendpointy
endpoint(2) = txtendpointz
With ThisDrawing.ModelSpace
.AddLine startpoint, endpoint
.Item(.Count - 1).Update
End With
End Sub

代码完。

函数第一行声明函数定义,函数体中首先定义两个双精度实数型数组,用来存放直线的起点和重点,创建的用户窗体上包含六个text控件,分别用于用户输入直线的起点重点坐标,最后用addline函数将直线添加到图纸空间。

用一个button按钮控件来调用上面定义的creatline函数,按钮名称命名为cmdcreatline,代码如下。

Private Sub cmddrawline_Click()
creatline
End Sub

代码完。

同时在用户窗体添加的button按钮控件,按钮名称命名为cmdexit,用来退出程序,代码如下。

Private Sub cmdexit_Click()
End
End Sub

代码完。

每一个VBA工程中至少包含一个宏代码,选择插入-模块,添加如下宏代码。

Sub drawline()
frmlineinput.Show
End Sub

调试程序,选择工具-宏,运行刚刚创建的drawline宏,弹出用户窗体,输入起点和终点坐标,单击cmdcreatline按钮,即可在图纸空间看到绘制的直线,单击cmdexit按钮,窗口关闭,程序结束。

免责声明:文章转载自《AutoCAD利用VBA宏绘制直线》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于vue-router中点击浏览器前进后退地址栏路由变了但是页面没跳转设计模式之Builder模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vba遍历指定的文件夹

Sub filelist() Dim MyName, Dic, Did, i, t, F, TT, MyFileName 'On Error Resume Next Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseF...

CAD数据导入Arcgis10.1的依赖关系

这段时间在做基于Arcgis10.1API处理AutoCAD图纸数据并将处理后的数据坐标转换为xml文件,以便于在开发的项目中使用。通过这段时间的开发总结以下问题希望能对童鞋有所帮助: 1、遇到CAD格式的数据有非法的数据时(比如无法正常识别的点、线、面)就不能通过arcgis层面去处理,要在cad本身去做处理通过AutoCAD的相关命令对模型进行处理。...

AutoCAD自动加载DLL文件的方法

让CAD打开以后自动加载DLL文件的步骤如下:      1.找到你CAD目录的安装目录的启动支持文件,例如:C:\Program Files\AutoCAD 2006\Support\acad2006.lsp      2.打开acad2006.lsp文件 ,在最后输入(command "netload" "E:\\PowerSupplyManager\...

VBA在32位下没问题,到64位异常报错

64 位 Visual Basic for Applications 概述Microsoft Visual Basic for Applications (VBA) 是 Microsoft Office 附带的 Visual Basic 版本。在 Microsoft Office 2010 中,VBA 包括可使 VBA 代码同时在 32 位和 64 位环境...

在AutoCAD中生成贝塞尔曲线

贝赛尔曲线的定义  贝塞尔曲线(Bézier curve)是由法国雷诺公司的设计师Pierre Bézier设计。它的具体定义如下:                    其中Pi(i=0,1,2,...n)称作曲线的控制向量,他们组成的连续多段线叫做曲线的控制多边形; t ∈[0,1],即 t 从0连续变化到1时所生成的曲线就叫做贝赛尔曲线。而函数:...

原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板

原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板 一、主要实现以下功能:1、用鼠标选择单元格(可谓连续单元格,也可为不连续的)后,按照要求格式“证件号码:+选定内容+“,”+”选定内容“等等进行合并2、合并后的内容,直接复制到剪切板二、代码示例: SubTestA() Set a = NewDataObject '情况存放合并结果的单...