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:13] – 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 22: Line 23:
     In this software they are named **VERTICAL** and **HORIZONTAL** depending on preferred arrangement for output. More about this in [[Model-Type-FlatPanel#intersection-parameter|Intersection Parameter]]     In this software they are named **VERTICAL** and **HORIZONTAL** depending on preferred arrangement for output. More about this in [[Model-Type-FlatPanel#intersection-parameter|Intersection Parameter]]
  
-[] +^ **Figure 1: Side View** ^ **Figure 2: Front View** ^ 
-[]+| {{:ig:gfx:modelprocessor:butt_joint.png?nolink&400|}} | {{:ig:gfx:modelprocessor:buttjoint_front_look.png?nolink&400|}} | 
 +^ Caption ^ Caption ^ 
 +| **Butt joint generated with IG.Modell.Processor.** This figure shows the side view of the joint assembly. | **Front view of the butt joint.** This figure provides a frontal perspective, demonstrating the visual seam. |
  
   * **Miter Joint:** A joint where two pieces are joined at an angle, typically 45°, to form a 90° corner. Future implementation may implement other angles for miter joints. Both adjoining members (e.g., stile and rail) have their ends cut at complementary angles. This joint offers a clean, seamless look and it should support all kind of profiles. In this software Miter joint is named **TRIANGLE**.   * **Miter Joint:** A joint where two pieces are joined at an angle, typically 45°, to form a 90° corner. Future implementation may implement other angles for miter joints. Both adjoining members (e.g., stile and rail) have their ends cut at complementary angles. This joint offers a clean, seamless look and it should support all kind of profiles. In this software Miter joint is named **TRIANGLE**.
  
-[] +^ **Figure 3: Miter Joint Side View** ^ **Figure 4: Miter Joint Front View** ^ 
-[]+| {{:ig:gfx:modelprocessor:miterjoint.png?nolink&400|}} | {{:ig:gfx:modelprocessor:mieter_front_look.png?nolink&400|}} | 
 +^ Caption ^ Caption ^ 
 +| Miter joint generated with IG.Modell.Processor | Front view of the miter joint |
  
-  * **Monolithic Frame with Separate Panel:** In this construction type, the door frame (comprising stiles and rails) is manufactured as a single fused or milled piece, without mechanical joints between frame members. Although the frame appears to have traditional components (B1–B4), it is structurally continuous. The central panel (P) remains a separate piece, inserted into grooves in the frame to allow for natural movement. + * **Monolithic Frame with Separate Panel:** In this construction type, the door frame (comprising stiles and rails) is manufactured as a single fused or milled piece, without mechanical joints between frame members. Although the frame appears to have traditional components (B1–B4), it is structurally continuous. The central panel (P) remains a separate piece, inserted into grooves in the frame to allow for natural movement. In this software Monolithic Frame is named **SOLID**. 
-    In this software Monolithic Frame is named **SOLID**.+ 
 +^ **Figure 5: Monolithic Side View** ^ **Figure 6: Monolithic Front View** ^ 
 +| {{:ig:gfx:modelprocessor:monolitic_frame.png?nolink&400|}} | {{:ig:gfx:modelprocessor:monolitic_front_look.png?nolink&400|}} | 
 +^ Caption ^ Caption ^ 
 +| Monolithic edge. There is no joint. | Front view of monolithic (solid) frame. |
  
-[] 
-[] 
-{{newpage}} 
  
 ==== Profiles ==== ==== Profiles ====
Line 41: Line 47:
   * **Profile Definition:** A profile defines the cross-sectional shape of a frame board pieces, panel (**Solid**) or **Extrusion** geometry, typically represented as a 2D outline (e.g., a groove, bevel, or decorative contour). Profiles are usually specified using SVG paths or parametric curves and are extruded along a path to form 3D geometry. In this software, the profile guides the shape of the extrusion for parts like stiles, rails, and panels. It will determine all values or output vertices in the Z direction (X direction) in Blender.   * **Profile Definition:** A profile defines the cross-sectional shape of a frame board pieces, panel (**Solid**) or **Extrusion** geometry, typically represented as a 2D outline (e.g., a groove, bevel, or decorative contour). Profiles are usually specified using SVG paths or parametric curves and are extruded along a path to form 3D geometry. In this software, the profile guides the shape of the extrusion for parts like stiles, rails, and panels. It will determine all values or output vertices in the Z direction (X direction) in Blender.
  
-[] +^ **Figure 7: Cross-Section Profile** ^ **Figure 8: Extruded Board** ^ 
- +| {{:ig:gfx:modelprocessor:cross_section_profile.png?nolink&400|}} | {{:ig:gfx:modelprocessor:extruded_board.png?nolink&400 |}} | 
-[] +^ Caption ^ Caption ^ 
-{{newpage}}+| Cross-sectional profile suitable for the stiles and rails (boards) of the furniture element. | Visual representation of the profile extruded into a board. Also this is the general result of **Model Type: Extrusion 1.0** |
  
 === Positioning and Dimensions of Frame Components === === Positioning and Dimensions of Frame Components ===
Line 65: 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 77: 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 120: 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 175: 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 224: 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 261: 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.1761743594.txt.gz · Last modified: by ig_ii