Table of Contents

Linear Structure

Overview

Linear structure is a structure logic that allows construction of modular products using 'left-right' logic. This means that for any item in the composition, the configuration permits definition of connectors (points to which another item can be connected) both on the 'left' and/or 'right' of the item. While left and right have connotation in certain way, the left and right connectors may be applied more freely in practice, for example to develop corner or angled elements.

For configuring assembly rules with this logic, there's two fundamental sets of configuration. The configuration specific to each part (see: per part configuration) and the Linear Structure logic configuration (see: Linear Logic Connectivity Matrix). The connectivity matrix builds on the per part configuration, hence you should study the configuration documentation in that order.

You add Linear Structure Logic to the product tree by adding the logic to the product in question. Add Linear Logic to Product

You then either add new parts (see: add items in product tree or move parts as children under the Linear logic (see: moving items in product tree)

Base properties

RootProperties

Linear Structure Root Properties

Property Name Type Localized Description
Enabled Toggle/scripting N Toggle this to enable/disable all the elements under the linear structure. If toggle is disabled, in the web app they will be hidden
DisplayName Text Field Y Used as a subcategory name
ItemPlacement Radio Button N When instantiating an elemen: - PlaceSingle (will show the possible placer one time only, then you need to click the element again.) - PlaceInSequence (will show the placer automatically after every addition, hence making adding new elements faster.)

LinearStructureMeasurements

Linear Structure Measurement Properties

Property Name Type Localized Description
Height Number N The height offset for measure stick positions
DepthDetailCutoff Number N The minimum lenght of depthwise measures before they are aggregated together

Optional property sets

Connectivity Matrix

Linear Structure Connectivity Matrix Properties

Property Name Type Localized Description
Expand Matrix Button N Opens a new panel for editing the connectivity matrix
Connections chart view N the mapping 'left' to 'right' of all parts defined under this Linear Structure see Linear Logic Connectivity Matrix

CustomProperties

Custom Property set (or sets) allow definition of logic that defines something that otherwise is not predefined in the system logic.

CustomPropertyPanel

Property Name Type Localized Description
Name Text field Y The name of the custom property. It can be referred to in scripting from elsewhere
Value Scripting N Value or scripting logic that the property has

ValidationRule

Validation rule property set is used to define logic that can be useful to ensuring the the item where the validation rule is will follow define rules.

ValidationRulePropertyPanel

Property Name Type Localized Description
DisplayMessage Text Field Y Text that is shown on the Planner when the conditions of the rule are true
Level Radio Button N Selection should the rule show error, suggestion or indicating something is missing
Trigger Scripting N The logic that defines the validation rule

ClassificationTag

Classification tag allows the configurator to define a name in the system that can be referred to in other logic components through the scripting system

ClassificationPropertyPanel

Property Name Type Localized Description
Tag Text field N A label that is associated with the item it's been configured to

Per part configuration

The Parts that are placed as childs of the Linear Structure are considered as items where the logic of the Linear Structure will apply. In the image below, the parts from '1-seater' to 'Test2' are child items of the Linear Structure logic named 'Linear'.

LinearLogic

All child items of Linear Structure logic will introduce a property set called "LinearStructureProperties" and the property set will define parameters for the connection points on the 'left' and 'right'.

Example of the LinearStructurePropertyset

parameter type explanation
left or right toggle the connection point on this side is enabled or not
Alignment 3D coordinate the position of the connector in 3D space
Offset 3D coordinate absolute offset of the 3D mesh on the bounding box
AlignedOffset 3D coordinate relative offset of the 3D mesh on the bounding box
Rotation degrees on 3d axises degree of turn in the respective 3D axis relative to the bounding box

Refer to the 3D terminology and 3D configuration guides for detailed explanation of the parameters for alignment, offset, AlignedOffset and Rotation

With the 4 parameters, one can build many kinds of sellable items like modular sofas and other furniture, industrial production lines based on module-subsystems. The rotation parameter is used to rotate the connection point by some degrees, with which you can achieve corner pieces, angled pieces and other modules that dont exactly align with other items in absolutely linear form.

Alignment

The alignment parameter defines the location of the connector in 3D space relative to the parts' 3D model. The 3D product configurator is scaled to 1 cm equaling 0.01 distance in 3D space, thus setting the alignment parameter is rather straight forward when you know the physical dimensions of the part in question and potentially experiment the positioning when defining compositions.

When editing the values, negative values on x: moves the connection point left relative to the front of the part and positive to the right. Likewise negative y: moves point down and positive up. Negative z: moves the connector closer to the front and positive moves it further away

Offset

AlignedOffset

Rotation

When working with the connector rotation parameter, what you are aiming to do is to rotate the plane on the proper axis toward the right direction. On the sofa example, the 30-degree module is used:

no rotation no rotation params
In the above pictures, the rotation parameters are both 0 and thus the 3D view shows connection points straight on the bounding box.

left rotation ok left rotation params
When the rotation parameter of the left connector y: axis is changed by -15.0 degrees ie rotated counter-clockwise by 15 degree, the connector aligns properly with the 3d model connection on the next item.

both rotation ok both rotation params
And when the rotation parameter of the right connector y: axis is change by 15.0 degrees ie. rotated clockwise by 15 degrees, the connector aligns properly with the 3d model connection on the next item.

Refer to the 3D model configuration guide for rotation guidance.

You can achieve connection point alignment of many structure elements using the rotation parameter alone, but occasionally you additionally need to adjust alignment which affects the placement of the connection point.

Linear Logic Connectivity Matrix

When items have their individual connectors defined, it becomes easier to define the connectivity matrix. The matrix is formed on columns and rows and checkmarks crossing the column and row. The rows represent item on the left and the column represent item on the right and the checkmark means "this item on the left can be connected with this item on the right". This is very flexible and powerful way to define items that can only be attached to a certain other item on certain side, like arm rests or other elements that end the composition (ie. have connector only on one side), but also certain modules only attaching to a certain other module and not all modules. The planner application will leverage the connectivity information and help the user to select appropriate placement and when there only can be one, automatically place the item there.

Below you can find an example picture of a connectivity matrix:
Connectivity Matrix

If you read it from the 1st row 1-Seater to the right, you can see that 1-seater can be connected with all other items than a LeftArmRest on its right connector. In the planner, this works out so, that you can only see the modules you could attach and the side in which they can be attached.

Connectivity of 1-seater to left

If you read the 1st column 1-seater to the left, you can see that 1-seater can be connected with all other items than RightArmRest on it's left connector.

Connectivity of 1-seater to right

If you read the connectivity matrix for 90-degree corner piece, you'll notice that it cannot be connected with itself, nor with either of the arm rests. This gets automatically reflected on the modules menu when the piece is placed, so the only available modules are the valid ones when 90-corner is selected. This rule system ensures that only permitted combinations can be placed by the user.

90-degree-model 90-degree-pieces