【求救】关于ADAMS里基于宏命令批量复制、旋转轴的问题
我在做PART批量“复制、旋转、平移”时,遇到这样一个问题:1、在全局坐标系下是合适的。参图1和图2:
http://home.simwe.com/attachment/200909/27/202857_1254013820k62O.jpg
图1
http://home.simwe.com/attachment/200909/27/202857_1254013821KfnH.jpg
图2
2、但,我是想其旋转轴并不是全局坐标的坐标轴,比如下图情况下,如何实现上述效
果?(参图3)
http://home.simwe.com/attachment/200909/27/202857_1254013822BQIq.jpg
附上述简单宏命令:
variable set variable_name=$_self.num integer=2
for variable_name=aaa start=1 end=30
!interface dialog execute dialog=.gui.par_cop undisplay=yes
part copy&
part_name = .model_1.(eval("PART_"//$_self.num))&
new_part_name = .model_1.(eval("PART_"//$_self.num+1))&
&
&
&
&
&
&
!interface dialog undisplay dialog=.gui.par_cop
!interface dialog execute dialog=.gui.mov_rot undisplay=yes
move rotation&
part_name = .model_1.(eval("PART_"//$_self.num+1)) &
&
&
&
&
&
&
&
&
about = yes&
a1 = 0&
a2 = 0&
a3 = 12&
&
&
&
&
!interface dialog undisplay dialog=.gui.mov_rot
!interface dialog execute dialog=.gui.mov_tra undisplay=yes
move translation&
part_name = .model_1.(eval("PART_"//$_self.num+1)) &
&
&
&
&
&
&
&
&
c1 = 0&
c2 = 0&
c3 = 2&
&
&
&
&
!interface dialog undisplay dialog=.gui.mov_tra
variable set variable_name=$_self.num integer=(eval($_self.num+1))
end
variable delete variable_name=$_self.num 或者,能不能在执行“Tools/Command Navigator/move/rotation时”,能设置旋转轴吗?About的yes和no分别代表什么?
我觉得是不是能修改全局坐标系原点,使全局坐标系原点移动到指定的位置,比如图3所示“局部坐标系原点”位置?
拜托了!! marker create marker=.model_1.ground.CS__1 &
location=100.0, 100.0, 0.0 &
orientation=0.0, 0.0, 0.0
marker attributes marker=.model_1.ground.CS__1 visibility=off
move rotation group_name=SELECT_LIST a1=45.0 a2=0.0 a3=0.0 about=yes &
csmarker_name=.model_1.ground.CS__1
marker delete marker =.model_1.ground.CS__1 luckyli你好!感谢你的回复。
你是指建立一个参考点对吧?我试了一下,是可以通过移动对象,用"precision move”将图2用Macro做好的N个part(把N个part先作为一个GROUP)移动到指定点的位置,可以实现我的想法。
谢谢你!
我还在试验通过修改Macro的方法,就是在Rotation时,直接指定一个局部坐标轴的方法,达到这种效果,好像能成功,一会儿试验成功的话,再与大家分享。 试验成功!
就是调整了Rotation部分的宏,加了一个参考。具体的看Macro。
http://home.simwe.com/attachment/200909/27/202857_12540294521kgw.jpg variable set variable_name=$_self.num integer=3
for variable_name=aaa start=1 end=30
!interface dialog execute dialog=.gui.par_cop undisplay=yes
part copy&
part_name = .model_1.(eval("PART_"//$_self.num))&
new_part_name = .model_1.(eval("PART_"//$_self.num+1))&
!interface dialog undisplay dialog=.gui.par_cop
!interface dialog execute dialog=.gui.mov_rot undisplay=yes
!下述为增加了旋转轴,即相对于part_2的ENTITY,也就是"PART_2.CYLINDER_1"
move rotation part = .model_1.(eval("PART_"//$_self.num+1)) &
csentity = .model_1.PART_2.CYLINDER_1 &
a1=0.0 a2=0.0 a3=12 about=yes
!interface dialog undisplay dialog=.gui.mov_rot
!interface dialog execute dialog=.gui.mov_tra undisplay=yes
move translation&
part_name = .model_1.(eval("PART_"//$_self.num+1)) &
c1 = 0&
c2 = 0&
c3 = 2&
!interface dialog undisplay dialog=.gui.mov_tra
variable set variable_name=$_self.num integer=(eval($_self.num+1))
end
variable delete variable_name=$_self.num 嗯,学习了,谢谢分享 TLAB神经网络超级学习手册2本
页:
[1]