Tạo điểm CogoPoint từ điểm Point Autocad với ứng dụng API

Yuri Boyka July 26, 2015 0

Mình xin chia sẻ 1 đoạn code tạo các CogoPoint từ các Point trong Auotcad với ứng dụng API:

[CommandMethod(“TAODIEMTUPOINT”)]
public static void TAOCOGOPOINTTUPOINT()
{
using(Transaction tr = db.TransactionManager.StartTransaction())
{
TypedValue[] tv = new TypedValue[] { new TypedValue((int)DxfCode.Start, “POINT”) };
SelectionFilter sf = new SelectionFilter(tv);

PromptSelectionOptions _pt = new PromptSelectionOptions();
PromptSelectionResult _ptr = ed.GetSelection(_pt, sf);
if (_ptr.Status != PromptStatus.OK) return;

ObjectId[] _obj = _ptr.Value.GetObjectIds();

foreach(ObjectId _obi in _obj)
{
Autodesk.AutoCAD.DatabaseServices.Entity _ent = tr.GetObject(_obi, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if(_ent is DBPoint)
{
DBPoint _db = _ent as DBPoint;
Point3d _point3d = _db.Position;
Double _elevation = _point3d.Z;
// Khởi tạo 1 CogoPoint
CogoPointCollection _cogoPoint = _Civil.CogoPoints;
// Thêm cogopoint vào vị trí
ObjectId _id = _cogoPoint.Add(_point3d, true);
CogoPoint _point = _id.GetObject(OpenMode.ForWrite) as CogoPoint;
_point.Elevation = _elevation;
_point.RawDescription = “MyPoint”;
}
}
// Cập nhập
tr.Commit();
}
}

F5 hoặc Start để khởi động Civil3D, sau đó gõ lệnh NETLOAD để load file .DLL lên, gõ lệnh TAODIEMTUPOINT, chọn các Point có sẵn, chương trình sẽ tự động tạo các Cogopoint từ các Point được chọn:

1

 

1

 

Chúc các bạn thành công!

Leave A Response »

You must be logged in to post a comment.