新人报道,问个初级的问题
我现在做工程老要算管道的长度,我想用vba来帮我完成,有点vb的基础。不过对这个还是蛮陌生,我想算同一颜色的线的长度,看了少少书,知道可以获取他的起点和终点,但是我还不会让它自动。麻烦大侠给个例子我瞧瞧吧!就给个获取红色直线的长度吧?谢谢拉凡事不能急于求成哦,还是从基本学起好,祝你成功!你需要的功能大致如下:
Sub test()
Dim ss As AcadSelectionSet
Dim ft(1) As Integer, fd(1) As Variant
Dim l As AcadLine
On Error Resume Next
'安全创建选择集
Set ss = ThisDrawing.SelectionSets.Add("ss1")
If Err Then
Err.Clear
Set ss = ThisDrawing.SelectionSets.item("ss1")
ss.Clear
End If
'过滤设置
ft(0) = 0: fd(0) = "line"
ft(1) = 62: fd(1) = 1
'过滤选择
ss.Select acSelectionSetAll, ft, fd
'距离累加
Dim dis As Double
For Each l In ss
dis = dis + l.Length
Next
MsgBox "管线总长为:" & dis
'删除选择集
ss.Delete
End Sub
选择集是这样用的呀!谢谢!非常感谢laoliu09!
ss.Select acSelectionSetAll, ,,ft, fd
太高兴了。我决定每天进来学一点。呵呵
选择集很多用法的,也很容易犯莫名错误,建议先熟悉cad对像模型!
页:
[1]