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