AnyCAD Rapid API 2023
Help you to create a better world!
载入中...
搜索中...
未找到
PrincipalProps类 参考

Public 成员函数

boolean HasSymmetryAxis ()
 
boolean HasSymmetryAxis (double aTol)
 
boolean HasSymmetryPoint ()
 
boolean HasSymmetryPoint (double aTol)
 
GXYZ Moments ()
 
GVec FirstAxisOfInertia ()
 
GVec SecondAxisOfInertia ()
 
GVec ThirdAxisOfInertia ()
 
GXYZ RadiusOfGyration ()
 

详细描述

<>
获取几何对象的主属性

成员函数说明

◆ FirstAxisOfInertia()

GVec PrincipalProps.FirstAxisOfInertia ( )

returns the first axis of inertia.
if the system has a point of symmetry there is an infinity of
solutions. It is not possible to defines the three axis of
inertia.

◆ HasSymmetryAxis() [1/2]

boolean PrincipalProps.HasSymmetryAxis ( )

returns true if the geometric system has an axis of symmetry.
For comparing moments relative tolerance 1.e-10 is used.
Usually it is enough for objects, restricted by faces with
analytical geometry.

◆ HasSymmetryAxis() [2/2]

boolean PrincipalProps.HasSymmetryAxis ( double  aTol)

returns true if the geometric system has an axis of symmetry.

参数
aTolis relative tolerance for checking equality of moments
If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I))

◆ HasSymmetryPoint() [1/2]

boolean PrincipalProps.HasSymmetryPoint ( )

returns true if the geometric system has a point of symmetry.
For comparing moments relative tolerance 1.e-10 is used.
Usually it is enough for objects, restricted by faces with
analytical geometry.

◆ HasSymmetryPoint() [2/2]

boolean PrincipalProps.HasSymmetryPoint ( double  aTol)

returns true if the geometric system has a point of symmetry.

参数
aTolis relative tolerance for checking equality of moments
If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I))

◆ Moments()

GXYZ PrincipalProps.Moments ( )

Return the principal moments of inertia in the current system.
Notes :

  • If the current system has an axis of symmetry, two
    of the three values Ixx, Iyy and Izz are equal. They
    indicate which eigen vectors define an infinity of
    axes of principal inertia.
  • If the current system has a center of symmetry, Ixx,
    Iyy and Izz are equal.

◆ RadiusOfGyration()

GXYZ PrincipalProps.RadiusOfGyration ( )

Returns the principal radii of gyration Rxx, Ryy
and Rzz are the radii of gyration of the current
system about its three principal axes of inertia.
Note that:

  • If the current system has an axis of symmetry,
    two of the three values Rxx, Ryy and Rzz are equal.
  • If the current system has a center of symmetry,
    Rxx, Ryy and Rzz are equal.

◆ SecondAxisOfInertia()

GVec PrincipalProps.SecondAxisOfInertia ( )

returns the second axis of inertia.
if the system has a point of symmetry or an axis of symmetry the
second and the third axis of symmetry are undefined.

◆ ThirdAxisOfInertia()

GVec PrincipalProps.ThirdAxisOfInertia ( )

returns the third axis of inertia.
This and the above functions return the first, second or third eigen vector of the
matrix of inertia of the current system.
The first, second and third principal axis of inertia
pass through the center of mass of the current
system. They are respectively parallel to these three eigen vectors.
Note that:

  • If the current system has an axis of symmetry, any
    axis is an axis of principal inertia if it passes
    through the center of mass of the system, and runs
    parallel to a linear combination of the two eigen
    vectors of the matrix of inertia, corresponding to the
    two eigen values which are equal. If the current
    system has a center of symmetry, any axis passing
    through the center of mass of the system is an axis
    of principal inertia. Use the functions
    HasSymmetryAxis and HasSymmetryPoint to
    check these particular cases, where the returned
    eigen vectors define an infinity of principal axis of inertia.
  • The Moments function can be used to know which
    of the three eigen vectors corresponds to the two
    eigen values which are equal.

    if the system has a point of symmetry or an axis of symmetry the
    second and the third axis of symmetry are undefined.