2,503
社区成员




Dim SS As AcadSelectionSet, S As Acad3DSolid, P As Double, V As Double, FT(0) As Integer, FD(0) As Variant
On Error Resume Next
With ThisDrawing
Set SS = .SelectionSets.Add("SS")
FT(0) = 0
FD(0) = "3DSolid"
SS.SelectOnScreen FT, FD
If SS.Count > 0 Then
P = .Utility.GetReal("指定密度<7.85>:")
If Err = -2145320928 Then P = 7.85
Err.Clear
For Each S In SS
V = V + S.Volume
Next
.Utility.Prompt vbCrLf & "体积:" & V & vbCrLf & "重量:" & V * P
End If
SS.Delete
End With