Jump to content

Component: Clone Matrix (Misc): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(16 intermediate revisions by 2 users not shown)
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_Clone_Matrix.fcfx FC_Comp_Source_Clone_Matrix.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Clone_Matrix.fcfx FC_Comp_Source_Clone_Matrix.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Clone_Matrix.fcfx FC_Comp_Source_Clone_Matrix.fcfx]


==Detailed description==
==Detailed description==




Line 34: Line 50:


==Examples==
==Examples==




Line 72: Line 102:
{{Fcfile|CloneMatrix.fcfx|CloneMatrix}}
{{Fcfile|CloneMatrix.fcfx|CloneMatrix}}


==Downloadable macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetHandleFor'''
|-
| colspan="2" | Gets the handle of the Nth object in the matrix. Index counts in the order along X, then Y, then Z. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Index
|-
| colspan="2" | Index of the object to get a handle for. 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
 
 
 
 
 
==Macro reference==
 
===GetHandleAt===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetHandleAt'''
| width="90%" class="mtx-class-macrohead" | '''GetHandleAt'''
|-
|-
| colspan="2" | Gets the handle of the object at position [X, Y, Z] in the matrix. 
| colspan="2" | Gets the handle of the object at position [X, Y, Z] in the matrix. 
Line 120: Line 143:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetHandleFor===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Update'''
| width="90%" class="mtx-class-macrohead" | '''GetHandleFor'''
|-
| colspan="2" | Gets the handle of the Nth object in the matrix. Index counts in the order along X, then Y, then Z. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Index
|-
| colspan="2" | Index of the object to get a handle for. 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===Update===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Update'''
|-
|-
| colspan="2" | Updates the matrix to reflect any changes to the source object. NB) This will discard any changes made to individual objects within the array. 
| colspan="2" | Updates the matrix to reflect any changes to the source object. NB) This will discard any changes made to individual objects within the array. 
Line 131: Line 174:
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
Line 153: Line 194:
| colspan="2" | Whether the original object should be hidden once copied into the array. The object will be revealed automatically if the target object is changed or disconnected. 
| colspan="2" | Whether the original object should be hidden once copied into the array. The object will be revealed automatically if the target object is changed or disconnected. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | X Axis
| width="90%" class="mtx-class-propfolder" | X Axis
|-
|-
|-
|-
Line 167: Line 208:
| colspan="2" | Distance between columns along the X-axis. 
| colspan="2" | Distance between columns along the X-axis. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Y Axis
| width="90%" class="mtx-class-propfolder" | Y Axis
|-
|-
|-
|-
Line 181: Line 222:
| colspan="2" | Distance between rows along the Y-axis. 
| colspan="2" | Distance between rows along the Y-axis. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Z Axis
| width="90%" class="mtx-class-propfolder" | Z Axis
|-
|-
|-
|-

Latest revision as of 14:36, 13 July 2026

Author Matrix Ltd
Version 1.1
Category Misc


Clone Matrix component

Takes a single object and produces a three dimensional array of evenly spaced clones. Inidividual items in the array can be found from their position and individually modified after the array has been created.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Clone_Matrix.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Clone_Matrix.fcfx

Detailed description

No detailed description exists yet for this component

Examples

The clone matrix can be used to create multiple panel objects based on the geometry of a single object.


Here we have a sphere object on the panel


By adding the Clone Matrix component and configuring the component properties we generate the cloned objects. If we need to re-clone the objects at any time then we can simply refresh the properties of the clone matrix component.


Here is the final output result on the panel.


Once the matrix is generated you can control the properties of the individual items.


Example showing how to collect the handle of one of the clones to allow it's individual characteristics to be edited. For example in creating the simulation for a LED Cube or Array. CloneMatrix






Macro reference

GetHandleAt

GetHandleAt
Gets the handle of the object at position [X, Y, Z] in the matrix. 
- BYTE IndexX
 
- BYTE IndexY
 
- BYTE IndexZ
 
- HANDLE Return


GetHandleFor

GetHandleFor
Gets the handle of the Nth object in the matrix. Index counts in the order along X, then Y, then Z. 
- UINT Index
Index of the object to get a handle for. 
- HANDLE Return


Update

Update
Updates the matrix to reflect any changes to the source object. NB) This will discard any changes made to individual objects within the array. 
- VOID Return


Property reference

Properties
Target Object
Chooses the original panel object to be cloned into the matrix. 
Hide Target
Whether the original object should be hidden once copied into the array. The object will be revealed automatically if the target object is changed or disconnected. 
X Axis
Count
Number of columns of clones along the X-axis. 
Spacing
Distance between columns along the X-axis. 
Y Axis
Count
Number of rows of clones along the Y-axis. 
Spacing
Distance between rows along the Y-axis. 
Z Axis
Count
Number of layers of clones along the Z-axis. 
Spacing
Distance between layers along the Z-axis.