Xuất nhanh trắc dọc đường trong Civil 3D với API

Yuri Boyka July 21, 2015 0

Hiện trong Civil3D ta phải thao tác xuất trắc dọc qua nhiều bước trung gian, mất thời gian, mình xin chia sẻ một đoạn code xuất nhanh trắc dọc trong Civil3D với ứng dụng API:

[CommandMethod(“XUATTD”)]
public static void XUATTRACDOC()
{

using(acad.DocumentLock acLock = acad.Application.DocumentManager.MdiActiveDocument.LockDocument())
{
using (Transaction tr = acad.Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
{
// Chọn tim đường
PromptEntityOptions _ent = new PromptEntityOptions(“\n- Chọn tim đường:”);
_ent.SetRejectMessage(“\n- Chọn đúng tim đường!”);
_ent.AddAllowedClass(typeof(Alignment), true);
PromptEntityResult _ents = _ed.GetEntity(_ent);
if (_ents.Status != PromptStatus.OK) return;
// Chon điểm đặt profileview
PromptPointOptions _pro = new PromptPointOptions(“\n- Chọn điểm đặt ProfileView:”);
PromptPointResult _pros = _ed.GetPoint(_pro);
Alignment _ali = tr.GetObject(_ents.ObjectId, OpenMode.ForRead) as Alignment;
ObjectId _layerid = _ali.LayerId;
// Lựa chọn bề mặt tham chiếu
ObjectId _sur = _doc.GetSurfaceIds()[0];
// Lựa chọn Style
ObjectId _style = _doc.Styles.ProfileStyles[“Cắt dọc tự nhiên VN_Civil 3D VN”];
// Gán nhãn cho profile
ObjectId _label = _doc.Styles.LabelSetStyles.ProfileLabelSetStyles[0];

Point3d _point3d = _pros.Value;

ObjectId _profileviewstyle = _doc.Styles.ProfileViewStyles[“Trắc dọc VN – cấp thoát nước_Civil 3D VN”];
ObjectId _profileband = _doc.Styles.ProfileViewBandSetStyles[“Bảng trắc dọc VN – đường giao thông_thiết kế_Civil 3D VN”];

ObjectIdCollection _cols = _ali.GetProfileViewIds();
ObjectId _profilev = ProfileView.Create(_ents.ObjectId, _point3d, “MyProfileview”, _profileband, _profileviewstyle);
tr.Commit();
}
}
}

 

F5 hoặc Start, vào Civil3D NETLOAD file .DLL lên, gõ lệnh XUATTD, chọn tim tuyến đường:

1

Sau đó chọn điểm đặt ProfileView:

1

Trắc dọc tự nhiên:

1

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

Leave A Response »

You must be logged in to post a comment.