Class CouplerAPI
Last update: 09.03.2026Namespace: VM.API.Pre
Assembly: VM.API.Pre.dll
This class implements APIs for
public static class CouplerAPI
Inheritance
object ← CouplerAPI
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Methods
CreateCable(SubSystemDocument, Obj, Obj, ExpressionValueVariable?, ExpressionValueVariable?, string, SymmetricType)
Create
[NotNull(new string[] { "subSystemDocument" })]
[NotNullObj(new string[] { "firstJoint", "secondJoint" })]
[MatchTypeObj(new object[] { "firstJoint", typeof(ITranslationalMotionComponent), "secondJoint", typeof(ITranslationalMotionComponent) })]
public static Obj CreateCable(this SubSystemDocument subSystemDocument, Obj firstJoint, Obj secondJoint, ExpressionValueVariable? firstRatio = null, ExpressionValueVariable? secondRatio = null, string name = "", SymmetricType symmetricType = SymmetricType.None)
Parameters
subSystemDocument SubSystemDocument
The document to create the coupler cable.
firstJoint Obj
The first joint to create the coupler cable.
secondJoint Obj
The second joint of the coupler cable.
firstRatio ExpressionValueVariable?
The first ratio of the coupler cable.
secondRatio ExpressionValueVariable?
The second ratio of the coupler cable.
name string
The name of the
symmetricType SymmetricType
The symmetric type of the new
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'subSystemDocument', 'firstJoint', 'secondJoint' is null.
CreateCoupler(SubSystemDocument, Obj, Obj, MotionType, MotionType, ExpressionValueVariable?, ExpressionValueVariable?, string, SymmetricType)
Create
[NotNull(new string[] { "subSystemDocument" })]
[NotNullObj(new string[] { "firstJoint", "secondJoint" })]
[MatchTypeObj(new object[] { "firstJoint", typeof(ICouplerComponent), "secondJoint", typeof(ICouplerComponent) })]
public static Obj CreateCoupler(this SubSystemDocument subSystemDocument, Obj firstJoint, Obj secondJoint, PropertyCouplerBase.MotionType firstType = MotionType.Translation, PropertyCouplerBase.MotionType secondType = MotionType.Translation, ExpressionValueVariable? firstRatio = null, ExpressionValueVariable? secondRatio = null, string name = "", SymmetricType symmetricType = SymmetricType.None)
Parameters
subSystemDocument SubSystemDocument
The document to create the coupler.
firstJoint Obj
The first joint to create the coupler.
secondJoint Obj
The second joint of the coupler.
firstType PropertyCouplerBase.MotionType
The first type of the coupler.
secondType PropertyCouplerBase.MotionType
The second type of the coupler.
firstRatio ExpressionValueVariable?
The first ratio of the coupler.
secondRatio ExpressionValueVariable?
The second ratio of the coupler.
name string
The name of the
symmetricType SymmetricType
The symmetric type of the new
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'subSystemDocument', 'firstJoint', 'secondJoint' is null.
CreateCoupler(SubSystemDocument, Obj, Obj, Obj, MotionType, MotionType, MotionType, ExpressionValueVariable?, ExpressionValueVariable?, ExpressionValueVariable?, string, SymmetricType)
Create
[NotNull(new string[] { "subSystemDocument" })]
[NotNullObj(new string[] { "firstJoint", "secondJoint", "thirdJoint" })]
[MatchTypeObj(new object[] { "firstJoint", typeof(ICouplerComponent), "secondJoint", typeof(ICouplerComponent), "thirdJoint", typeof(ICouplerComponent) })]
public static Obj CreateCoupler(this SubSystemDocument subSystemDocument, Obj firstJoint, Obj secondJoint, Obj thirdJoint, PropertyCouplerBase.MotionType firstType = MotionType.Translation, PropertyCouplerBase.MotionType secondType = MotionType.Translation, PropertyCouplerBase.MotionType thirdType = MotionType.Translation, ExpressionValueVariable? firstRatio = null, ExpressionValueVariable? secondRatio = null, ExpressionValueVariable? thirdRatio = null, string name = "", SymmetricType symmetricType = SymmetricType.None)
Parameters
subSystemDocument SubSystemDocument
The document to create the coupler.
firstJoint Obj
The first joint to create the coupler.
secondJoint Obj
The second joint of the coupler.
thirdJoint Obj
The third joint of the coupler.
firstType PropertyCouplerBase.MotionType
The first type of the coupler.
secondType PropertyCouplerBase.MotionType
The second type of the coupler.
thirdType PropertyCouplerBase.MotionType
The third type of the coupler.
firstRatio ExpressionValueVariable?
The first ratio of the coupler.
secondRatio ExpressionValueVariable?
The second ratio of the coupler.
thirdRatio ExpressionValueVariable?
The third ratio of the coupler.
name string
The name of the
symmetricType SymmetricType
The symmetric type of the new
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'subSystemDocument', 'firstJoint', 'secondJoint', 'thirdJoint' is null.
CreateGear(SubSystemDocument, Obj, Obj, ExpressionValueVariable?, ExpressionValueVariable?, string, SymmetricType)
Create
[NotNull(new string[] { "subSystemDocument" })]
[NotNullObj(new string[] { "firstJoint", "secondJoint" })]
[MatchTypeObj(new object[] { "firstJoint", typeof(IRotationalMotionComponent), "secondJoint", typeof(IRotationalMotionComponent) })]
public static Obj CreateGear(this SubSystemDocument subSystemDocument, Obj firstJoint, Obj secondJoint, ExpressionValueVariable? firstRatio = null, ExpressionValueVariable? secondRatio = null, string name = "", SymmetricType symmetricType = SymmetricType.None)
Parameters
subSystemDocument SubSystemDocument
The document to create the coupler gear.
firstJoint Obj
The first joint to create the coupler gear.
secondJoint Obj
The second joint of the coupler gear.
firstRatio ExpressionValueVariable?
The first ratio of the coupler gear.
secondRatio ExpressionValueVariable?
The second ratio of the coupler gear.
name string
The name of the
symmetricType SymmetricType
The symmetric type of the new
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'subSystemDocument', 'firstJoint', 'secondJoint' is null.
CreateRackAndPinion(SubSystemDocument, Obj, Obj, ExpressionValueVariable?, ExpressionValueVariable?, string, SymmetricType)
Create
[NotNull(new string[] { "subSystemDocument" })]
[NotNullObj(new string[] { "firstJoint", "secondJoint" })]
[MatchTypeObj(new object[] { "firstJoint", typeof(ITranslationalMotionComponent), "secondJoint", typeof(IRotationalMotionComponent) })]
public static Obj CreateRackAndPinion(this SubSystemDocument subSystemDocument, Obj firstJoint, Obj secondJoint, ExpressionValueVariable? firstRatio = null, ExpressionValueVariable? secondRatio = null, string name = "", SymmetricType symmetricType = SymmetricType.None)
Parameters
subSystemDocument SubSystemDocument
The document to create the coupler rack and pinion.
firstJoint Obj
The first joint to create the coupler rack and pinion.
secondJoint Obj
The second joint of the coupler rack and pinion.
firstRatio ExpressionValueVariable?
The first ratio of the coupler rack and pinion.
secondRatio ExpressionValueVariable?
The second ratio of the coupler rack and pinion.
name string
The name of the
symmetricType SymmetricType
The symmetric type of the new
Returns
The new
Exceptions
ArgumentNullException
Will be thrown if 'subSystemDocument', 'firstJoint', 'secondJoint' is null.