1、通过复制来实现的移动 首先要确定坐标系,如果是平移之类的操作,是万万不可在柱坐标系下进行的,因为那根本上改变了结构的形状; csys,0 !设定激活坐标系为总体柱坐标系 nrotat,all !将节点坐标系旋转到激活坐标系,即总体柱坐标系 allsel,all *get,nmax,node,,num,max 先把结构的最大节点号提取出来,因为新生成的节点无论如何是不允许覆盖原来的节点的。 nsel,s,,,1,1000,1 ! 把想复制的节点挑选出来 ngen,2,nmax,all,,,-100/1000,-100/1000,-100/1000 !复制,搞定。
2、 然后再把原来的单元删掉。为了避免混淆新的单元和老的单元,在复制的时候,可以顺便把材料编号或者单元类型都修改一下,这样就方便多了。 旋转 ansys本身并没又提供旋转的功能,这个想实现是比较困难的,有两种方法: 1、把结构从笛卡尔坐标系换到柱坐标系,把所有节点的坐标也都一并转过来,这样原来的x,y,z就变成了r,θ,z,这个时候我们再来移动的话,就可以了,不动r和z,只动θ,这样就等于是旋转角度了。命令如下, allsel,all *get,nmax,node,,num,max csys,1 !设定激活坐标系为总体柱坐标系 nrotat,all !将节点坐标系旋转
3、到激活坐标系,即总体柱坐标系 allsel,all esel,s,type,,3 egen,2,nmax,all,,,,,,,,0,40,0 上面的这些是针对绕z轴旋转的,要是绕其他轴旋转,那么就使用其他的几个坐标系,利用cslist名列出ansys里面所有的坐标系,可见绕z轴旋转的是1号坐标系;绕x轴旋转的是6号坐标系;绕y轴旋转的是5号坐标系;根据需要选择合适的坐标系; list coord. sys. from 0 to 1001 by 1 active coordinate system= 1001 (cartesian)
4、 sing system type center parameters keys 0 0 (cartesian) 0.000 0.000 0.000 1.000 1.000 0 0 1 1 (cylindrical) z 0.000 0.000
5、 0.000 1.000 0.000 0 0 2 2 (spherical) 0.000 0.000 0.000 1.000 1.000 0 0 4 0 (cartesian) 159.580 103.740 77.464 1.000 0.000 0 0 5 1 (cylindrical) y 0.000 0.000 0.000 1.000 0.000 0 0 6 1 (cy
6、lindrical) x 0.000 0.000 0.000 1.000 0.000 0 0 1001 0 (cartesian) 0.000 0.000 0.000 1.000 1.000 0 0 system orientation vectors (x,y,z) 0 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 1 1.00 0.00
7、 0.00 0.00 1.00 0.00 0.00 0.00 1.00 2 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 4 0.00 -0.71 0.71 0.00 -0.71 -0.71 1.00 0.00 0.00 5 1.00 0.00 0.00 0.00 0.00 -1.00 0.00 1.00 0.00 6 0.00 0.00 -1.00 0.00 1.00 0.00
8、 1.00 0.00 0.00 1001 1.00 0.00 0.00 0.00 0.71 0.71 0.00 -0.71 0.71 csys type xc yc zc thxy thyz thzx 1001 0 0.0000 0.0000 0.0000 0.000 45.000 0.000 2、这种方式是新建一个坐标系,这个坐标系是一个local的坐标系,建好后,打开,然后把所有的东西一
9、股脑儿的全部换过去,这样就等于把结构旋转了,命令如下: csys,0 clocal,1001,0,0,0,0,0,45,0 csys,1001 transfer,0,0,all 此外nmodif这个命令应该也是没问题的,应该是最完美的同时可以实现移动和转动的,但是无论如何这个命令都不工作,执行就出错,原因不明。 allsel,all modmsh,nocheck modmsh,detach allsel,all nmodif,all, 0.01,0.01,0.01 3、上面的这几个命令的问题是仅针对单元的旋转,如果这个单元是属于某个体的,就麻烦了,上
10、面的命令不工作,需要新的办法,就是把体一起旋转。 allsel,all !还是先全选 *get,nmax,node,,num,max !找到最大节点编号 csys,0 !回到原始坐标 clocal,1002,1, 11.198 , 13.630 , -45.245,0,0,90 !生成新的坐标系,找到坐标系的圆心,顺便确定新生成的坐标系的角度,这决定了旋转的方向。 csys,1002 !进入新坐标系 nrotat,all !将节点坐标系旋转到激活坐标系,即总体柱坐标系 allsel,all !全选 !选择体 vsel,s,volu,,11 vsel,a,volu,,13 vsel,a,volu,,14 vsel,a,volu,,15 vgen,2,all,,,0,90,0,nmax,0,0 ! 旋转,旋转的角度必须选择dx,dy,dz中的dy! allsel,all eplot,volu 如果出错,可以把 位置移动,角度变化分开来做,






