Part
Overview
Part is one main item of the configurator.
Part can be added to a Structure Logic, like Linear Structure or Free Placement Structure, Product, Item List, Accessory Slot and of course to a part.
To add a part, select it from the context menu of the item that supports adding it
The part provides the following context menu:
Base property
The Base properties of the Part cover thumbnail, name, description and link to the 3D asset which are rendered in the planner. There are control parameters for positioning the 3D asset in the scene and toggles that specify if the part can be selected, shown in measurements and if the part is hidden.
Root Properties
Property Name | Type | Localized | Description |
---|---|---|---|
ThumbnailImageAssetId | PNG/JPEG Asset | N | Thumbnail used for the part to visualise on the Planner |
ThreeDModelAssetId | GLTF Asset | N | 3D model asset for the part |
Size | Vector | N | Size of the bounding box of the 3D model. Size of the actual 3D model will not be affected. You can restore the original value coming from the 3D asset by clicking the reset button if you edit this |
Offset | Vector | N | Offset of the 3D model from the positioning point. Useful if the 3D model is not centered properly |
Rotation | Degrees | N | Rotation of the 3D model, useful to align the 3D model in case it is not perfectly aligned at creation time |
Measurable | Toggle | N | Toggle to enable/disable if the part is shown in measurements |
Selectable | Toggle | N | Toggle to enable/disable if this item can be selected in the planner view |
DisplayName | Text field | Y | The short name shown for this part in the Planner, if empty Product title used |
Description | Text field | Y | The short text shown for this part in the Planner |
Hidden | Toggle | N | Toggle to hide/make visible the part. Useful to hide parts not needed in composition for example due to editing or other purposes. |
ElementSelectionMask | Toggle | N | Toggle to apply a selection mask on the part. Makes it easier to select thin parts, especially on touch screens. Also improves performance if the part contains complex geometry. |
MeasureOverride | Vector | N | Overrides the Size measurements. Used also to display the measures in Composition and parts (triggered by ShowSummaryMeasures switch in Product) |
Optional property sets
ScalingPlaneGroup
Property Name | Type | Localized | Description |
---|---|---|---|
TargetSize | Scripting | N | |
PlaneNormal | Vector | N | |
ScaleTextures | Toggle | N | Should the linked materials be scaled appropriately as well |
ScalingPlanes | Parameter set | N |
Each Scaling Plane has the following properties
Property Name | Type | Localized | Description |
---|---|---|---|
planePoint | Vector | N | |
weight | Number | N |
LinearStructureProperties
The property set defines the following properties for both 'Left' and 'Right' of the part.
Property Name | Type | Localized | Description |
---|---|---|---|
Enabled | Toggle | N | A toggle to turn on/off the side of the part. Used to define parts that end the composition. |
Alignment | Vector | N | Positioning the connector placement in 3D space. Used to place the connector on the right placement on the 3D space |
Offset | Vector | N | |
AlignedOffset | Vector | N | |
Rotation | Degrees | N | Rotation of the connection point. Used for angled parts to change the direction of the connection point. Note that this rotation affects the alignment of the connector after rotation |
Additionally, the property set defines these properties.
Property Name | Type | Localized | Description |
---|---|---|---|
IsStartingOption | Toggle | N | Determines if the part can be used as the first part in the structure. A linear structure must have at least one part which has this enabled. |
Plug
Plug is a counter part to an Accessory slot. It defines the connection point of the accessory part itself and permits using very different accessories in an accessory slot. The plug allows the accessory to define the place where it 'plugs into the (accessory) slot'. It is commonly used with accessories that are placed differently on the parent part and adjusting placement of the accessory slot would not be useful as the accessories need to have different parameters for correct placement. Without a specific plug component on the accessory, the default placement will be used.
Property Name | Type | Localized | Description |
---|---|---|---|
Alignment | Vector | N | The placement of the plug connection point in respective to the part it is defined with. |
Offset | Vector | N | |
AlignedOffset | Vector | N | |
Rotation | Degrees | N | Rotation of the plug connection point in respect to the part it is defined with. Useful for angled accessories or where the 3D model isn't perfectly aligned |
FreePlacedOptionProperties
Connection point
Property Name | Type | Localized | Description |
---|---|---|---|
Alignment | Vector | N | |
Offset | Vector | N | |
AlignedOffset | Vector | N | |
Rotation | Degrees | N | Rotation of the connection point on the item. Note that rotation affects the alignment of the connection point after rotation |
GridOptionProperties
Grid option properties are used for parts inside a grid structure.
Property Name | Type | Localized | Description |
---|---|---|---|
Alignment | Vector | N | The placement of the plug connection point in respective to the part it is defined with. |
Offset | Vector | N | |
AlignedOffset | Vector | N | |
Rotation | Degrees | N | Rotation of the plug connection point in respect to the part it is defined with. Useful for angled accessories or where the 3D model is not perfectly aligned |
Grid Cover Definition | --- | N | A detailed editor which controls how the part connects to the grid. The size of the grid cell is defined here for all grid parts. Additionally, more complex grid part logic can be defined here, such as multi-cell components and area, edge, and corner types which factor into the grid connectivity rules. For more information, see Grid Cover Definition. |
RequireConnection | Toggle | N | If enabled, this part must form a connection with an another component in the grid. and can not be the first component. This check considers only local connectivity, as opposite to the RequireConnectedness on grid level. If all the connected parts are removed, this component will be automatically removed as well. |
SalesCodeMapping
SalesCodeMapping property set is used to define the logic to determining SKU (Stock-Keeping Unit) codes used for integrations and Summary. When integrating the 3D ecommerce configurator with eCommerce platforms, both must explicitly know the same set of SKUs in order for the configurator to be able to show proper prices and map the composition configuration to an order (Add To Cart)
Property Name | Type | Localized | Description |
---|---|---|---|
Amount | Scripting | N | The defaul number of units each item where this property is defined will be counted, typically 1, but occasionally something else based on logic |
CaseGroups | Logic Fields | N | For each logic group, a selection of case split logic rules in the rule field that define an outcome code into the code field. * denotes applies to all definition A case-split can be based on scripting logic, a child condition (eg. material slot or accessory slot selection), Multiple case groups perform an composed SKU code. Refer to Sales Code Mapping for more information |
CustomMeasure
Property Name | Type | Localized | Description |
---|---|---|---|
StartPoint | Vector/scriptable | N | Starting point of the measurement line. Can be dynamic based on scripting |
EndPoint | Vector/scriptable | N | Ending point of the measurement line. Can be dynamic based on scripting |
Enabled | Toggle/scriptable | N | Toggle to enable/disable this custom measure. Can be dynamic based on scripting |
CustomProperties
Custom Property set (or sets) allow definition of logic that defines something that otherwise is not predefined in the system logic.
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.
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
Property Name | Type | Localized | Description |
---|---|---|---|
Tag | Text field | N | A label that is associated with the item it's been configured to |
IntegrationData
Integration data property set is used to add metadata to product parts and / or materials.
Property Name | Type | Localized | Description |
---|---|---|---|
Name | Text field | Y | The name of the integration data property. It can be referred to in scripting from elsewhere |
Value | Scripting | N | Value or scripting logic that the property has |
Example of how this might look in the SalesData json:
"properties": {
"Material": "Fabric Petrol"
},
Originally our product summary / Bill of Materials(BOM) has listed and counted items(parts of the composition) based on SKU's. When using integration data, the list takes the provided metadata into account while summarizing items.
This change means that parts with identical SKU's but different integration data (colors or materials specified) are treated as separate items in the summary / BOM.
Example of usage
Some e-commerce platforms have product variant limits, which hinders stores that have a vast variety of colors and materials. Using integration data property set in manager (management.vividworks.com), material and color options can be put to product parts metadata.
This removes the need for putting SKU's for materials, thus also removing the issue of product variant limit.
How above example would work and look in Shopify
In Shopify, the visibility of data can be configured with two options:
The data can be displayed to both the shop owner and to the customer. It would be visible in cart and checkout (and for shop owner only, in 'orders' tab in Shopify admin view.) This can be implemented using Shopify's cart line item properties.
Red arrow in above image shows the result of configuring integrationdata in the way of the example.
Red arrow in above image shows the result of configuring integrationdata in the way of the example.
Red arrow in above image shows the result of configuring integrationdata in the way of the example.The data can be set to display only to the shop owner, in 'orders' tab in Shopify admin view. This can be implemented using Shopify's cart line item hidden properties. This way, the end customer will not see the metadata at all.
Red arrow in above image shows the result of configuring integrationdata in the way of the example.
AnimationProperties
Property Name | Type | Localized | Description |
---|---|---|---|
Enabled | Toggle/scriptable | N | Toggle to enable or disable the animation. Can be dynamic based on scripting |
SelectedPlayMode | Radio Button | N | Play mode to be used for palying the animation. |
Animations | Drop Down | N | Allows selecting an animation out of the animations found in 3D model configured for the part. |
Currently only single Animation properties propertyset can be added per part.
Play modes
Play mode name | Description |
---|---|
Continuous | Animation starts playing from begin to end on repeat. Started with animation play button and stopped on second press. |
PlayOnce | Animation plays from start to finish once and resets to original state. So starts from beginning on each press of play button |
PlayAndReverse | Animation plays to end, but stays in final state until played again. Plays in reverse the second time. |
ARProperties
The ARProperties is an optional property set specific for Parts. It controls the appearance of a part in the virtual space. Currently only single "ARProperties" propertyset can be added per part.
Property Name | Type | Localized | Description |
---|---|---|---|
Visibility | Radio Button | N | Controls the visibility of an item and children in AR view. |
AR visibility modes
Visibility modes name | Description |
---|---|
Visible | Default behavior. Item and children are visible |
HideItemAndChildren | Item and its children are hidden |
HideItemOnly | Item is hidden while the children will remain visible |