iCAx开思工具箱
标题:
关于UG二次开发中的坐标系问题(毕业设计,急啊)
[打印本页]
作者:
abcd8411
时间:
2005-6-13 11:20
标题:
关于UG二次开发中的坐标系问题(毕业设计,急啊)
时间紧迫,希望大虾们不吝赐教,小妹在次先行谢过了
我使用的是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坐标系的操作命令没有恰当使用。那么要怎么办呢?
作者:
深夜摔键盘
时间:
2005-6-13 19:24
光建坐标系不行。还得坐标转换啊,UF_CSYS_map_point
作者:
DEEPMOON
时间:
2005-6-13 22:07
坐标系不动,移动所有实体吧!
作者:
dasanlang
时间:
2005-6-14 21:03
关于这个坐标问题,好像程序中得到的全是绝对坐标系中的坐标
作者:
wflying
时间:
2005-6-14 22:39
我以前也遇到过这个问题,困扰了好久,后来还是通过移动实体来解决的。哪位大侠知道怎么移动坐标系,请指点一下。
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3