writeby xdcad csharp
- [CommandMethod("Test13")]
- public void Test13()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Editor ed = doc.Editor;
- Database database = doc.Database;
- PromptEntityOptions peo = new PromptEntityOptions("\nSelect Region");
- peo.SetRejectMessage("\nOnly Region");
- peo.AddAllowedClass(typeof(Region), true);
- PromptEntityResult per = ed.GetEntity(peo);
- if (per.Status != PromptStatus.OK) return;
- using (Transaction tr = database.TransactionManager.StartTransaction())
- {
- ObjectId id = per.ObjectId;
- Entity ent = (Entity)id.GetObject(OpenMode.ForRead);
- Brep brep = new Brep(ent);
- BrepEdgeCollection elp = brep.Edges;
- BlockTableRecord btr = (BlockTableRecord) tr.GetObject(database.CurrentSpaceId, OpenMode.ForWrite);
- int i = 1;
- foreach (Edge edge in elp)
- {
- NurbCurve3d c3d = edge.GetCurveAsNurb();
- Curve cv = Curve.CreateFromGeCurve(c3d);
- cv.ColorIndex = i;
- btr.AppendEntity(cv);
- tr.AddNewlyCreatedDBObject(cv, true);
- i++;
- }
- tr.Commit();
- }
- }
|