Skip to main content

Motion Standalone Preprocessor C# library 2026 R1

Class HydroDynamicAPI

Last update: 09.03.2026

Namespace: VM.API.Pre.Links
Assembly: VM.API.Pre.Links.dll

This class implements APIs for hydro dynamic.

public static class HydroDynamicAPI

Inheritance

object ← HydroDynamicAPI

Extension Methods

LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)

Methods

CreateHydroForce(SubSystemDocument, Obj, Obj, IEnumerable<Obj>, string)

[NotNullObj(new string[] { "baseWater", "hullBody" })]
[MatchTypeObj(new object[] { "baseWater", typeof(IWater), "hullBody", typeof(IConnectable) })]
public static Obj CreateHydroForce(this SubSystemDocument document, Obj baseWater, Obj hullBody, IEnumerable<Obj> actionEntities = null, string name = "")

Parameters

document SubSystemDocument

baseWater Obj

hullBody Obj

actionEntities IEnumerable<Obj>

name string

Returns

Obj

CreateMasslessTrackLink(SubSystemDocument, Obj, Obj, IEnumerable<PathData>, ExpressionValueVariable?, ExpressionValueVariable?, string)

Create .

[NotNullObj(new string[] { "baseEntity", "hullMarker" })]
[MatchTypeObj(new object[] { "baseEntity", typeof(IContactableRigid3D), "hullMarker", typeof(IMarker) })]
[NotNull(new string[] { "paths" })]
public static Obj CreateMasslessTrackLink(this SubSystemDocument document, Obj baseEntity, Obj hullMarker, IEnumerable<PathData> paths, ExpressionValueVariable? thickness = null, ExpressionValueVariable? width = null, string name = "")

Parameters

document SubSystemDocument

The document to create the massless track link.

baseEntity Obj

The base entity.

hullMarker Obj

The hull marker.

paths IEnumerable<PathData>

The path information.

thickness ExpressionValueVariable?

The thickness.

width ExpressionValueVariable?

The width.

name string

The name of the . If empty, default name starts with 'MTL_' will be generated and used.

Returns

Obj

The new object that is created by this API.

Exceptions

ArgumentNullException

Will be thrown if 'document', 'baseEntity', 'hullMarker' are null.

ArgumentNullException

Will be thrown if 'paths' is null.

ArgumentException

Will be thrown if type of 'baseEntity' is not .

ArgumentException

Will be thrown if type of 'hullMarker' is not .

ArgumentOutOfRangeException

Will be thrown if 'thickness', 'width' value equal to or less than 0.

ArgumentException

Will be thrown if type of 'Marker' of paths is not .

ArgumentOutOfRangeException

Will be thrown if type of 'WindingRadius' of paths value equal to or less than 0.

CreateMultiMasslessTrackLink(SubSystemDocument, IEnumerable<Obj>, Obj, IEnumerable<PathData>, ExpressionValueVariable?, ExpressionValueVariable?, string)

Create .

[NotNullObj(new string[] { "hullMarker" })]
[NotNull(new string[] { "baseEntities", "paths" })]
[MatchTypeObj(new object[] { "hullMarker", typeof(IMarker), "hullMarker", typeof(IMarker) })]
public static void CreateMultiMasslessTrackLink(this SubSystemDocument document, IEnumerable<Obj> baseEntities, Obj hullMarker, IEnumerable<PathData> paths, ExpressionValueVariable? thickness = null, ExpressionValueVariable? width = null, string name = "")

Parameters

document SubSystemDocument

The document to create the massless track link.

baseEntities IEnumerable<Obj>

The base entities.

hullMarker Obj

The hull marker.

paths IEnumerable<PathData>

The path information.

thickness ExpressionValueVariable?

The thickness.

width ExpressionValueVariable?

The width.

name string

The name of the . If empty, default name starts with 'MTL_' will be generated and used.

Exceptions

ArgumentNullException

Will be thrown if 'document', 'baseEntities', 'hullMarker' are null.

ArgumentNullException

Will be thrown if 'paths' is null.

ArgumentException

Will be thrown if type of Obj of 'baseEntities' is not .

ArgumentException

Will be thrown if type of 'hullMarker' is not .

ArgumentOutOfRangeException

Will be thrown if 'thickness', 'width' value equal to or less than 0.

ArgumentException

Will be thrown if type of 'Marker' of paths is not .

ArgumentOutOfRangeException

Will be thrown if type of 'WindingRadius' of paths value equal to or less than 0.

CreateSoilInteraction(SubSystemDocument, Obj, IEnumerable<Obj>, string)

Create .

[NotNullObj(new string[] { "baseEntity" })]
[MatchTypeObj(new object[] { "baseEntity", typeof(IContactableRigid3D) })]
public static Obj CreateSoilInteraction(this SubSystemDocument document, Obj baseEntity, IEnumerable<Obj> actionEntities, string name = "")

Parameters

document SubSystemDocument

The document to create the soil interaction.

baseEntity Obj

The base entity.

actionEntities IEnumerable<Obj>

The action entities.

name string

The name of the . If empty, default name starts with 'SoilInteraction_' will be generated and used.

Returns

Obj

The new object that is created by this API.

Exceptions

ArgumentNullException

Will be thrown if 'document', 'baseEntity' are null.

ArgumentException

Will be thrown if type of 'baseEntity' is not .

ArgumentException

Will be thrown if item type of 'actionEntities' is not .

CreateThrustForce(SubSystemDocument, Obj, Obj, Vector, Vector, string)

[NotNullObj(new string[] { "baseWater", "body" })]
[MatchTypeObj(new object[] { "baseWater", typeof(IWater), "body", typeof(IConnectable) })]
[NotZeroMagnitude(new string[] { "thrustingAxis" })]
public static Obj CreateThrustForce(this SubSystemDocument document, Obj baseWater, Obj body, Vector position, Vector thrustingAxis, string name = "")

Parameters

document SubSystemDocument

baseWater Obj

body Obj

position Vector

thrustingAxis Vector

name string

Returns

Obj

CreateWater(SubSystemDocument, Obj, Vector, Vector, Vector, ExpressionValueVariable?, ExpressionValueVariable?, ExpressionValueVariable?, string)

Create .

[NotNullObj(new string[] { "body" })]
[MatchTypeObj(new object[] { "body", typeof(IConnectable) })]
[NotZeroMagnitude(new string[] { "axisZ", "axisX" })]
public static Obj CreateWater(this SubSystemDocument document, Obj body, Vector position, Vector axisZ, Vector axisX, ExpressionValueVariable? lengthInXAxis = null, ExpressionValueVariable? widthInYAxis = null, ExpressionValueVariable? depthOfDeepWater = null, string name = "")

Parameters

document SubSystemDocument

The document to create the water.

body Obj

The body.

position Vector

The position.

axisZ Vector

The z axis.

axisX Vector

The x axis.

lengthInXAxis ExpressionValueVariable?

The length in x axis.

widthInYAxis ExpressionValueVariable?

The width in y axis.

depthOfDeepWater ExpressionValueVariable?

The depth of deep water.

name string

The name of the . If empty, default name starts with 'Water_' will be generated and used.

Returns

Obj

The new object that is created by this API.

Exceptions

ArgumentNullException

Will be thrown if 'document', 'baseEntity' are null.

ArgumentException

Will be thrown if type of 'baseEntity' is not .

ArgumentException

Will be thrown if type of 'actionEntities' is not .

ArgumentException

Will be thrown if the magnitude of 'axisZ'.

ArgumentException

Will be thrown if the magnitude of 'axisX'.

ArgumentException

Will be thrown if 'axisZ' is equal to 'axisX'.

Connect with Ansys