Материал: Параметрическое моделирование с использованием NX API. учебно-метод. пособие. Барабанов В.Ф., Нужный А.М

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

UFCurve.Line line13 = new UFCurve.Line(); UFCurve.Line line14 = new UFCurve.Line(); UFCurve.Line line15 = new UFCurve.Line(); UFCurve.Line line16 = new UFCurve.Line();

line13.start_point = new double[3]; line13.start_point[0] = l13_endpt1[0]; line13.start_point[1] = l13_endpt1[1]; line13.start_point[2] = l13_endpt1[2]; line13.end_point = new double[3]; line13.end_point[0] = l13_endpt2[0]; line13.end_point[1] = l13_endpt2[1]; line13.end_point[2] = l13_endpt2[2]; line14.start_point = new double[3]; line14.start_point[0] = l14_endpt1[0]; line14.start_point[1] = l14_endpt1[1]; line14.start_point[2] = l14_endpt1[2]; line14.end_point = new double[3]; line14.end_point[0] = l14_endpt2[0]; line14.end_point[1] = l14_endpt2[1]; line14.end_point[2] = l14_endpt2[2]; line15.start_point = new double[3]; line15.start_point[0] = l15_endpt1[0]; line15.start_point[1] = l15_endpt1[1]; line15.start_point[2] = l15_endpt1[2]; line15.end_point = new double[3]; line15.end_point[0] = l15_endpt2[0]; line15.end_point[1] = l15_endpt2[1]; line15.end_point[2] = l15_endpt2[2]; line16.start_point = new double[3]; line16.start_point[0] = l16_endpt1[0]; line16.start_point[1] = l16_endpt1[1]; line16.start_point[2] = l16_endpt1[2]; line16.end_point = new double[3]; line16.end_point[0] = l16_endpt2[0]; line16.end_point[1] = l16_endpt2[1];

70

line16.end_point[2] = l16_endpt2[2];

Tag[] objarray3 = new Tag[7]; theUfSession.Curve.CreateLine(ref theUfSession.Curve.CreateLine(ref theUfSession.Curve.CreateLine(ref theUfSession.Curve.CreateLine(ref

line13, out objarray3[0]); line14, out objarray3[1]); line15, out objarray3[2]); line16, out objarray3[3]);

theUfSession.Modl.CreateRevolved(objarray3, limit1, ref_pt1, direction1, FeatureSigns.Positive, out features1);

/////////////////////////////////////////////

double[] l131_endpt1 = { 0, -55, 0.00 }; double[] l131_endpt2 = { 8, -55, 0.00 };

double[] l141_endpt1 = l131_endpt2; double[] l141_endpt2 = { 8, 40, 0.00 };

double[] l151_endpt1 = l141_endpt2; double[] l151_endpt2 = { 0, 40, 0.00 };

double[] l161_endpt1 = l151_endpt2; double[] l161_endpt2 = { 0, -55, 0.00 };

UFCurve.Line line131 = new UFCurve.Line(); UFCurve.Line line141 = new UFCurve.Line(); UFCurve.Line line151 = new UFCurve.Line(); UFCurve.Line line161 = new UFCurve.Line();

line131.start_point = new double[3]; line131.start_point[0] = l131_endpt1[0]; line131.start_point[1] = l131_endpt1[1]; line131.start_point[2] = l131_endpt1[2]; line131.end_point = new double[3]; line131.end_point[0] = l131_endpt2[0]; line131.end_point[1] = l131_endpt2[1]; line131.end_point[2] = l131_endpt2[2];

71

line141.start_point = new double[3]; line141.start_point[0] = l141_endpt1[0]; line141.start_point[1] = l141_endpt1[1]; line141.start_point[2] = l141_endpt1[2]; line141.end_point = new double[3]; line141.end_point[0] = l141_endpt2[0]; line141.end_point[1] = l141_endpt2[1]; line141.end_point[2] = l141_endpt2[2]; line151.start_point = new double[3]; line151.start_point[0] = l151_endpt1[0]; line151.start_point[1] = l151_endpt1[1]; line151.start_point[2] = l151_endpt1[2]; line151.end_point = new double[3]; line151.end_point[0] = l151_endpt2[0]; line151.end_point[1] = l151_endpt2[1]; line151.end_point[2] = l151_endpt2[2]; line161.start_point = new double[3]; line161.start_point[0] = l161_endpt1[0]; line161.start_point[1] = l161_endpt1[1]; line161.start_point[2] = l161_endpt1[2]; line161.end_point = new double[3]; line161.end_point[0] = l161_endpt2[0]; line161.end_point[1] = l161_endpt2[1]; line161.end_point[2] = l161_endpt2[2];

Tag[] objarray4 = new Tag[7]; theUfSession.Curve.CreateLine(ref line131, out objarray4[0]); theUfSession.Curve.CreateLine(ref line141, out objarray4[1]); theUfSession.Curve.CreateLine(ref line151, out objarray4[2]); theUfSession.Curve.CreateLine(ref line161, out objarray4[3]); theUfSession.Modl.CreateRevolved(objarray4, limit1, ref_pt1, direction1, FeatureSigns.Negative, out features1);

Далее переходим к созданию последней части – фильтра. Общий вид представлен на рис. 4.5.

72

Рис. 4.5. Фильтр

Tag UFPart1;

string name1 = "cylindr"; int units1 = 1;

theUfSession.Part.New(name1, units1, out UFPart1);

double[] l1_endpt1 = { 10, 0, 0.00 }; double[] l1_endpt2 = { 22.5, 0, 0.00 };

double[] l2_endpt1 = l1_endpt2; double[] l2_endpt2 = { 22.5, 160, 0.00 };

double[] l3_endpt1 = l2_endpt2; double[] l3_endpt2 = { 10, 160, 0.00 };

double[] l4_endpt1 = l3_endpt2; double[] l4_endpt2 = { 10, 0, 0.00 };

UFCurve.Line line1 = new UFCurve.Line(); UFCurve.Line line2 = new UFCurve.Line(); UFCurve.Line line3 = new UFCurve.Line(); UFCurve.Line line4 = new UFCurve.Line(); line1.start_point = new double[3]; line1.start_point[0] = l1_endpt1[0];

73

line1.start_point[1] = l1_endpt1[1]; line1.start_point[2] = l1_endpt1[2]; line1.end_point = new double[3]; line1.end_point[0] = l1_endpt2[0]; line1.end_point[1] = l1_endpt2[1]; line1.end_point[2] = l1_endpt2[2]; line2.start_point = new double[3]; line2.start_point[0] = l2_endpt1[0]; line2.start_point[1] = l2_endpt1[1]; line2.start_point[2] = l2_endpt1[2]; line2.end_point = new double[3]; line2.end_point[0] = l2_endpt2[0]; line2.end_point[1] = l2_endpt2[1]; line2.end_point[2] = l2_endpt2[2]; line3.start_point = new double[3]; line3.start_point[0] = l3_endpt1[0]; line3.start_point[1] = l3_endpt1[1]; line3.start_point[2] = l3_endpt1[2]; line3.end_point = new double[3]; line3.end_point[0] = l3_endpt2[0]; line3.end_point[1] = l3_endpt2[1]; line3.end_point[2] = l3_endpt2[2]; line4.start_point = new double[3]; line4.start_point[0] = l4_endpt1[0]; line4.start_point[1] = l4_endpt1[1]; line4.start_point[2] = l4_endpt1[2]; line4.end_point = new double[3]; line4.end_point[0] = l4_endpt2[0]; line4.end_point[1] = l4_endpt2[1]; line4.end_point[2] = l4_endpt2[2];

Tag[] objarray1 = new Tag[7]; theUfSession.Curve.CreateLine(ref line1, out objarray1[0]); theUfSession.Curve.CreateLine(ref line2, out objarray1[1]); theUfSession.Curve.CreateLine(ref line3, out objarray1[2]); theUfSession.Curve.CreateLine(ref line4, out objarray1[3]);

74

Источник: https://studfile.net/preview/16563646/