Tạo điểm CogoPoint từ TEXT trong Civil3D 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 trong Civil3D từ các Text có sẵn với ứng dụng API:

[CommandMethod(“TAOCOGOPOINTTUTEXT”)]
public static void TAOCOGOPOINTTUDIEMS()
{
using(Transaction tr = db.TransactionManager.StartTransaction())
{
TypedValue[] tv = new TypedValue[] { new TypedValue((int)DxfCode.Start, “TEXT”) };
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 _ob = tr.GetObject(_obi, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if(_ob is DBText)
{
DBText _text = _ob as DBText;
Point3d _point3d = _text.Position;
string _elevation = _text.TextString;
// Khởi tạo 1 Cogo Point trong Civil
CogoPointCollection _cogo = _CivilDoc.CogoPoints;

// Thêm Cogo Point vào Vị trí được chọn
ObjectId _ID = _cogo.Add(_point3d, true);
CogoPoint _cogopoint = _ID.GetObject(OpenMode.ForWrite) as CogoPoint;
_cogopoint.Elevation = Double.Parse(_elevation);
_cogopoint.RawDescription = “Mypoint”;
}
}
//Cập nhập
tr.Commit();
}
}

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

1

 

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

Leave A Response »

You must be logged in to post a comment.