Tạo tim đường offset từ 1 tim đường có sẵn trong Civil3D với ứng dụng API

Yuri Boyka July 28, 2015 0

Mình xin chia sẻ 1 đoạn code tự động tạo 1 tim đường mới offset từ một tim đường có sẵn với khoảng cách do người dùng nhập vào với ứng dụng API:

using (Transaction tr = db.TransactionManager.StartTransaction())
{
PromptEntityOptions _ent = new PromptEntityOptions(“\n- Chọn Tim đường:”);
_ent.SetRejectMessage(“\n- Phải chọn tim đường”);
_ent.AddAllowedClass(typeof(Alignment), false);
PromptEntityResult _ents = ed.GetEntity(_ent);
if (_ents.Status != PromptStatus.OK) return;
ObjectId _ids = _ents.ObjectId;
PromptDoubleOptions _dbl = new PromptDoubleOptions(“\n- Nhập khoảng cách:”);
_dbl.AllowNegative = false;
_dbl.AllowNone = false;
_dbl.AllowZero = false;
_dbl.DefaultValue = 20.0;
_dbl.UseDefaultValue = true;
PromptDoubleResult _dis = ed.GetDouble(_dbl);
if (_dis.Status != PromptStatus.OK) return;
Double _kc = _dis.Value;
Alignment _ali = tr.GetObject(_ids, OpenMode.ForRead) as Alignment;
// Tạo tim đường Offset
ObjectId _offsetAlignmentID = _ali.CreateOffsetAlignment(_kc);

// Cập nhập
tr.Commit();
}

1

 

2

 

3

 

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

Leave A Response »

You must be logged in to post a comment.