iCAx开思工具箱
标题:
【求助】原程序!
[打印本页]
作者:
wflying
时间:
2004-9-7 11:30
标题:
【求助】原程序!
我创建了一个圆柱体,然后想在圆柱体上打bore孔,发现没有打上!请指点!!
UF_MODL_create_cyl1 (UF_NULLSIGN , origin1, h1, d1, direction1, [$cyl_obj_id4)]
UF_MODL_ask_feat_body (cyl_obj_id4, [$bd4)]
UF_MODL_ask_body_faces (bd4, [$list)]
UF_MODL_ask_list_count(list,[$num)]
///////////////////得到上表面
for (i=0; i<num; i++)
{
UF_MODL_ask_list_item(list,i,[$face)]
UF_MODL_ask_face_data(face,&type,point,
dir,box,[$radius,&rad,&sen)]
if (fabs(dir[2]-1.0)< 10e-7)
{
faces=face;
direction2[0]=dir[0];
direction2[1]=dir[1];
direction2[2]=dir[2];
break;
}
}
///////////////////得到下表面
for (i=0; i<num; i++)
{
UF_MODL_ask_list_item(list,i,[$face)]
UF_MODL_ask_face_data(face,&type,point,
dir,box,[$radius,&rad,&sen)]
if (fabs(dir[2]+1.0)< 10e-7)
{
facex=face;
origin2[0]=0;
origin2[1]=0;
origin2[2]=point[2];
}
}
UF_MODL_delete_list([$list)]
/////////
UF_MODL_create_c_bore_hole (origin2,direction2, "10.0","5","8.0","10.0","118.0",
facex,faces,[$feature_obj_id)]
作者:
csftiger
时间:
2004-9-7 12:38
你通过UF_MODL_ask_face_data得到dir直接判断上下表面是错误的,因为圆柱体的Cylinder面的Dir也是Vector(0, 0, 1)。所以你应先判断face的Type是不是Plane面,然后再判断face的direction。
作者:
wflying
时间:
2004-9-7 15:30
好像还是不行,不知道到底错在哪里?好急呀!
作者:
wflying
时间:
2004-9-7 15:42
应该是UF_MODL_create_c_bore_hole (origin2,direction2, "10.0","5","8.0","10.0","118.0",
facex,faces,[$feature_obj_id)]
有错,不知道里边的参数怎么错了!我创建一个圆柱体是可以的!请指点!!
作者:
csftiger
时间:
2004-9-7 15:48
查一下facex, faces的type, 如果值是22, 说明是UF_MODL_create_c_bore_hole 的参数问题
作者:
wflying
时间:
2004-9-7 16:15
csftiger,我已经查过他们的类型了,值是22.y应该是UF_MODL_create_c_bore_hole 的问题
作者:
csftiger
时间:
2004-9-7 16:36
UF_MODL_create_c_bore_hole (origin2,direction2, "8.0","5","10.0","10.0","118.0",
facex,faces,[$feature_obj_id)]
参数如上设置,问题应该解决了
作者:
wflying
时间:
2004-9-7 16:51
非常感谢csftiger 兄,问题终于解决了,原来是参数设置的问题!!多谢多谢!!
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3