Class ChainedSystemAPI
Last update: 16.07.2025Namespace: VM.API.Pre.Links
Assembly: VM.API.Pre.Links.dll
This class implements APIs for chained system.
public static class ChainedSystemAPI
Inheritance
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Methods
AddObjectToActiveDocument(Obj, int, int, IEnumerable<string>, IEnumerable<TMatrix>, IEnumerable<Document3D>, bool)
Add object to active document.
[NotNullObj(new string[] { "chainedPlacing" })]
[NotNull(new string[] { "preFixed", "transforms", "segmentDocuments" })]
[MatchTypeObj(new object[] { "chainedPlacing", typeof(ChainedPlacing) })]
public static IEnumerable<Obj> AddObjectToActiveDocument(this Obj chainedPlacing, int numberOfSegment, int numberOfSegmentData, IEnumerable<string> preFixed, IEnumerable<TMatrix> transforms, IEnumerable<Document3D> segmentDocuments, bool isCreate)
Parameters
chainedPlacing Obj
The chained placing to add object.
numberOfSegment int
The number of segment.
numberOfSegmentData int
The number of segment data.
preFixed IEnumerable<string>
The pre-fixed names. The length is 'numberOfSegmentData'.
transforms IEnumerable<TMatrix>
The segment transforms. The length is 'numberOfSegment'.
segmentDocuments IEnumerable<Document3D>
The segment data documents. The length is 'numberOfSegmentData'.
isCreate bool
The create flag. If operation is modify state, You can put the value in 'false'.
Returns
IEnumerable<Obj>
The new segment list
Exceptions
Will be thrown if 'chainedPlacing' arguments are empty.
Will be thrown if type of 'chainedPlacing' is not
Will be thrown if type of 'preFixed', 'transforms', 'segmentDocuments' arguments are empty.
Will be thrown if 'numberOfSegmentData' value is greater than 'numberOfSegment' value.
Will be thrown if the length of 'preFixed' is not equal 'numberOfSegmentData' value.
Will be thrown if the length of 'segmentDocuments' is not equal 'numberOfSegmentData' value.
Will be thrown if the length of 'transforms' is not equal 'numberOfSegment' value.
ChangeObjectLayer(Obj, IEnumerable<Obj>, IEnumerable<bool>)
Change object layer.
[NotNullObj(new string[] { "chainedPlacing" })]
[NotNull(new string[] { "visibleObjects", "visibleStates" })]
[MatchTypeObj(new object[] { "chainedPlacing", typeof(ChainedPlacing) })]
public static void ChangeObjectLayer(this Obj chainedPlacing, IEnumerable<Obj> visibleObjects, IEnumerable<bool> visibleStates)
Parameters
chainedPlacing Obj
The chained placing to change object.
visibleObjects IEnumerable<Obj>
The objects to be changed.
visibleStates IEnumerable<bool>
The vislble flags.
Exceptions
Will be thrown if 'chainedPlacing' arguments are empty.
Will be thrown if type of 'chainedPlacing' is not
Will be thrown if type of 'visibleObjects', 'visibleStates' argument is empty.
CreateCenter(DocumentChainedPath, string, Color?, bool)
Create center roller
public static Obj CreateCenter(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the center roller solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateCenter(PartDocumentChainedPath, Color?)
Create center roller
public static Obj CreateCenter(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the center roller body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateChainedSystem(SubSystemDocument, IEnumerable<Obj>, string)
Create chained system
[NotNull(new string[] { "document", "pathList" })]
public static Obj CreateChainedSystem(this SubSystemDocument document, IEnumerable<Obj> pathList, string name = "")
Parameters
document SubSystemDocument
The document to create the chained system.
pathList IEnumerable<Obj>
The path list.
name string
The name of the
Returns
Obj
The new
Exceptions
Will be thrown if 'document' , 'pathList' are null.
Will be thrown if item type of 'pathList' is not
CreateDouble(DocumentChainedPath, string, Color?, bool)
Create double roller
public static Obj CreateDouble(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the double roller solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateDouble(PartDocumentChainedPath, Color?)
Create double roller
public static Obj CreateDouble(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the double roller body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateFlat(DocumentChainedPath, string, Color?, bool)
Create flat roller
public static Obj CreateFlat(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the flat roller solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateFlat(PartDocumentChainedPath, Color?)
Create flat roller
public static Obj CreateFlat(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the flat roller body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateGeneral(DocumentChainedPath, string, Color?, bool)
Create general roller
public static Obj CreateGeneral(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the general roller solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateGeneral(PartDocumentChainedPath, Color?)
Create general roller
public static Obj CreateGeneral(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the general roller body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateSingle(DocumentChainedPath, string, Color?, bool)
Create single roller
public static Obj CreateSingle(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the single roller solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateSingle(PartDocumentChainedPath, Color?)
Create single roller
public static Obj CreateSingle(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the single roller body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateSprocket(DocumentChainedPath, string, Color?, bool)
Create sprocket
[NotNull(new string[] { "document" })]
public static Obj CreateSprocket(this DocumentChainedPath document, string bodyName = "", Color? color = null, bool isInterface = false)
Parameters
document DocumentChainedPath
The document to create the sprocket solid body.
bodyName string
The name of the
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
isInterface bool
'true' if it is interface body. Otherwise, 'false'.
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
CreateSprocket(PartDocumentChainedPath, Color?)
Create sprocket
[NotNull(new string[] { "document" })]
public static Obj CreateSprocket(this PartDocumentChainedPath document, Color? color = null)
Parameters
document PartDocumentChainedPath
The document to create the sprocket body.
color Color?
The color of the new flat roller geometry. The default value is '0xBFAAAA'
Returns
Obj
The new
Exceptions
Will be thrown if 'document' is null.
DeleteObjectList(Obj, IEnumerable<Obj>)
Add object to active document.
[NotNullObj(new string[] { "chainedPlacing" })]
[NotNull(new string[] { "deletedObjects" })]
[MatchTypeObj(new object[] { "chainedPlacing", typeof(ChainedPlacing) })]
public static void DeleteObjectList(this Obj chainedPlacing, IEnumerable<Obj> deletedObjects)
Parameters
chainedPlacing Obj
The chained placing to delete object.
deletedObjects IEnumerable<Obj>
The objects to be deleted.
Exceptions
Will be thrown if 'chainedPlacing' arguments are empty.
Will be thrown if type of 'chainedPlacing' is not
Will be thrown if type of 'deletedObjects' argument is empty.