|
CAXA的参数化,我估计很少有人去碰它吧?一涉及到程序语言,都有点望而却步。而对于较为复杂的仿真来说,要用普通动画来实现,确实比较麻烦,如:同时运动的部件较多、约束加多了就会冲突、步调很难同步等。
下图中有一个重力永动机的实体,想让它动起来,大部分人是让它只旋转30度,加上很多尺寸约束,还要为几个特殊关键路径处加上特有的动画,很难呀,我试好几天,动画的效果都不理想,要不就是约束冲突了,就是不好同步啦,总之很麻烦,我想常做动画仿真的人和我一样有这个烦恼。所以我考虑用参数化是否比较容易解决。
我试了一下简单的参数,可以用:
Sizebox\Width 得到图素包围盒的宽度
Sizebox\Height 得到图素包围盒的高度
因为只要加了锁定的尺寸约束,CAXA会自动为我们提供一个变量用于控制(草图中的智能尺寸不用锁定也会生成变量),如D1,D2,pA1....,我们可以用表达式得到的值来控制约束尺寸大小,竟然成功了,一下子提起了我对参数化的兴趣,看来不难呀,只要能获得值,然后去控制相应的约束就行了。但CAXA对参数化这里介绍的很少,我也只知道这两个方法来获得长度,获得角度的就不知道了,在网上搜,也没人知道。
如果能获得重锤永动机实时的旋转角度,然后再根据转动规律编一些表达式输出控制每个重锤的角度,那岂不是完美动画呀。
以下是我试着用草图投影约束和智能角度尺寸(自动生成了pA1变量)来获得转动角。但得到的值不是动态的,重进草图才会变。
以下是设想中的控制方法。
所以要多搜集些CAXA获得值的常用表达式就好了,希望大家一起讨论挖掘一下CAXA的常用表达式。如:
Sizebox\Width 得到图素包围盒的宽度
Sizebox\Height 得到图素包围盒的高度
有了参数化的方法,我想以后的动画仿真就so easy了。
|
|