暗殇鸿蒙 发表于 2019-7-26 09:16:15

现在需要创建一段圆弧,如何获取plane0的matrix

如图所示,现在需要创建一段圆弧,如何获取plane0的matrix!代码入下:

                Point3d point = point0->GetProperties()->GetPoint("Point");                                              double radius=radius0->GetProperties()->GetDouble("Value");
                double angle=angle0->GetProperties()->GetDouble("Value");
                tag_t arcTag = null_tag;
                UF_CURVE_arc_t arc_coords;
                arc_coords.arc_center=point.X;
                arc_coords.arc_center=point.Y;
                arc_coords.arc_center=point.Z;
                arc_coords.radius=radius;
                arc_coords.start_angle = 0.0;
                arc_coords.end_angle =angle * DEGRA;
                arc_coords.matrix_tag=???;
                UF_CURVE_create_arc (&arc_coords, &arcTag);

zhangjier 发表于 2019-7-27 00:08:06

你这也太高级了吧!我表示看不懂!

暗殇鸿蒙 发表于 2019-8-1 09:42:04

可以在指定的平面上选择点,例如:XY平面上选择点(10,10,0)、(0,9.5,0)...创建曲面。
无法将非指定平面上的点(10,10,10)创建曲面后直接投影到选择的曲面上。
tag_t matrix_t=NULL_TAG;
tag_t arcTag = null_tag;
UF_CURVE_arc_t arc_coords;
Point3d point = point0->GetProperties()->GetPoint("Point");
double radius=radius0->GetProperties()->GetDouble("Value");
double angle=angle0->GetProperties()->GetDouble("Value");
std::vector<TaggedObject*> objects=this->plane0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
matrix_t=objects->Tag();
arc_coords.arc_center=point.X;
arc_coords.arc_center=point.Y;
arc_coords.arc_center=point.Z;
arc_coords.radius=radius;
arc_coords.start_angle = 0.0;
arc_coords.end_angle =angle * DEGRA;
UF_CSYS_ask_matrix_of_object(matrix_t,&arc_coords.matrix_tag);
UF_CURVE_create_arc(&arc_coords, &arcTag);

页: [1]
查看完整版本: 现在需要创建一段圆弧,如何获取plane0的matrix