[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();
}
}
文章评论