public void BeginTriangulate() { buildTriangulations buildT = new buildTriangulations(); AC_Transactions tr = new AC_Transactions(); PromptEntityOptions options = new PromptEntityOptions("Pick a Line to Triangulate"); options.SetRejectMessage("not valid Object \n"); options.AddAllowedClass(typeof(Line), true); PromptEntityResult sel = tr.AC_Doc.Editor.GetEntity(options); if (sel.Status == PromptStatus.OK) { tr.AC_Doc.Editor.WriteMessage("Line " + sel.ObjectId.ToString() + " Selected \n"); buildT.Create((AC_Line)tr.openObjectErased(sel.ObjectId)); } }
public void HideAllTriangulate() { Triangulations triangulation = new Triangulations(); AC_Transactions tr = new AC_Transactions(); Transaction trans = tr.start_Transaction(); tr.openBlockTables(OpenMode.ForRead, OpenMode.ForRead); foreach (ObjectId id in tr.AC_blockTableRecord) { try{ AC_Entity ent = (AC_Entity)tr.openObjectErased(id); if (ent.BaseEntity is Line) { AC_Line line = (AC_Line)ent; ResultBuffer rb = line.XData; if (rb != null) { //FIND XDATA GUID int index = 0; string guid = null; foreach (TypedValue tv in rb) { if (index == 3) { guid = tv.Value.ToString(); } index++; } if (guid != null) { triangulation.Hide(line); } } } tr.Dispose(trans); } catch { tr.AC_Doc.Editor.WriteMessage("Skipped a not Entity Object"); } } }
public void ModifyTriangulate() { Triangulations triangulation = new Triangulations(); AC_Transactions tr = new AC_Transactions(); PromptEntityOptions options = new PromptEntityOptions("Pick a Line to modify Triangulations"); options.SetRejectMessage("not valid Object \n"); options.AddAllowedClass(typeof(Line), true); PromptEntityResult sel = tr.AC_Doc.Editor.GetEntity(options); if (sel.Status == PromptStatus.OK) { triangulation.Modify((AC_Line)tr.openObjectErased(sel.ObjectId)); } }