教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

Autocad VBA初级教程(8)

来源:网络收集 时间:2026-08-22
导读: motimes = 3000 4E*N4v#x*Q'?1y'iwww.askcad.com8y:B\www.askcad.com*N5N/G.~ E$f8X7O0g movx = (p1(0) - p0(0)) / motimes movy = (p1(1) - p0(1)) / motimes For i = 1 To motimes pe(0) = pc(0) + movx pe(1) =

motimes = 3000

4E*N4v#x*Q'?1y'iwww.askcad.com8y:B\www.askcad.com*N5N/G.~ E$f8X7O0g

movx = (p1(0) - p0(0)) / motimes movy = (p1(1) - p0(1)) / motimes For i = 1 To motimes pe(0) = pc(0) + movx pe(1) = pc(1) + movy getobj.Move pc, pe '移动一段 getobj.Update '更新对象 Next

(askcad.com),为工程师增加动力.W:B7b0P$?3o(E3p'h5M

End Sub

先让用户选择移动的对象、起点、终点,motimes动画是设置动画帧数,这个例程是让对象移动3000小段,movx和movy是每一段移动的距离,然后进行一个3000次的循环,每一次循环移动一小段距离。

看第二个例题:做一个小轮子在一条山坡上运动的动画,山坡为正弦曲线。请注意,应该用偏移法获得轮圆心的轨迹才是正确的。编程思路:先画好圆和横轴,然后画山坡,偏移获得移动轨迹线,放到隐藏图层中,然后根据轨迹线移动圆和轴,在移动之前先旋转轴线。

(askcad.com),为工程师增加动力0G5i,V!h9g\旋转方法:object. rotate 基点,角度 偏移方法: object.offset(偏移量)Sub moveball()

www.askcad.com2o3F5g d.~*o0@ W%V(askcad.com),为工程师增加动力4p7}(D;M!h7F/t

9N/m6t$h#s;ADim ccball As Variant '圆 Dim ccline As Variant '圆轴

(askcad.com),为工程师增加动力,E1g$K:P$\\9_ ]7D+?

Dim cclinep1(0 To 2) As Double '圆轴端点1

Dim cclinep2(0 To 2) As Double '圆轴端点2 Dim cc(0 To 2) As Double '圆心 Dim hill As Variant '山坡线

Dim moveline As Variant '移动轨迹线Dim vpoints As Variant '轨迹点

Dim movep(0 To 2) As Double '移动目标点坐标

www.askcad.com/v1d M5w1~9S2u9](askcad.com),为工程师增加动力'p%M0^'o-j;H*^)] K

Dim lay1 As AcadLayer '放轨迹线的隐藏图层

cclinep1(0) = -0.1: cclinep2(0) = 0.1 '定义圆轴坐标

Set ccline = ThisDrawing.ModelSpace.AddLine(cclinep1, cclinep2) '画直线Dim p(0 To 719) As Double '申明正弦线顶点坐标 For i = 0 To 718 Step 2 '开始画多段线 p(i) = i * 3.1415926535897 / 360 '横坐标 p(i + 1) = Sin(p(i)) '纵坐标 Next i

Set hill = ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '画正弦线即山坡曲线hill.Update '显示山坡线

(askcad.com是国内最专业发展最快的utoCA设计讨论基地论坛云集高手提供CAD的教程练习考试软件下载教程下载基础培训等一体化解决方案并推出Pro/Engineer,Unigraphics,SolidWorks相关讨论专区我们的口号:CAD设计论坛为工程师增加动力请记住我们的网址:askcad.com*u4y:w2[8h;U,`(askcad.com),为工程师增加动力X*r9n2B)h-Q7E9A/[&q:A7g6G8G3u-K(wSet ccball = ThisDrawing.ModelSpace.AddCircle(cc, 0.1) '画半径为0.1的圆

CAD设计论坛#A8O%]4n7K\

moveline = hill.Offset(-0.1) '球心运动轨迹线 vpoints = moveline(0).Coordinates '获得规迹点

Set lay1 = ThisDrawing.Layers.Add(\创建名为\的图层 lay1.LayerOn = False '关闭图层

moveline(0).Layer = \将轨迹线放到关闭的图层中ZoomExtents '显示整个图形

For i = 0 To UBound(vpoints) - 1 Step 2 movep(0) = vpoints(i) '计算移动的轨迹 movep(1) = vpoints(i + 1) ccline.Rotate cc, 0.05 '旋转直线 ccline.Move cc, movep '移动直线ccball.Move cc, movep '移动圆

(^ {$y5|!D7])G7Owww.askcad.com\3]2Q/d+^8pêD设计论坛:E\4V

cc(0) = movep(0) '把当前位置作为下次移动的起点 cc(1) = movep(1)j = j * 1 Next j

www.askcad.com2M4X;g#U2Y.I7s2Q6a;CAD设计论坛(s/\\\8f0i1N

For j = 1 To 50000 '这次循环的目的是让小球移动得慢一点,循环量应根据自已的电脑速度设置

(askcad.com),为工程师增加动力5A9\\\9P,O(cccline.Update '更新Next i End Sub自定

(askcad.com)是国内最专业发展最快的utoCA设计讨论基地论坛云集高手提供CA的教程练习考试软件下载教程下载基础培训等一体化解决方案并推出Pro/Engineer,Unigraphics,SolidWorks相关讨论专区我们的口号:CAD设计论坛为工程师增加动力请记住我们的网址:askcad.com+l\M;U*U6r6c8S2v,r1Z 本课结束,请做思考题:在一条直线上画两个同样大小的圆,然后让这两个圆沿直线相向而行,到互换位置后停下来,尺寸

Autocad VBA初级教程 (第十二课:参数化设计基础)

简单地讲,参数化设计就是根据参数进行精确绘图,绘图所需要的参数也可以由用户手工输入。真正的参数化设计往往需要数据库操作,为了简化程序,把数据库部分放在以后的课程中详细讲解。

本课的例程是画一个标准足球场。足球场长度90~120米,宽度45~90米,而红色标注的尺寸是程序默认的,绿色标注固定不变。

…… 此处隐藏:380字,全部文档内容请下载后查看。喜欢就下载吧 ……
Autocad VBA初级教程(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595527.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)