Apparatus and method for layered modeling of intended objects represented in STL format and adaptive slicing thereof
First Claim
1. A device for effecting automatic operation of a stereolithography apparatus (SLA) with respect to a part to be built by the SLA, the part having a desired profile characterized by at least one key characteristic and at least two local complexity levels, wherein the operation of the SLA is controlled based on a two-dimensional sliced model of the local profile of the cross-section of the part to be built with each slice plane disposed transversely with respect to and along a slice axis of the part, which is represented by a tesselated model of the part and provided as an input to the device in the form of an STL file specifying triangular facets obeying the vertex-to-vertex rule, the device comprising:
- a programmable computer;
a facet processor means for operating on the STL file input to produce a processed facet file, said facet processor means being programmed on said computer, said facet processor means including a facet sorting means, said facet sorting means being configured to sort the facets of the STL file according to the slice axis to produce a sorted facet file;
said facet processor means including a facet grouping means for operating on said sorted facet file to produce a grouped facet file, said facet grouping means being configured to group the facets of said sorted facet file according to facets having common minimum vertex values with respect to the slice axis and to produce a grouped facet file;
said facet processor means including a facet subgrouping means for operating on said grouped facet file to produce a subgrouped facet file, said facet subgrouping means being configured to subgroup the facets of said grouped facet file according to facets having common maximum vertex values with respect to the slice axis and to produce a subgrouped facet file;
a key characteristic identifier means for operating on said sorted facet file, said grouped facet file and said subgrouped facet file, said key characteristic identifier means being programmed on said computer, said key characteristic identifier means being configured to identify key characteristics of the profile represented by the STL file and to produce a key characteristic data file from said key characteristics of the profile represented by the STL file;
a thickness calculator means for operating on said sorted facet file, said grouped facet file, said subgrouped facet file and said key characteristic data file, said thickness calculator means being programmed on said computer, said thickness calculator means being configured to calculate a thickness for each layer of the model of the desired profile represented by the STL file of the part such that the geometrical error between the desired profile of the part and said model profile of each said layer having said layer thickness, remains no greater than a preselected geometrical error and to produce a layer thickness data file containing the results of such calculations;
a slicer means for operating on said sorted facet file, said grouped facet file, said subgrouped facet file and said layer thickness data file, said slicer means being programmed on said computer, said slicer means being configured to calculate the intersection of each slice plane disposed at a height above the previous slice plane by said thickness calculated by said thickness calculator means for each layer of the model of the intended profile represented by the STL file and to produce a slice plane intersection data file;
a directional ordering means for finding the direction of each contour defining each intersection of each slice plane and ensuring uniformity of such direction with the direction of each other contour defining each other intersection of each other slice plane;
a model generating means for using said layer thickness data file and said slice plane intersection data file to generate at least a portion of a model of the part wherein said portion of said model of the part includes a plurality of successive layers wherein the cross-section of each layer in a plane of view is defined by the intersection with said plane of view, of a pair of parallel planes and a model profile connecting said parallel planes, and wherein for each layer the minimum distance separating its pair of parallel planes defines the thickness of said layer; and
an interface means for controlling the operation of the machine based on said portion of a model of the part.
1 Assignment
0 Petitions
Accused Products
Abstract
A device for automating operation of a stereolithography apparatus uses an STL file as an input and includes a programmable computer, a facet processor that sorts the facets of the STL file according to a predetermined slice axis. The facet processor also groups the sorted facets according to those having common minimum vertex values with respect to the slice axis. The facet processor also subgroups the grouped facet file according to facets having common maximum vertex values with respect to the slice axis. A key characteristic identifier identifies key characteristics of the STL file. A thickness calculator determines the thickness of each layer of the model according to a geometrical error of preselected magnitude. A slicer calculates the intersection of each sliced plane by the calculated thickness. A directional ordering device insures uniformity with the direction of each other contour that defines the intersection. A model generator uses the layer thickness and intersection information to generate a portion of a model. An interface device controls the operation of the machine based on the model that is generated.
133 Citations
22 Claims
-
1. A device for effecting automatic operation of a stereolithography apparatus (SLA) with respect to a part to be built by the SLA, the part having a desired profile characterized by at least one key characteristic and at least two local complexity levels, wherein the operation of the SLA is controlled based on a two-dimensional sliced model of the local profile of the cross-section of the part to be built with each slice plane disposed transversely with respect to and along a slice axis of the part, which is represented by a tesselated model of the part and provided as an input to the device in the form of an STL file specifying triangular facets obeying the vertex-to-vertex rule, the device comprising:
-
a programmable computer; a facet processor means for operating on the STL file input to produce a processed facet file, said facet processor means being programmed on said computer, said facet processor means including a facet sorting means, said facet sorting means being configured to sort the facets of the STL file according to the slice axis to produce a sorted facet file; said facet processor means including a facet grouping means for operating on said sorted facet file to produce a grouped facet file, said facet grouping means being configured to group the facets of said sorted facet file according to facets having common minimum vertex values with respect to the slice axis and to produce a grouped facet file; said facet processor means including a facet subgrouping means for operating on said grouped facet file to produce a subgrouped facet file, said facet subgrouping means being configured to subgroup the facets of said grouped facet file according to facets having common maximum vertex values with respect to the slice axis and to produce a subgrouped facet file; a key characteristic identifier means for operating on said sorted facet file, said grouped facet file and said subgrouped facet file, said key characteristic identifier means being programmed on said computer, said key characteristic identifier means being configured to identify key characteristics of the profile represented by the STL file and to produce a key characteristic data file from said key characteristics of the profile represented by the STL file; a thickness calculator means for operating on said sorted facet file, said grouped facet file, said subgrouped facet file and said key characteristic data file, said thickness calculator means being programmed on said computer, said thickness calculator means being configured to calculate a thickness for each layer of the model of the desired profile represented by the STL file of the part such that the geometrical error between the desired profile of the part and said model profile of each said layer having said layer thickness, remains no greater than a preselected geometrical error and to produce a layer thickness data file containing the results of such calculations; a slicer means for operating on said sorted facet file, said grouped facet file, said subgrouped facet file and said layer thickness data file, said slicer means being programmed on said computer, said slicer means being configured to calculate the intersection of each slice plane disposed at a height above the previous slice plane by said thickness calculated by said thickness calculator means for each layer of the model of the intended profile represented by the STL file and to produce a slice plane intersection data file; a directional ordering means for finding the direction of each contour defining each intersection of each slice plane and ensuring uniformity of such direction with the direction of each other contour defining each other intersection of each other slice plane; a model generating means for using said layer thickness data file and said slice plane intersection data file to generate at least a portion of a model of the part wherein said portion of said model of the part includes a plurality of successive layers wherein the cross-section of each layer in a plane of view is defined by the intersection with said plane of view, of a pair of parallel planes and a model profile connecting said parallel planes, and wherein for each layer the minimum distance separating its pair of parallel planes defines the thickness of said layer; and an interface means for controlling the operation of the machine based on said portion of a model of the part.
-
-
2. An apparatus for effecting automatic operation of a machine with respect to an intended object having a desired profile characterized by at least one key characteristic and at least two local complexity levels, wherein the intended object is represented by a tesselated model of the intended object oriented with respect to a slice axis and provided as an input to the apparatus in the form of an STL file specifying triangular facets obeying the vertex-to-vertex rule, the apparatus comprising:
-
a programmable computer; a facet processor means for operating on the STL file input to produce a processed facet file, said facet processor means being programmed on said computer, said facet processor means including a facet sorting means, said facet sorting means being configured to produce said sorted facet file by sorting the facets of the STL file according to the slice axis; and said facet processor means including a facet grouping means for operating on said sorted facet file to produce a grouped facet file, said facet grouping means being configured to produce said grouped facet file by grouping the facets of said sorted facet file according to facets having one of the following characteristics;
common minimum vertex values with respect to the slice axis and common maximum vertex values with respect to the slice axis. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
17. A method involving automatic operation of a machine with respect to an intended three-dimensional object having a desired profile characterized by at least two local complexity levels, wherein the operation of the machine is controlled based on a two-dimensional sliced model of the profile of the cross-section of the intended object along a slice axis of the intended object, which is representated by a three-dimensional tesselated model of the three-dimensional intended object and provided as an input in the form of an STL file specifying triangular facets obeying the vertex-to-vertex rule, the method comprising:
-
using a computer to sort the facets of the STL file according to the slice axis; using a computer to group said sorted facets according to facets having one of common minimum vertex values with respect to the slice axis and common maximum vertex values with respect to the slice axis; generating at least a portion of a model of the object, said portion of said model including a plurality of successive layers wherein the cross-section of each layer in a plane of view is defined by the intersection with said plane of view, of a pair of parallel planes and a model profile connecting said parallel planes, and wherein for each layer the distance separating its pair of parallel planes defines the thickness of said layer; and operating the machine with respect to at least a portion of the object in successive steps with each said step based on a separate one of said layers. - View Dependent Claims (16, 18, 19, 20, 21)
-
-
22. A method involving automatic operation of a machine with respect to an intended three-dimensional object having a desired profile characterized by at least two local complexity levels, wherein the operation of the machine is controlled based on a two-dimensional sliced model of the profile of the cross-section of the intended object along a slice axis of the intended object, which is representated by a three-dimensional tesselated model of the three-dimensional intended object and provided as an input in the form of an STL file specifying triangular facets obeying the vertex-to-vertex rule, the method comprising:
-
producing from the STL file input a sorted facet file that is sorted according to the slice axis; producing from said sorted facet file a grouped facet file that is grouped according to facets having one of the following;
common minimum vertex values with respect to said slice axis and common maximum vertex values with respect to said slice axis;producing from said grouped facet file a subgrouped facet file that is subgrouped according to facets having the other of the following;
common minimum vertex values with respect to said slice axis and common maximum vertex values with respect to said slice axis;identifying from said grouped facet file and said subgrouped facet file at least one key characteristic of the profile represented by the STL file and producing a key characteristic data file containing each key characteristic so identified; using said grouped facet file, said subgrouped facet file and said key characteristic data file to calculate a thickness for each layer of the model of the desired profile represented by the STL file of the intended object such that the geometrical error between the desired profile of the intended object and said model profile of each said layer having said layer thickness, remains no greater than a preselected geometrical error and producing a layer thickness data file containing the result of each such calculation; using said grouped facet file, said subgrouped facet file and said layer thickness data file to calculate the intersection of each slice plane disposed at a height above the previous slice plane by said thickness calculated for each layer of the model of the intended profile represented by the STL file and producing a slice plane intersection data file; using said layer thickness data file and said slice plane intersection data file to generate at least a portion of a model of the intended object, said portion of said model including a plurality of successive layers wherein the cross-section of each layer in a plane of view is defined by the intersection with said plane of view, of a pair of parallel planes and a model profile connecting said parallel planes, and wherein for each layer the minimum distance separating its pair of parallel planes defines the thickness of said layer; wherein more than one layer thickness is selected during said step of generating at least said portion of said model of the intended object; and operating the machine with respect to at least a portion of the intended object in successive steps with each said step based on a separate one of said layers of said model of said intended object.
-
Specification