public void ErstelleLeereSkizze() { // geometrisches Set auswaehlen und umbenennen HybridBodies catHybridBodies1 = hsp_catiaPart.Part.HybridBodies; try { catHybridBody1 = catHybridBodies1.Item("Geometrisches Set.1"); } catch (Exception) { MessageBox.Show("Kein geometrisches Set gefunden! " + Environment.NewLine + "Ein PART manuell erzeugen und darauf achten, dass 'Geometrisches Set' aktiviert ist.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Information); return; } catHybridBody1.set_Name("Profile"); // neue Skizze im ausgewaehlten geometrischen Set anlegen Sketches catSketches1 = catHybridBody1.HybridSketches; OriginElements catOriginElements = hsp_catiaPart.Part.OriginElements; Reference catReference1 = (Reference)catOriginElements.PlaneYZ; hsp_catiaProfil = catSketches1.Add(catReference1); // Achsensystem in Skizze erstellen ErzeugeAchsensystem(); // Part aktualisieren hsp_catiaPart.Part.Update(); }
public void erstelleLeereSkizze() { HybridBodies catHybridBodies1 = hsp_catiaPart.Part.HybridBodies; HybridBody catHybridBody1 = catHybridBodies1.Item("Geometrisches Set.1"); catHybridBody1.set_Name("Profile"); Sketches catSketches1 = catHybridBody1.HybridSketches; OriginElements catOriginElements = hsp_catiaPart.Part.OriginElements; Reference catReference1 = (Reference)catOriginElements.PlaneYZ; hsp_catiaProfil = catSketches1.Add(catReference1); }
private void button1_Click(object sender, EventArgs e) { //List<Pnt> pList = new List<Pnt>(); List <HybridShapeTypeLib.Point> pList = new List <HybridShapeTypeLib.Point>(); //prtDoc = (PartDocument)catia.Documents.Item(1); prtDoc = (PartDocument)catia.Documents.Add("Part"); Part prt = prtDoc.Part; HybridBodies hbdys = prt.HybridBodies; HybridBody hbdy = hbdys.Add(); hbdy.set_Name("saori"); HybridShapeFactory hsFac = (HybridShapeFactory)prt.HybridShapeFactory; //string Line = textBox1.Text; string lin = ""; if (textBox1.Text == "") { MessageBox.Show("좌표를 입력해주새요"); return; } for (int i = 0; i < textBox1.Lines.Length; i++) { lin = textBox1.Lines[i]; string[] token = lin.Split(','); int x = int.Parse(token[0]); int y = int.Parse(token[1]); int z = int.Parse(token[2]); // pList.Add(new Pnt(x, y, z)); pList.Add(hsFac.AddNewPointCoord(x, y, z)); HybridShapeTypeLib.Point p = hsFac.AddNewPointCoord(x, y, z); //create a point hbdy.AppendHybridShape(p); } //create points and spline HybridShapeSpline splin = hsFac.AddNewSpline(); foreach (HybridShapeTypeLib.Point p in pList) { INFITF.Reference r = prt.CreateReferenceFromGeometry(p); // hsFac.AddNewPointDatum(r); //hbdy.AppendHybridShape(p); splin.AddPoint(r); } hbdy.AppendHybridShape(splin); prt.Update(); }
/// <summary> /// 创建一个工作用的Part 文件 /// </summary> /// <param name="CatApplication">CATIA程序框架</param> /// <param name="CatDocument">CATIA 活动文档</param> /// <param name="PartID">待创建的CATIA 零件目标</param> public void CreatWorkPart(INFITF.Application CatApplication, ProductDocument CatDocument, ref Part PartID) { // 添加一个新零件 string Name = "RXFastDesignTool"; try { PartID = ((PartDocument)CatApplication.Documents.Item(Name + ".CATPart")).Part; } catch (Exception) { try { CatDocument.Product.Products.AddNewComponent("Part", Name); PartID = ((PartDocument)CatApplication.Documents.Item(Name + ".CATPart")).Part; } catch (Exception) { return; // throw; } } HybridBodies HBS = PartID.HybridBodies; if (HBS.Count < 1) { HybridBody HB = HBS.Add(); HB.set_Name("Geometrical Set.1"); } OriginElements Tpart = PartID.OriginElements; AnyObject dxy = Tpart.PlaneXY; AnyObject dyz = Tpart.PlaneYZ; AnyObject dzx = Tpart.PlaneZX; Selection SelectT = CatDocument.Selection; VisPropertySet VP = SelectT.VisProperties; SelectT.Add(dxy); SelectT.Add(dyz); SelectT.Add(dzx); VP = (VisPropertySet)VP.Parent; VP.SetShow(CatVisPropertyShow.catVisPropertyNoShowAttr); SelectT.Clear(); }