/// <summary>
/// 抽取等参数曲线
/// </summary>
/// <param name="face"></param>
/// <param name="parameterDirection"></param>
/// <param name="number"></param>
/// <param name="curves"></param>
public static void GetIsoparametricCurves(Face face, IsoparametricCurvesBuilder.DirectionTypes parameterDirection,int number,out Curve []curves)
{
curves = new Curve[0];
NXOpen.Session theSession = NXOpen.Session.GetSession();
NXOpen.Part workPart = theSession.Parts.Work;
NXOpen.Part displayPart = theSession.Parts.Display;
NXOpen.Features.IsoparametricCurves nullNXOpen_Features_IsoparametricCurves = null;
NXOpen.Features.IsoparametricCurvesBuilder isoparametricCurvesBuilder1;
isoparametricCurvesBuilder1 = workPart.Features.CreateIsoparametricCurvesBuilder(nullNXOpen_Features_IsoparametricCurves);
NXOpen.Face face1 = face;
Point3d point3D = new Point3d();
Vector3d vector3D = new Vector3d();
double[] paramters = new double[2] { 0.5, 0.5 };
GetFacePointBasedParameters(face,paramters,out point3D,out vector3D);
isoparametricCurvesBuilder1.SelectObject.SetValue(face1, workPart.ModelingViews.WorkView, point3D);
isoparametricCurvesBuilder1.Direction = parameterDirection;
isoparametricCurvesBuilder1.UpdateIsoparametricCurves();
isoparametricCurvesBuilder1.Number = number;
isoparametricCurvesBuilder1.UpdateIsoparametricCurves();
isoparametricCurvesBuilder1.UpdateIsoparametricCurves();
NXOpen.NXObject nXObject1;
nXObject1 = isoparametricCurvesBuilder1.Commit();
IsoparametricCurves isoparametricCurves = (IsoparametricCurves)nXObject1;
NXObject []nXObjects = isoparametricCurves.GetEntities();
foreach(var nx in nXObjects)
{
Array.Resize(ref curves,curves.Length+1);
curves[curves.Length - 1] = (Curve)nx;
}
isoparametricCurvesBuilder1.Destroy();
}
NX二次开发-建模-抽取等参数曲线
猜你喜欢
转载自blog.csdn.net/yang19861007/article/details/108817690
周排行