Abstract:
Techniques for improving flexural strength in 3D-printed object. The techniques generally include identifying a portion of a 3D model corresponding to the 3D-printed object to which one or more support posts should be added and adding support post descriptors to the 3D model within such a portion. The support post descriptor defines a position and at least one dimension of a support post cavity and a position and at least one dimension of a support post, both having a height corresponding to at least two layers of 3D-printable material. The model, including the support post descriptors are transmitted to a 3D printer to print the 3D model, which includes a support post cavity and a support post having a height of at least two layers.
Abstract:
Techniques and systems for sub-pixel grayscale three-dimensional (3D) printing are described. A technique includes mapping a 3D digital model onto a 3D grid of voxels associated with a 3D printer; assigning a first intensity level to first voxels that are fully contained within the model, the first intensity level being sufficient to cure photoactive resin during a curing time; determining, based on geometric information provided by the model, containment degrees for second voxels that are partially contained within the model; assigning second intensity levels to the second voxels based respectively on the containment degrees, the second intensity levels being greater than a third intensity level and lesser than the first intensity level; assigning the third intensity level to third voxels that are outside of the model; and generating one or more graphic files based on the first, second, third voxels, and respectively assigned intensity levels.
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 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:
Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for 3D printing without preprocessing a CAD model before delivery to a 3D printer. The CAD model for a design to be printed is received by a 3D printer. Instructions are generated for printing the first slice. While the instructions are used to start printing the CAD model, dynamic real-time slicing is performed on a remaining portion of the CAD model. Preprocessed data, model analysis information or real-time feedback is received during the printing of a respective slice. A next slice is identified, and slicing parameters are adjusted, including adjusting a slicing parameter for the next slice. Instructions for printing the next slice are generated. The next slice is printed based on the generated instructions. Dynamic real-time slicing is repeated to generate a then next slice and associated printing instructions.
Abstract:
One embodiment of the present invention sets forth a technique for designing and generating a smart object. The technique includes receiving a first input indicating a smart object behavior of a smart object that includes a smart device embedded in a three-dimensional (3D) object; in response to the input, generating computer instructions for the smart device, wherein the computer instructions, when executed by the smart device, cause the smart object to implement the smart object behavior; and transmitting the computer instructions to the smart device.
Abstract:
In one embodiment of the present invention, an escape hole generator creates escapes holes designed to facilitate removal of support and/or unprinted material generated inside enclosed hollows of three-dimensional (3D) digital models during 3D printing. In operation, the escape hole generator identifies a hollow included in the three-dimensional model and then selects optimized locations for escape holes. Notably, the escape hole generator selects the locations to optimize placement heuristics, such as favoring locations closer to the bottom of the 3D model, while satisfying escape hole constraints (e.g., hole size and spacing requirements). The escape hole generator then perforates the hollow at the selected locations with geometries that provide channels from the outer surface of the hollow to the outer surface of the hollow. Advantageously, automating escape hole generation enables efficient creation of hollowed 3D models that reduce 3D printing time and material usage compared to solid 3D model counterparts.
Abstract:
Techniques for improving flexural strength in 3D-printed object. The techniques generally include identifying a portion of a 3D model corresponding to the 3D-printed object to which one or more support posts should be added and adding support post descriptors to the 3D model within such a portion. The support post descriptor defines a position and at least one dimension of a support post cavity and a position and at least one dimension of a support post, both having a height corresponding to at least two layers of 3D-printable material. The model, including the support post descriptors are transmitted to a 3D printer to print the 3D model, which includes a support post cavity and a support post having a height of at least two layers.
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.
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.