The Solid 1.4 model is a versatile model type for creating fundamental 3D solid objects. Its primary function is to produce cuboid shapes with width and height (specified dimensions) and rounded edges via radius parameters and profile path. However, it can also generate more complex geometries by sweeping a 2D cross-section (profile) along a 2D trajectory (path). This dual capability makes it suitable for a wide range of components, from simple blocks to custom-shaped boards like a panel with arcs and similar.
Figure 1: 3D illustration of the SOLID1\_1 model, showing dimensions, radii, and UV mapping.
Figure 2: Isometric view of an SOLID1\_3 with arched panel example \textbf{path} with base rectangle ABCD and curved top.} ABCD describes frameWire path points . A1,B1,C1,D1 are generated points from extrusion depth taken from profil path.
profile along a path (see Figure 5 in source document).The model offers two primary methods for defining the solid's geometry:
width, height, and depth parameters. Edges can be rounded using radius1 and radius2. This is the most direct method for creating block-like shapes.width, height, and profile parameters. Edges will be generated using parsed profile.profile ID and a path ID from the main paths array. The geometry is formed by sweeping the 2D shape of the profile along the 2D trajectory of the path. This method is used for creating non-rectangular or custom forms.path and profile are specified, they take full precedence. The dimensional parameters (width, height, depth) and the radius parameters (radius1, radius2) will be ignored.path and profile must reference valid, closed 2D sketches defined within the top-level paths array to produce a valid, watertight solid.quality parameter is crucial for achieving smooth surfaces on geometries that involve curves, whether from radii or from curved segments in a path or profile.This section describes the geometry generation behavior of the Solid 1.3 model, applicable in IG.Model.Processor version ≥ 1.3.0.100.
Figure 3: Solid with profile and path parameter from paths array
The core idea is that when a profile is swept along a path to create a frame, that profile's sketch should include a small, extra segment that extends inward. This extra piece creates a volumetric overlap with the internally generated “filling” shape.
This overlap is essential because it guarantees that the subsequent boolean “union” operation—which merges the frame and the filling into a single, solid object—will succeed without errors. Without this overlap, the two parts would meet at a perfectly aligned, “zero-tolerance” seam, which is a common source of failure for boolean algorithms due to mathematical floating-point inaccuracies.
This diagram shows a profile that stops exactly at the boundary of the internal filling. This creates a high-risk “coincident face” or seam, which can cause the boolean union to fail, resulting in rendering artifacts, gaps, or a non-watertight model.
This diagram demonstrates the correct approach. The profile includes a small “lip” or “tail” that extends into the filling area. This intentional overlap ensures the boolean union is robust and reliable, producing a clean, solid final mesh.