兰州人 发表于 2007-12-12 17:04:00

AutoCAD 2006 VBA程序参考之----实体分析:质量特性。

Analyzing Solids: Mass Properties---实体分析------质量特性
Each 3DSolid object has a number of mass properties you can use for analysis. These properties
include the center of gravity, the total volume of the solid, the radii of gyration, the product of
inertia, and the moment of inertia.
每个3维实体你可以分析三维实体的质量特性,包括质量中心,实体的全容积,回转半径,惯性积,惯性力矩。
The following example displays the mass properties for a selected solid. Try it on one of
the solids you created earlier in the chapter.
这个实例表述选择实体质量特性。
Public Sub TestMassProperties()
Dim objEnt As Acad3DSolid
Dim varPick As Variant
Dim strMassProperties As String
Dim varProperty As Variant
Dim intI As Integer
On Error Resume Next
'' let user pick a solid
With ThisDrawing.Utility
    .GetEntity objEnt, varPick, vbCr & "Pick a solid: "
    If Err Then
      MsgBox "That is not an Acad3DSolid"
      Exit Sub
    End If
End With
'' format mass properties
With objEnt
    strMassProperties = "Volume: "
    strMassProperties = strMassProperties & vbCr & " " & .Volume
    strMassProperties = strMassProperties & vbCr & vbCr & _
    "Center Of Gravity: "
    For Each varProperty In .Centroid
      strMassProperties = strMassProperties & vbCr & " " & varProperty
    Next
    strMassProperties = strMassProperties & vbCr & vbCr & _
      "Moment Of Inertia: "
    For Each varProperty In .MomentOfInertia
      strMassProperties = strMassProperties & vbCr & " " & varProperty
    Next
    strMassProperties = strMassProperties & vbCr & vbCr & _
      "Product Of Inertia: "
    For Each varProperty In .ProductOfInertia
      strMassProperties = strMassProperties & vbCr & " " & varProperty
    Next
    strMassProperties = strMassProperties & vbCr & vbCr & "Principal Moments: "
    For Each varProperty In .PrincipalMoments
      strMassProperties = strMassProperties & vbCr & " " & varProperty
    Next
    strMassProperties = strMassProperties & vbCr & vbCr & "Radii Of Gyration: "
    For Each varProperty In .RadiiOfGyration
      strMassProperties = strMassProperties & vbCr & " " & varProperty
    Next
    strMassProperties = strMassProperties & vbCr & vbCr & "Principal Directions: "
    For intI = 0 To UBound(.PrincipalDirections) / 3
      strMassProperties = strMassProperties & vbCr & " (" & _
      .PrincipalDirections((intI - 1) * 3) & ", " & _
      .PrincipalDirections((intI - 1) * 3 + 1) & "," & _
      .PrincipalDirections((intI - 1) * 3 + 2) & ")"
    Next
End With
'' highlight entity
objEnt.Highlight True
objEnt.Update
'' display properties
MsgBox strMassProperties, , "Mass Properties"
'' dehighlight entity
objEnt.Highlight False
objEnt.Update
End Sub
页: [1]
查看完整版本: AutoCAD 2006 VBA程序参考之----实体分析:质量特性。