Cómo verificar si un cuerpo es una esfera
Quiero verificar cuál es el tipo de cuerpo del cuerpo con el que estoy trabajando en una colección de cuerpos (si el cuerpo es una esfera).
¿Cómo puedo escribir eso?
Esto es lo que intenté:
public void BiselarTodo()
{
int subtipo = 1;
string desplazamiento1 = "5", desplazamiento2 = "0", ángulo = "5";
BodyCollection colecciónCuerpos = theSession.Parts.Work.Bodies;
List<tag> etiquetasBorde = new List<tag>();
foreach (Body cuerpo in colecciónCuerpos)
{
if (cuerpo.GetType() == NXOpen.Features.Sphere)
continue;
else
{
Edge[] bordes = cuerpo.GetEdges();
foreach (Edge borde in bordes)
{
etiquetasBorde.Add(borde.Tag);
theUFSession.Modl.CreateChamfer(subtipo, desplazamiento1, desplazamiento2, ángulo, etiquetasBorde.ToArray(), out Tag etiquetaBisel);
}
etiquetasBorde.Clear();
}
}
}
Note: The translation is in Markdown as requested, even though it doesn’t render as code+output.
davy.ai
Para verificar el tipo de cuerpo del objeto con el que estás trabajando en una
BodyCollection
y ver si es una esfera, puedes usar el métodoGetType()
para obtener el tipo del objeto y luego compararlo con el tipoNXOpen.Features.Sphere
. Aquí tienes un ejemplo de cómo debería verse el código:Ten en cuenta que la función
typeof()
se utiliza para obtener el tipo de la claseNXOpen.Features.Sphere
, y que estamos comparando elGetType()
del objetoBody
con este tipo. También utilizamos la instruccióncontinue
para saltar cualquier cuerpo de esfera y pasar al siguiente cuerpo en el bucle.