0

我想检查我正在使用的身体的身体类型BodyCollection(如果身体是Sphere)。

我该怎么写?

这是我尝试过的:

public void ChamferAll()
{
    int subtype = 1;
    string offset1 = "5", offset2 = "0", angle = "5";
    BodyCollection bodyCollection = theSession.Parts.Work.Bodies;
    List<Tag> edgeTags = new List<Tag>();
    foreach (Body body in bodyCollection)
    {
        
        if (body.GetType() == NXOpen.Features.Sphere)
            continue;
        else
        {
            Edge[] edges = body.GetEdges();
            foreach (Edge edge in edges)
            {
                edgeTags.Add(edge.Tag);
                theUFSession.Modl.CreateChamfer(subtype, offset1, offset2, angle, edgeTags.ToArray(), out Tag chamferTag);
            }

            edgeTags.Clear();
        }
        
    }
}
4

1 回答 1

0

body.GetType()返回实体的类型,例如,片材或实体。“球体”不是体型。

您可以做的是使用body.GetFeatures()获取与该主体关联的功能列表。然后选择第一个返回的特征,并尝试将其转换为NXOpen.Features.Sphere. 如果这行得通,那么你所拥有的身体就是一个球体。如果演员表不起作用,则说明您拥有的不是球体。

于 2022-02-04T02:53:22.290 回答