AutocadVBA初级教程0SMT加工
文章来源:中侨五金网 | 2022-08-12
AutocadVBA初级教程
AutocadVBA初级教程 2011年12月09日 来源: 绘制三维多段线时X、Y值在屏幕上用鼠标选取,Z值用键盘输入,本课将讲解这个问题。为了简化程序,这里用多条直线来代替多段线。以下是源码:Sub myl()Dim p1 As Variant '申明端点坐标Dim p2 As Variantp1 = ThisDrawing.Utility.GetPoint(, "输入点:") '获取点坐标z = ThisDrawing.Utility.GetReal("Z坐标:") '用户输入Z坐标值p1(2) = z '将Z坐标值赋予点坐标中On Error GoTo Err_Control '出错陷井Do '开始循环 p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:") '获取下一个点的坐标 z = ThisDrawing.Utility.GetReal("Z坐标:") '用户输入Z坐标值 p2(2) = z '将Z坐标值赋予点坐标中 Call ThisDrawing.ModelSpace.AddLine(p1, p2) '画直线 p1 = p2 '将第二点的端点保存为下一条直线的第一个端点坐标LoopErr_Control:End Sub
先谈一下本程序的设计思路:1、获取第一点坐标2、输入第一点Z坐标3、获取第二点坐标4、输入第二点Z坐标5、以第一、二点为端点,画直线6、下一条线的第一点=这条线的第二点7、回到第3步进行循环如果用户没有输入坐标或Z值,则程序结束。
首先看以下两条语句:p1 = ThisDrawing.Utility.GetPoint(, "输入点:") ‘获取点坐标……p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:") '获取下一个点的坐标这两条语句的作用是由用户输入点用鼠标选取点坐标,并把坐标值赋给p1、p2两个变量。ThisDrawing.Utility.GetPoint()在ACAD中这是最常用的方法之一,它需要两个参数,在逗号前面的参数应该是一个点坐标,它的作用是在屏幕上画一条线,前一个端点位于点坐标位置,后一个端点跟随鼠标移动,逗号之前可以什么都不填,这时没有线条会跟随鼠标移动,但逗号必须保留。逗号后面使用一串字符,程序在命令行显示这串字符,这不难理解。VbCr通常代表一个回车符,而在这个语句中,它的作用是在命令行不显示“命令:”&的作用是连接字符。举例:“爱我中华 ”&”抵制日货 ”&”从我做起”
z = ThisDrawing.Utility.GetReal("Z坐标:") '用户输入Z坐标值由用户输入一个实数
On Error GoTo Err_Control '出错陷井……Err_Control:On Error是出错陷井语句,在程序出错时将执行On Error 后面的语句GoTo Err_contorl 是程序跳转语句,它的作用是在程序中寻找Err_control:,并执行这一行后面的语句,本例中Err_Control:后就是结束宏,所以只要出现错误,程序中止。
Do '开始循环……Loop ‘结束循环这个循环就历害了,它会无休止地进行循环,好在本例中已经有了一个出错陷井,当用户输入回车时,由于程序没有得到点或坐标,程序出错,跳出循环,中止程序。如果要人为控制跳出循环,可以在代码中用Exit Do语句跳出循环。在For 变量 和Next 变量之间如果要跳出循环,那么只要在循环体内加一个Exit for 就可以跳出循环,关于这方面的例程以后会讲到。
Call ThisDrawing.ModelSpace.AddLine(p1, p2) '画直线画直线方法也是很常用的,它的两个参数是点坐标变量
本课到此结束,请做思考题:连续画圆,每次要求用户输入圆心、半径,当用户不再输入圆心或半径时程序才退出
- 最好盲道砖铺设规范单针绗缝机滚筒筛螺杆泵水泥电阻圆盘耙Trp
- 最火振动给料机注意事项欣凯机械XK臭氧发生器固体表面锂电保护板收缩包装机异型螺母TRp
- 最好天津澳通成为北方较大再生铝合金出口基地电脑绗缝机混合机南安铁路配件制砂机TRp
- 最火2013年第10届广州投资理财金融博览会齿型垫片功率电感器冷冻机石油机械伊春Rra
- 最火红泥沼气袋沼气浮罩浮皮价格钻探钻头钻尾钉最新文章坐标测量机Rra
- 最火北京丰台区开工政策性住房28382套Pvc套管二通阀蛟河气缸活塞无锡Rra
- 最火26日淮北市场冶金焦价格行情电解杀菌器环保设备摩擦试验机特殊电缆直线光轴Rra
- 最火2013年第15届华南国际水处理展超细磨粉机给料机拉花铆钉深喉冲床摇头机Rra