马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
时间紧迫,希望大虾们不吝赐教,小妹在次先行谢过了
我使用的是vc++环境进行开发。
是这样的,有一个实体,比如正方体100*100*100,在我创建它时,一个角点位于坐标系原点。后来我利用命令获取了它的质心坐标为(50,50,50)。想将当前的坐标系原点移动到正方体的质心处即原来的(50,50,50)处。我调用了以下命令:
tag_t wcs_id;
tag_t csys_tag; //id和tag这两个有何不同?
double origin[3]; //定义坐标系原点
UF_CSYS_ask_wcs([$wcs_id)] //查询当前坐标系标识
//wcs_id=csys_tag;
for(i=0;i<3;i++)
{
origin=center_of_mass;/*将质心坐标(前已正确得出为(50,50,50))赋给坐标原点*/
}
UF_CSYS_set_origin(wcs_id,origin); //设置当前工作坐标系原点为origin
经过这些操作后,在实体的界面上会出现两个坐标系。一个位于质心的应该是我后来设定的工作坐标系。还有一个坐标系(三种颜色)依然位于原来的角点处。此后我再利用查询质心坐标的命令:
UF_WEIGHT_estab_part_props (blk_obj, 0.99999,false,units,[$properties,&exceptions)]
UF_WEIGHT_ask_props(blk_obj,units,[$properties)]
center_of_mass[0]=properties.center_of_mass[0];
查质心坐标时,它的坐标依然是(50,50,50)
而我想要做的是令质心在我移动后的坐标系中计算。即质心坐标应该为(0,0,0)
在ug用户界面下我可以进行同样的操作。在建模模式下,选菜单中的坐标系,然后将坐标原点移动增量定为50,50,50。确定后,那个三色的坐标系就跑到质心去了。
然后我利用菜单里,分析中的质量特性,查询实体的质心坐标,此时就可以变为(0,0,0)了。
我不知道究竟怎么回事。肯定是对UG坐标系的操作命令没有恰当使用。那么要怎么办呢? |