QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 2697|回复: 8
收起左侧

[已答复] 关于VBA 3D图像运动的问题

[复制链接]
发表于 2008-10-29 13:17:56 | 显示全部楼层 |阅读模式 来自: 中国陕西西安

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我要用AUTOCAD做一个机箱专配的动画,要求几个被选小零件同时向主零件运动,而且能与主零件点对点组装上,求助VBA的代码,小弟先在这里谢谢各位大大了
发表于 2008-10-29 14:04:09 | 显示全部楼层 来自: 中国辽宁营口
这种动画目前恐怕还没有通用的二次开发程序(包括VBA代码),只能针对具体情况编制。
 楼主| 发表于 2008-10-29 15:13:03 | 显示全部楼层 来自: 中国陕西西安
能大概给出一个比较经典的案例么?我参考一下源代码,主要有几个问题要解决,第一就是选择移动对象的时候变成了整体,无法用点对点来组装;第二,如何让几个零件同时运动$ ]* j3 p1 i7 f) c

8 i5 t4 H4 t7 c0 @! a
6 N" f5 o* t1 X$ D' ?7 G谢谢您在百忙中抽出时间解答,期待您的回复
发表于 2008-10-29 15:19:54 | 显示全部楼层 来自: 中国上海
我也想共享下,呵呵
发表于 2008-10-29 20:40:42 | 显示全部楼层 来自: 中国
参考下这个帖子吧+ b, t6 L  s2 l# m. T, i
用什么方法使曲柄连杆机构转动?
发表于 2008-10-31 10:21:07 | 显示全部楼层 来自: 中国陕西西安
我也把曲柄连杆机构看过了,但是还是对如何编辑几个部件如何同时移动(从不同起始点,到不同重点)7 v. t: K3 L" E2 e' t" u/ x
能否给一些代码,还有如何在VBA里面进行程序的引用
发表于 2008-10-31 13:11:40 | 显示全部楼层 来自: 中国辽宁营口
这是一个可供若干个对象直线运动的动画框架程序。
+ Y5 \0 v5 S, k- W( S  b( S( M1 ~要求:参与动作的对象必须做成块参照
7 R' n1 X" z# ?& E8 h% ^+ e. Z, G使用方法:/ s  w. a# h, V, M& y# b- m! R9 o
一、下载附件并解压,得到“DH.dvb”文件! \  g% k+ u; _; g& Y' F
二、在CAD图形界面把要在动画中移动的图形对象做成块参照3 `1 s5 p' y. k9 y* A5 ]
三、用“VBALOAD”或用“APPLOAD”命令或在“工具”菜单下“宏”子菜单下点击“加载程序”,在弹出的对话框中选择解压得到的“DH.dvb”文件,“打开”(或“加载”)
) f( M# I2 p$ ?$ D& I四、“Alt+F8”或用“VBARUN”命令或“工具”菜单下“宏”子菜单中点击“宏”,在弹出的“宏”对话框选择刚刚加载的宏,点“运行”;也可以用“-VBARUN”命令,在要求输入宏名称时键入“DH”回车
3 z2 c, f( y. b2 ~5 x1 F  ^* P* U五、程序运行后,出现对话框。点“设置运动对象”按钮,对话框被隐藏。在图形界面选择所有准备移动的块参照,确定后被选择的块参照会逐个高亮显示,用鼠标或在命令行分别指定该块参照运动的基点和目标点(指定的基点和目标点不一定要选择块参照的插入点,只是通过指定基点和目标点决定移动的距离和角度,这与“移动”(MOVE)命令的用法有点相似)。如果出现操作错误,可以选择“放弃”选项重做某个步骤。所有对象和点设置完成后重新弹出对话框。
& }; ~" A5 c  B2 p9 |& J3 W    在设置过程中随时可按下“ESC”键退出程序。
7 ~6 K! t( o& q  n3 y    正常完成的设置被保存在文件的图形特性里。点击“文件”菜单下的“图形特性”,在“自定义”选项卡中可以看到。如果文件被保存了,在文件“属性”中也可以看到。
# c! p& Y. s& P- x) g1 A    保存的目的是为了在每次播放动画前不必重新设置。
, N, N2 h" A% i" i% K    每次设置都会覆盖以前保存的设置结果。
7 N  V' s; l0 f六、对话框上的文本框用于输入动作次数,可用于调节动画的速度(当然动画的速度还与块参照的数量、复杂程度及电脑的配置等有关);两个选项按钮用于选择动作模式:1、等速运动。所有块参照动作的速度相同。如果各个块参照指定的运动距离不同,则到达的时间有先有后。2、等时运动。所有块参照动作的用时相同。如果各个块参照指定的运动距离不同,则运动的速度有快有慢。
1 d6 v' v/ M! c: e7 P2 E    动作次数和运动模式设置也同样保存在图形特性中) v8 G& c7 T; {) H* h
七、点“播放动画”按钮,对话框被隐藏。图形界面被设置过的块参照会按照用户的设置运动。所有块参照到达目标点后对话框会重新显示。" O0 A2 A/ o0 g* r# W

4 h" s* Y& |' q6 D    下面的操作是可选的
: S  L* a. P0 G* y一、做好的动画DWG文件在保存之前可以把程序嵌入DWG文件。如果下次打开该文件播放动画,就不必再加载程序,直接按上面步骤四运行程序,点“播放动画”按钮播放动画就可以了。具体方法是:用“VBAMAN”命令或在“工具”菜单的“宏”子菜单下点“VBA管理器”,在弹出的VBA管理器上面的“文件”下拉列表框中选择含有块参照的DWG文件(默认的是当前的活动文档),在下面的“工程”表格中选择本程序,在右面点“嵌入”按钮,DWG文件中就含有本程序了。! n. u2 B! v1 D8 v# t1 J
二、“Alt+F11”或用“VBAIDE”命令可以打开VBA编辑器,可以看到本程序的全部内容。
; p# B9 K5 [- p. c6 D/ f- K' ~9 O- S* @  A- f2 a' c: ^' ]
    由于本程序中使用了用户窗体,在本帖上粘贴代码意义就不大了。喜欢的朋友可以下载附件,加载后在VBA编辑器中研究修改它。

DH.rar

13.95 KB, 下载次数: 25

评分

参与人数 1三维币 +5 收起 理由
唐昕晨 + 5 技术讨论

查看全部评分

发表于 2009-5-16 14:06:09 | 显示全部楼层 来自: 中国内蒙古通辽
我真服了,太有用了,我以为要在CAD动态只能用时钟呢,这个很好
发表于 2009-7-4 14:36:02 | 显示全部楼层 来自: 中国甘肃兰州
很好~斑竹给的东西很好用  要是能连续播放就更好了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表