Các bác chỉ với em với, trong đoạn code dưới đây của bác anhcos là select các đối tượng trên màn hình, nhưng em chỉ muốn select các đối tượng là Line hoặc Polyline thôi thì phải làm thế nào ạ? Và sau khi select xong, em muốn lấy các thông số Startpoint, Endpoint, vector pháp tuyến của từng Line thì phải làm thế nào ạ? Cái này em mới tìm hiểu mà tìm mãi chẳng thấy chỗ nào các bác nói đến cả, mong các bác giúp đỡ.
PrivateSub cmdSelectObject_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSelectObject.Click
If ACADLink() Then
Try
Dim dwg AsObject = Acad.ActiveDocument
Try
SelSet = dwg.SelectionSets.Add("anhcos")
Catch
SelSet = dwg.SelectionSets.Item("anhcos")
EndTry
SelSet.Clear()
AppActivate(Acad.Caption)
SelSet.SelectOnScreen()
ObjIndex = 0
Vịtríđốitượngtrongtậpchọn()
AppActivate(Me.Text)
pgObject.SelectedObject = SelSet.Item(ObjIndex)
Catch
ObjIndex = -1
EndTry
EndIf
EndSub
Mình hướng dẫn bạn một chút về cách lấy thông tin của 1 đối tượng hình học trong cad nhé. Các đối tượng khác thì bạn tự suy nghĩ thêm, cũng tương tự thôi.
Sau khi bạn dùng phương thức selectionOnscreen. Bạn dùng vòng lặp để xét đến đối tượng cần lấy thông tin:
For each object_cad in Object_Select
if Object_cad.ObjectName = "AcdbLine" then ' Lấy thông số đối tượng Line
Hướng dẫn lập trình với AutoCAD bằng VB.NET
trong Lập trình khác
Đã đăng · Trả lời báo cáo
Mình hướng dẫn bạn một chút về cách lấy thông tin của 1 đối tượng hình học trong cad nhé. Các đối tượng khác thì bạn tự suy nghĩ thêm, cũng tương tự thôi.
Sau khi bạn dùng phương thức selectionOnscreen. Bạn dùng vòng lặp để xét đến đối tượng cần lấy thông tin:
For each object_cad in Object_Select
if Object_cad.ObjectName = "AcdbLine" then ' Lấy thông số đối tượng Line
Dim ToadoDau( 0 to 2) as double
Dim Toadocuoi( 0 to 2) as double
Dim Layer_line as layer
toadodau(0) =Object_cad.startPoint.Coordinates(0)
toadodau(1) =Object_cad.startPoint.Coordinates(1)
toadocuoi(0) =Object_cad.EndPoint.Coordinates(0)
toadocuoi(1) =Object_cad.EndPoint.Coordinates(1)
Layer_line= Object_cad.layer
end if
Next