Joint
Namespace: FEMur.Joints
要素の両端部の接合条件を定義するクラス 特定の要素(ElementId)に対して、Start端(i端)とEnd端(j端)それぞれの回転ばね、並進ばねの剛性を設定可能
public sealed class Joint : IEquatable<Joint>
Inheritance: System.Object → FEMur.Joints.Joint
Implements: System.IEquatable<FEMur.Joints.Joint>
Constructors
| Name | Signature | Summary |
|---|---|---|
Joint() | public Joint() | デフォルトコンストラクタ(両端とも剛結) |
Joint(LineElement, string) | public Joint(LineElement element, string name = "Rigid-Rigid") | 要素オブジェクトを指定したコンストラクタ(Grasshopper用) ElementIdは要素から自動取得される |
Joint(int, string) | public Joint(int elementId, string name = "Rigid-Rigid") | 要素IDと名前を指定したコンストラクタ |
Joint(string) | public Joint(string name) | 名前を指定したコンストラクタ(ElementIdは未設定) 名前だけだと両端とも剛結接合になる |
Joint(Joint) | public Joint(Joint other) | コピーコンストラクタ |
Joint(LineElement, bool[], double[], double[], double[], double[]) | public Joint(LineElement element, bool[] isFixed, double[] startTranslationalStiffness, double[] startRotationalStiffness, double[] endTranslationalStiffness, double[] endRotationalStiffness) | ばね剛性と拘束フラグを詳細に指定するコンストラクタ(要素オブジェクト指定) |
Joint(int, bool[], double[], double[], double[], double[]) | public Joint(int elementId, bool[] isFixed, double[] startTranslationalStiffness, double[] startRotationalStiffness, double[] endTranslationalStiffness, double[] endRotationalStiffness) | ばね剛性と拘束フラグを詳細に指定するコンストラクタ(要素ID指定) |
Properties
| Name | Signature | Summary |
|---|---|---|
ElementId | public int ElementId { get; set; } | 接合条件を適用する要素のID ElementオブジェクトからElementIdが自動設定される場合もある |
StartPoint | public Point3? StartPoint { get; set; } | — |
EndPoint | public Point3? EndPoint { get; set; } | — |
Element | public LineElement? Element { get; set; } | 参照する要素オブジェクト 設定時にElementIdも自動更新される |
Name | public string Name { get; set; } | 接合部の名前 |
StartTranslationalStiffness | public IReadOnlyList<double> StartTranslationalStiffness { get; } | — |
StartRotationalStiffness | public IReadOnlyList<double> StartRotationalStiffness { get; } | — |
EndTranslationalStiffness | public IReadOnlyList<double> EndTranslationalStiffness { get; } | — |
EndRotationalStiffness | public IReadOnlyList<double> EndRotationalStiffness { get; } | — |
IsFixed | public IReadOnlyList<bool> IsFixed { get; } | — |
Methods
| Name | Signature | Summary |
|---|---|---|
CreateRigid(LineElement) | public static Joint CreateRigid(LineElement element) | 両端とも剛結接合を作成(要素オブジェクト指定) |
CreateRigid(int) | public static Joint CreateRigid(int elementId) | 両端とも剛結接合を作成(要素ID指定) |
CreatePin(LineElement) | public static Joint CreatePin(LineElement element) | 両端ともピン接合を作成(要素オブジェクト指定) |
CreatePin(int) | public static Joint CreatePin(int elementId) | 両端ともピン接合を作成(要素ID指定) |
CreatePinRigid(LineElement) | public static Joint CreatePinRigid(LineElement element) | Start端をピン、End端を剛結とする接合を作成(要素オブジェクト指定) |
CreatePinRigid(int) | public static Joint CreatePinRigid(int elementId) | Start端をピン、End端を剛結とする接合を作成(要素ID指定) |
CreateRigidPin(LineElement) | public static Joint CreateRigidPin(LineElement element) | Start端を剛結、End端をピンとする接合を作成(要素オブジェクト指定) |
CreateRigidPin(int) | public static Joint CreateRigidPin(int elementId) | Start端を剛結、End端をピンとする接合を作成(要素ID指定) |
CreateSemiRigid(LineElement, double, double, double, double, double, double) | public static Joint CreateSemiRigid(LineElement element, double startRx, double startRy, double startRz, double endRx, double endRy, double endRz) | 半剛接合を作成(要素オブジェクト指定) |
CreateSemiRigid(int, double, double, double, double, double, double) | public static Joint CreateSemiRigid(int elementId, double startRx, double startRy, double startRz, double endRx, double endRy, double endRz) | 半剛接合を作成(要素ID指定) |
SetStartTranslationalStiffness(double, double, double) | public void SetStartTranslationalStiffness(double dx, double dy, double dz) | Start端の並進ばね剛性を設定 |
SetStartRotationalStiffness(double, double, double) | public void SetStartRotationalStiffness(double rx, double ry, double rz) | Start端の回転ばね剛性を設定 |
FixStartDOF(int) | public void FixStartDOF(int localDofIndex) | Start端の指定された自由度を固定 |
ReleaseStartDOF(int) | public void ReleaseStartDOF(int localDofIndex) | Start端の指定された自由度を解放 |
SetEndTranslationalStiffness(double, double, double) | public void SetEndTranslationalStiffness(double dx, double dy, double dz) | End端の並進ばね剛性を設定 |
SetEndRotationalStiffness(double, double, double) | public void SetEndRotationalStiffness(double rx, double ry, double rz) | End端の回転ばね剛性を設定 |
FixEndDOF(int) | public void FixEndDOF(int localDofIndex) | End端の指定された自由度を固定 |
ReleaseEndDOF(int) | public void ReleaseEndDOF(int localDofIndex) | End端の指定された自由度を解放 |
GetRotationalStiffness(bool, int) | public double GetRotationalStiffness(bool isStartEnd, int rotationIndex) | 指定された端部の回転ばね剛性を取得 |
GetSpringStiffness(int) | public double GetSpringStiffness(int dofIndex) | 指定された自由度のばね剛性を取得(IsFixed は考慮しない生の設定値) |
IsStartRigid() | public bool IsStartRigid() | Start端が剛結かどうかを判定 |
IsEndRigid() | public bool IsEndRigid() | End端が剛結かどうかを判定 |
IsStartPin() | public bool IsStartPin() | Start端がピンかどうかを判定 |
IsEndPin() | public bool IsEndPin() | End端がピンかどうかを判定 |
DeepCopy() | public Joint DeepCopy() | — |
ToString() | public override string ToString() | Returns a string that represents the current object. |
Equals(Joint?) | public bool Equals(Joint? other) | Indicates whether the current object is equal to another object of the same type. |
Equals(object?) | public override bool Equals(object? obj) | Determines whether the specified object is equal to the current object. |
GetHashCode() | public override int GetHashCode() | Serves as the default hash function. |
Fields
| Name | Signature | Summary |
|---|---|---|
DOFS_PER_END | public const int DOFS_PER_END = 6 | — |
TOTAL_DOFS | public const int TOTAL_DOFS = 12 | — |