User Tools

Site Tools


ig:gfx:model-type-flatpanel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ig:gfx:model-type-flatpanel [2025/10/29 14:34] – [Profiles] ig_iiig:gfx:model-type-flatpanel [2025/10/29 15:59] (current) – ig_ii
Line 1: Line 1:
 ====== Model Type: FlatPanel 1.4 ====== ====== Model Type: FlatPanel 1.4 ======
 +{{:ig:gfx:modelprocessor:flatpanel_graphic_latex.png?nolink&600|}}
  
 === General Knowledge of How a 5-Piece Furniture Door (Model Type: FlatPanel) Is Constructed === === General Knowledge of How a 5-Piece Furniture Door (Model Type: FlatPanel) Is Constructed ===
Line 70: Line 71:
  
 Please look on next page for graphic for more clarity. Please look on next page for graphic for more clarity.
-{{newpage}}+
  
 ==== Graphical Representation of Board Positions ==== ==== Graphical Representation of Board Positions ====
  
-[]+^ **Figure 9: Board Placement** ^ 
 +| {{:ig:gfx:modelprocessor:board_position_graphics.png?nolink&600 |}} | 
 +^ Caption ^ 
 +| Board placement and coordinates with labeled corners. |
  
 **Frame Dimensions graphic layout explanation:** **Frame Dimensions graphic layout explanation:**
Line 82: Line 86:
   * **Width:** 609.6 mm — The horizontal span of the frame, measured between points **A**–**B** and **D**–**C**.   * **Width:** 609.6 mm — The horizontal span of the frame, measured between points **A**–**B** and **D**–**C**.
   * **Height:** 609.6 mm — The vertical span of the frame, measured between points **A**–**D** and **B**–**C**.   * **Height:** 609.6 mm — The vertical span of the frame, measured between points **A**–**D** and **B**–**C**.
-{{newpage}} 
  
 ==== Example: JSON Configuration for Board Positions ==== ==== Example: JSON Configuration for Board Positions ====
Line 125: Line 128:
 This example shows how to define board positions using JSON. Each board is given a unique **"board"** ID and a 2D coordinate **(x, y)** to specify its placement within the frame layout. Boards align with the overall structure, occupying specific **corners** or **edges** of the rectangle. This example shows how to define board positions using JSON. Each board is given a unique **"board"** ID and a 2D coordinate **(x, y)** to specify its placement within the frame layout. Boards align with the overall structure, occupying specific **corners** or **edges** of the rectangle.
  
-{{newpage}}+
  
 === Intersection Parameter ("intersection"): JSON Configuration for Joint Types === === Intersection Parameter ("intersection"): JSON Configuration for Joint Types ===
Line 180: Line 183:
  
 === Butt Joints "HORIZONTAL" and "VERTICAL" === === Butt Joints "HORIZONTAL" and "VERTICAL" ===
-[] + 
-[]+^ **Figure 10: Horizontal Butt Joint** ^ **Figure 11: Vertical Butt Joint** ^ 
 +| {{:ig:gfx:modelprocessor:horizontal_graphical_example.jpg?nolink&400|}} | {{:ig:gfx:modelprocessor:vertical_graphical_example.jpg?nolink&400 |}} | 
 +^ Caption ^ Caption ^ 
 +| Horizontal butt joint | Vertical butt joint (front view) |
  
 === Solid and Miter Joints "SOLID" and "TRIANGLE" === === Solid and Miter Joints "SOLID" and "TRIANGLE" ===
-[] + 
-[] +^ **Figure 12: Solid Monolithic Frame** ^ **Figure 13: Miter Joint (Triangle)** ^ 
-{{newpage}}+| {{:ig:gfx:modelprocessor:solid_graphical_example.jpg?nolink&400 |}} | {{:ig:gfx:modelprocessor:triangle_graphical_example.jpg?nolink&400 |}} | 
 +^ Caption ^ Caption ^ 
 +| Solid monolithic frame | Miter joint (45°) | 
 + 
  
 === Explanation of "innerPanel"{} Object Configuration === === Explanation of "innerPanel"{} Object Configuration ===
Line 229: Line 239:
   * **"SOLID1_3":** A panel with a complex shape, defined by a custom **path**. This model requires the **profile** and **path** parameters.   * **"SOLID1_3":** A panel with a complex shape, defined by a custom **path**. This model requires the **profile** and **path** parameters.
   * **"EMPTY":** No panel is generated (a void). If this model is selected, all other parameters in the ''innerPanel'' object are ignored, and only the frame is generated.   * **"EMPTY":** No panel is generated (a void). If this model is selected, all other parameters in the ''innerPanel'' object are ignored, and only the frame is generated.
-{{newpage}}+
  
 ==== Parameters for "innerPanel" ==== ==== Parameters for "innerPanel" ====
  
-  * **depth** (//number[mm]//): +  * **offset** (//object//):   
-    Thickness of the panel. Required only for the **"SOLID1_1"** model when no **profile** is given. +    Defines position and size adjustments for the panel and trim.   
-  * **profile** (//string//): +    Contains two sub-objects:
-    The name of the milled profile for the panel's surface. Required for **"SOLID1_3"** and optional for **"SOLID1_1"**. +
-  * **path** (//string//): +
-    The "id" of a path that defines the custom shape of the panel. Required only for the **"SOLID1_3"** model. +
-  * **trimProfile** (//string//): +
-    The path **id** name of the milled profile used for the trim. +
-  * **trimPath** (//string//): +
-    The path **id** of a path that defines the trim's shape, used for milling or cutting the board. +
-  * **centering** (//string//): +
-    Specifies how the ''innerPanel'' is centered relative to the frame before any offsets are applied. +
-    **Type:** ''string'' +
-    **Default:** ''CAVITY'' +
-    **Required:** No +
-    Valid options: +
-      * **FRAME** — center the inner panel relative to the frame boundaries. +
-      * **CAVITY** — center the inner panel relative to the cavity or cutout inside the frame.+
  
-    **Illustration:** +    * **panel:** transformations for the main panel   
-    [] +      * **translation:** (//object//) — ''x'', ''y'', ''z'' in millimeters; moves the panel relative to the frame center   
-    []+      * **dimensions:** (//object//) — ''x'', ''y'' in millimeters; adjusts panel size (used for **SOLID1_1**)  
  
-    **Note:** This parameter determines the **initial positioning** of the panel. Subsequent adjustments using **''offset''** will move or resize the panel relative to this centered position.+    * **trim:** transformations for the trim geometry   
 +      * **translation:** (//object//) — ''x'', ''y'', ''z'' in millimeters; moves the trim   
 +      * **scale:** (//object//) — ''z'' value for additive scaling on the Z-axis   
 +        (e.g., 0.01 → scale of 1.01, useful for small overlaps)
  
-  * **offset** (//object//): + 
-    An object that defines positioning and dimension adjustments for the panel and its trim. It has a nested structure:+Specifies how the ''innerPanel'' is centered relative to the frame before any offsets are applied. 
 + 
 +  * **Type:** ''string'' 
 +  * **Default:** ''CAVITY'' 
 +  * **Required:** No 
 + 
 +**Valid options:** 
 +  * **FRAME** — center the inner panel relative to the frame boundaries. 
 +  * **CAVITY** — center the inner panel relative to the cavity or cutout inside the frame. 
 + 
 +**Illustration:** 
 + 
 +^ **Figure 14: Panel Centered to FRAME** ^ **Figure 15: Panel Centered to CAVITY** ^ 
 +| {{:ig:gfx:modelprocessor:panel_center.png?nolink&400 |}} | {{:ig:gfx:modelprocessor:panel_cavity.png?nolink&400 |}} | 
 +^ Caption ^ Caption ^ 
 +| Panel centered to **FRAME** — aligned with the outer edges of the frame. The red cross shows the frame center. | Panel centered to **CAVITY** — aligned with the inner empty space of the frame. The green cross shows the cavity center. Particularly useful if the frame boards have different widths. | 
 + 
 + 
 +**Note:** This parameter determines the **initial positioning** of the panel. Subsequent adjustments using **''offset''** will move or resize the panel relative to this centered position. 
 + 
 + 
 +---- 
 + 
 +  * **offset** (//object//):   
 +    An object that defines positioning and dimension adjustments for the panel and its trim.   
 +    It has a nested structure:
     * **panel:** Contains transformations for the main panel.     * **panel:** Contains transformations for the main panel.
       * **translation:** An object with ''x'', ''y'', and ''z'' keys for moving the panel in millimeters relative to the frame's center.       * **translation:** An object with ''x'', ''y'', and ''z'' keys for moving the panel in millimeters relative to the frame's center.
Line 266: Line 289:
       * **translation:** An object with ''x'', ''y'', and ''z'' keys for moving the trim in millimeters.       * **translation:** An object with ''x'', ''y'', and ''z'' keys for moving the trim in millimeters.
       * **scale:** An object with a ''z'' key for additive scaling on the Z-axis (e.g., 0.01 results in a scale of 1.01), useful for creating overlaps.       * **scale:** An object with a ''z'' key for additive scaling on the Z-axis (e.g., 0.01 results in a scale of 1.01), useful for creating overlaps.
-    **Note:** A legacy flat structure for **''offset''** with top-level ''x'', ''y'', ''z'' keys exists but is not recommended for new configurations.+ 
 +**Note:**   
 +A legacy flat structure for **''offset''** with top-level ''x'', ''y'', ''z'' keys exists but is **not recommended** for new configurations.
  
 ==== Visual Examples for innerPanel Models ==== ==== Visual Examples for innerPanel Models ====
  
-[] +^ **Figure 16: EMPTY** ^ **Figure 17: SOLID1_1** ^ **Figure 18: SOLID1_3** ^ 
-[] +| {{:ig:gfx:modelprocessor:innerpanel_empty.jpg?nolink&300|}} | {{:ig:gfx:modelprocessor:innerpanel_solid1_1.jpg?nolink&300|}} | {{:ig:gfx:modelprocessor:flatpanel_with_solid1_3.png?nolink&300|}} | 
-[]+^ Caption: Visual representation of the ''EMPTY'', ''SOLID1_1'', and ''SOLID1_3'' models for the ''innerPanel'' parameter. |||
  
 *Figure: Visual representation of the ''EMPTY'', ''SOLID1_1'', and ''SOLID1_3'' models for the ''innerPanel'' parameter.* *Figure: Visual representation of the ''EMPTY'', ''SOLID1_1'', and ''SOLID1_3'' models for the ''innerPanel'' parameter.*
-{{newpage}}+ 
 +{{:ig:gfx:modelprocessor:flatpanel_solid1_3_blender.png?nolink&400|}} 
 + 
 +*Figure 2: flatPanel with SOLID1_3 
 + 
 +==== Explanation of Subframes ==== 
 + 
 +The subframe structure is used to attach one or more secondary frames to a primary model. Each subframe is composed of individual pieces that are generated based on a specified model type, intersection logic, and profile path. 
 + 
 +^ **Figure 25: Subframe Illustration** ^ 
 +| {{:ig:gfx:modelprocessor:subframe_graphic.png?nolink&600|}} | 
 +^ Caption ^ 
 +| FlatPanel frame with generated subframe in red. | 
 + 
 +**Type:** ''array of objects'' \\ **Required:** No \\ 
 +Defines one or more subframes attached to the main model. Each subframe entry references a specific model type, intersection mode, profile path, and an identifier. Typically, four subframe pieces are defined per subframe. 
 + 
 +  * **model** 
 +    : **Type:** ''string'' // **Enum:** `FLATPANEL1_0` // **Default:** `FLATPANEL1_0` \\ 
 +    Specifies the model type used for the subframe. 
 +  * **intersection** 
 +    : **Type:** ''string'' // **Enum:** `TRIANGLE`, `SOLID` // **Default:** `TRIANGLE` \\ 
 +    Defines how the subframe boards are intersecting each with one another. 
 +  * **profile** 
 +    : **Type:** ''string'' \\ 
 +    References a path ID defined in the global `paths` array used to generate the subframe profile. 
 +  * **id** 
 +    : **Type:** ''string'' \\ 
 +    Unique identifier for the subframe. This value is used to reference and name generated subframe elements. 
 +  * **offset** 
 +    : **Type:** ''object'' // **Required:** No \\ 
 +    Defines an optional translation offset of the subframe in millimeters. 
 +    ^ Offset Parameters ^ Description ^ 
 +    | **x** | horizontal offset (width) in mm. | 
 +    | **y** | vertical offset (height) in mm. | 
 +    | **z** | depth position offset in mm. | 
 +  * **pieces** 
 +    : **Type:** ''array of 4 objects'' // **Required:** Yes \\ 
 +    Contains exactly four subframe pieces (see illustration above), each defined by a unique ID. Optional UV parameters overwrites may be provided for individual pieces. 
 +    * **id** 
 +      : **Type:** ''string'' \\ 
 +      Unique global identifier for the subframe piece (also used as the output mesh name). 
 +    * **uv** 
 +      : **Type:** ''object'' // **Required:** No \\ 
 +      Optional UV mapping settings for the piece. 
 +      ^ UV Parameters ^ Description ^ 
 +      | **rotation** | Rotation of UV map in degrees. | 
 +      | **patchSize** | Size of UV patch in millimeters. | 
 +      | **uvorigin** | **Enum:** `ORIGIN`, `CENTER`. Defines UV anchor point. Default: `ORIGIN`. | 
 +      | **uOffset** | UV translation offsets for U-axis in millimeters. | 
 +      | **vOffset** | UV translation offsets for V-axis in millimeters. | 
 + 
 +----
ig/gfx/model-type-flatpanel.1761744875.txt.gz · Last modified: by ig_ii