Abstract:
In one embodiment of the present invention, a support structure generator creates support structures designed to buttress three-dimensional (3D) digital models during 3D printing. In operation, the support structure generator incrementally constructs a support graph that connects overhanging points included in the 3D model with support points on a horizontal ground plane or relatively flat surfaces in the 3D model. After generating the 3D model, the support structure generator translates the connections between the nodes into support posts sized to sufficiently support the connected surfaces with the minimum amount of support material. Advantageously, the support structure is noticeably sparser than conventional support structures that fill a given support region with a solid volume of support material. Consequently, the time necessary for 3D printers to fabricate the support structure of interconnected support posts is less than the time required for 3D printers to fabricate conventional support structures.
Abstract:
A stroke parameterization engine within a rendering engine is configured to map a texture to the surface of a three-dimensional (3D) model along a stroke defined by an end-user of the rendering engine. The stroke parameterization engine converts the stroke to a polyline, then generates a geodesic trace by sliding a geodesic circle along the polyline and collecting points associated with the 3D model that fall within the geodesic circle. The stroke parameterization engine then parameterizes points associated with the polyline and the geodesic trace using UV coordinates associated with a texture map, thereby generating UV coordinates for each point within the polyline and geodesic trace. The stroke parameterization engine then projects the texture map onto the surface of the 3D model using the UV coordinates generated for the polyline and geodesic trace.
Abstract:
In one embodiment of the present invention, a foldable beam generator produces a foldable beam polyline that approximates a three-dimensional (3D) space curve. The foldable beam generator optimizes the number and position of joints included in the foldable beam polyline to minimize differences between the foldable beam polyline and the 3D space curve while complying with one or more manufacturing constraints. Notably, the foldable beam generator designs each of the joints to act as a living hinge that closes to a fixed angle when heated and solidifies when cooled. By using the foldable beam polyline as a 3D digital model for manufacturing and subsequently applying heat to assemble the manufactured 3D object, defects and/or limitations of complex 3D objects typically associated with traditional manufacturing techniques may be reduced. In particular, support structures designed to buttress three-dimensional (3D) digital models during 3D printing may be minimized.
Abstract:
In one embodiment of the present invention, a position-based dynamics (PBD) framework provides realistic modeling and simulation for elastic rods. In particular, the twisting and bending physics of elastic rods is incorporated into the PBD framework. In operation, an elastic rod model generator represents the center line of an elastic rod as a polyline of points connected via edges. For each edge, the elastic rod model generator adds a ghost point to define the orientation of a material frame that encodes the twist of the edge. Subsequently, a PBD simulator solves for positions of both points and ghost points that, together, represent the evolving position and torsion of the elastic rod. Advantageously, the ghost points enable more realistic animation of deformable objects (e.g., curly hair) than conventional PBD frameworks. Further, unlike force based methods, elastic rod simulation in the PBD framework performs acceptably in environments where speed is critical.
Abstract:
A mesh repair engine is configured to repair a hole in a three-dimensional (3D) model by (i) filling the hole with a rough mesh, (ii) refining the rough mesh, (iii) collapsing the refined mesh, (iv) refining the collapsed mesh, (v) flattening the refined, collapsed mesh, and then (vi) deforming the flattened mesh into a 3D surface that smoothly fills the hole in the 3D model. One advantage of the disclosed repair engine and associated hole repair technique is that the mesh repair engine is capable of generating polygons that fill regions of a 3D model that are not defined. Consequently, an end-user of the mesh repair tool is able to generate watertight 3D models from previously incomplete and non-watertight 3D models.
Abstract:
In one embodiment of the present invention, a print orientation tool efficiently determines an orientation of a three-dimensional (3D) model such that, when 3D printed, the structural integrity of the resulting 3D object is optimized. In operation, the print orientation tool configures a stress analysis engine to slice the 3D model into two-dimensional (2D) cross-sections. The stress analysis engine then compute structural stresses associated with the 2D cross-sections. The print orientation tool translates the structural stresses to weakness metrics. Subsequently, the print orientation tool evaluates the orientations of the cross-sections in conjunction with the corresponding weakness metrics to select a printing orientation that minimizes weaknesses in the 3D model. Advantageously, by aligning the 3D model to the print bed based on the optimized printing orientation, the user mitigates weaknesses in the corresponding 3D object attributable to the 3D printing manufacturing process.