The purpose of this page is to explain how to implement the management of decoration strip position in the ByMe kitchen planner.
The decoration strip is a linear feature that is generated dynamically along the bottom of the wall cabinet from the following information:
- The deco strip section BMA,
- A front path defined on the box assembly,
- A material 🔗 defined on the product;
- A parameter (decoStripOption)🔗 defined on the cabinet.
|Deco strip section||A polyline or a polyedge in the deco strip BMA that defines the shape of the deco strip.|
|Bottom paths||The lines defined on the bottom of the box as paths to generate the deco strip.|
The Deco Strip Section BMA
A deco strip assembly consists in one section product implemented by a parametric component; however, this product is not visible in 3D.
In other words, this BMA is a polyline or a polyedge that defines the shape of the strip. Your convention may be to build the edges in anti-clockwise orientation; in this case, the matter of the deco strip would be on the left of the edge.
The section shape shall be defined in XY plan and oriented as illustrated below.
Decoration Strip Parameters
The deco strip BMA does not have any component, however it has different dimension parameters to define:
- The thickness of the deco strip
- The height of the deco strip
- Contoured size and radius parameters for the shape
- An offset to the path if needed
Click Add new parameter on the main menu, rename the parameter (camel case) then select the type number because these are dimension parameters. Finally, define the value.
Case of Multiple Sections
In case of multiple sections, it can be useful to drive the activation of the section component, to switch from the horizontal to vertical section for example.
First, create the
sectionOrientation parameter to enable the modification of the deco strip orientation; this parameter is a boolean:
'true' = vertical 'false' = horizontal
Then, create two ternary relations that will use this parameter:
horizontalSectionActivity = "sectionOrientation===0?true:false" verticalSectionActivity = "sectionOrientation===0?false:true"
This means that if the
sectionOrientation parameter is equal to 0 then
horizontalSectionActivity is 'true' then 'false' and then
verticalSectionActivity is 'false' then 'true'.
Section Output Set
The deco strip section assembly is made of one output set (named "section") that can be defined either by:
- A parametric polyline (a straight line between at least two points)
- A parametric edge line (if curves are needed on the section)
All points of the set can be parametric and it is mandatory to add all the lines or curves needed to close the section.
The following output set has been defined:
- The polyline set has been renamed into "section"
- 6 points have been defined
- Point 0 and point 6 have the same coordinates to close the section
On the scene, the section is materialized by a black line with 5 points. The position of Point 0 (the start point) and Point 6 (the end point) is the origin point of the axes, on the Z-axis.
Indeed, the position and the orientation of the section is important:
- The section has to be placed from the Z-axis because it is representing the path used for the sweep function.
- Orientation is defined by the fact that sweep function is done from the right to the left of the cabinet following the bottom narrow/outer paths defined on it (see below Deco Strip Position).
Before creating the output set you have to define relations on all the axes to create variable positions for the points of the paths.
For these relations, the formulas will use the parameters, as illustrated below.
Create the Output Set
- Click Add a polyline set and rename it into section (do not capitalize the first letter).
- Click Add a polyline.
- Click Add a point to add the first point. The default coordinates are (0, 0, 0): click the point to change them. a. X: Slide the toggle button to Symbol and select xPointPosition1 in the Relations drop-down list. b. Y: Slide the toggle button to Symbol and select yPointPosition1 in the Relations drop-down list. c. Z: Enter 0.
- Click Add a point to add the second point. Change the default coordinates into: a. X: Select xPointPosition1 in the Relations drop-down list. b. Y: Select yPointPosition2 in the Relations drop-down list. c. Z: Enter 0.
- Repeat step 4 to add three more positions with adapted coordinates.
- Repeat step 3 to add the last point with the same coordinates as the first point.
Deco Strip Position
When the decoration strip is enabled on the cabinet (
decoStripOption parameter 🔗 defined on the product), two output set must be defined under the box to define the paths for the deco strip.
Each output set is parametric polyline drawn between at least two points (start and end).
The output set will contain:
- A narrowBottomPath to guide the strip on the bottom front of the cabinet;
- An outterBottomPath to guide the strip on the bottom back of the cabinet.
These paths will be also used to guide the extension of the strip to the sides, if the
rightCorniceBack parameters are enabled on the product. For example, the deco strip will use the narrow path and the left point of the outter path to extend on the left.
📌 The paths are defined at the box sub-assembly level in Assembly Editor, in a BMA that must have the "Box" product ID.
About the Paths
To be considered as a linear path, these output sets must:
- Have the correct name;
- Start from the right to the left: The start point (point0) is defined on the X-axis;
- Be positioned on the edge of the frame;
- Take panels into account (wall panel, cover panel, waterfall);
- Accept more than two points (especially for corner cabinets);
- Define clearly a single start point and a single end point, i.e. not be too closed from each other.
Create the Relations
Because the deco strip is a linear that will be stretched dynamically along the cabinet, you have to use relations to define variable coordinates.
📌 The positions below are given for the bottom paths as an example. They take offset parameters (
LeftDecoStripBackOffset) into account that is not described in this documentation. There is no strong rule to name the relations except using camel case.
Position on the X-Axis
Create a first relation to define the position of the start point (Point 0) on the X-axis for the bottom path.
- Click Create new relation.
- Click the default name to display the properties.
- Rename the relation into xPoint0_BottomPathPosition.
- Select number in the Type drop-down list.
- Go to the Expression field and enter a formula referring to the width parameter:
width*0.5+RightDecoStripBackOffsetas illustrated below.
- Press Enter to save the expression and update the Value field above.
Then, repeat the whole process to define the X position of the end point (Point 1):
- Rename the relation into xPoint1_BottomPathPosition
- The formula is
Position on the Y-Axis
Proceed in the same way to define two variable positions on the Y-axis:
- Define a front position with the relation yNarrowPathPosition, which formula is
- Define a back position with the relation yOuterPathPosition, which formula is
Position on the Z-Axis
You do not need to define a relation for the Z-axis because all the points are positioned under the box on the origin point and the value is thus 0.
Create the Output Set
The next step consists in creating the output sets and defining the points between which the lines will be drawn. The coordinates of the points will be determined through the relations.
Create the first output set by clicking Add a polyline set.
- Click the default name to access the properties and rename it into narrowBottomPath.
- Click Add a polyline to specify that you will draw a line. You cannot rename the polyline.
- Click Add a point to specify the start point of the line with the following coordinates: a. X: Slide to Symbol and select the relation xPoint0_BottomPathPosition. b. Y: Slide to Symbol and select the relation yNarrowPathPosition. c. Z: Enter 0.
- Repeat step 3 to create the end point of the line with the following coordinates: a. X: Select the relation xPoint1_BottomPathPosition. b. Y: Select the relation yNarrowPathPosition. c. Z: Enter 0.
❗️ Repeat the whole proceeding to define the second polyline on the back of the box; rename it into outerBottomPath, use the same points for the X and use the relation yOuterPathPosition for the Y position.
The output sets are now defined and the box is ready to receive a decoration strip in the Kitchen Planner.