Kiểm tra giao cắt giữa các tuyến đường trong Civil 3D với ứng dụng API

Yuri Boyka January 27, 2016 0

Kiểm tra giao cắt giữa các tuyến đường với mục đích thêm các cọc tại các vị trí giao nhau hoặc thêm các nhãn ghi chú tại các vị trí giao nhau đó trên trắc dọc. Hôm nay, mình xin chia sẻ 1 đoạn code kiểm tra giao cắt giữa các tuyến đường với nhau:

// Khai báo 1 tập hợp Arraylist chứa các điểm giao cắt:

Arraylist _ar = new Arraylist();

// Khai báo điểm tại vị trí giao cắt:

Point3dCollection _pi = new Point3dCollection();

// Duyệt qua các đối tượng tuyến đường giao cắt với tuyến đường được chọn:

foreach (ObjectId _obi in _obj)
{
Alignment _alisecond = tr.GetObject(_obi, OpenMode.ForRead) as Alignment;
_ali.IntersectWith(_alisecond, Intersect.OnBothOperands, _pi, IntPtr.Zero, IntPtr.Zero);

// Kiểm tra các tuyến có giao cắt với tuyến được chọn hay không:
if (_pi.Count > 0)
{

// Nếu có điểm giao cắt thì thêm vào tập hợp Arraylist:

_ar.Add(_pi);

}

}

Leave A Response »

You must be logged in to post a comment.