Method and apparatus for automated machining of objects of complex and unique geometry
First Claim
1. An apparatus for controlling a machine tool for machining an object, comprising:
- (1) means for generating a plurality of tool paths for said machine tool from computer-generated surface patch coordinate data representing said object, said tool paths represented by tool path coordinate data;
(2) means for analyzing said surface patch coordinate data, identifying certain surface patches and altering said tool paths in response thereto by altering said tool path coordinate data to prevent erroneous intersection of said machine tool with surface patches represented by said surface patch coordinate data, wherein the means for analyzing, identifying and altering comprises means for;
(a) checking a minimum radii of principal curvature at a plurality of vertices of said surface patches;
(b) identifying said vertices when said minimum radius is smaller than a radius of said machine tool;
(c) finding a curve of intersection of each said identified vertex with a plane, said plane passing through said identified vertex and containing a first vector normal to a said surface patch, and a second vector in the direction of said minimum radius;
(d) generating a plurality of line segments of said intersection curve which line segments intersect together;
(e) subdividing said line segments by means of at least one segmentized searching circle until an error value between said line segments an said surface patch approaches a pre-determined tolerance value;
(f) computing at least one segmentized searching circle on a first and an adjacent second surface patch;
(g) finding an intersection between a plurality of triangular segments of each of said segmentized searching circles;
(h) bisecting said triangular segments;
(i) finding an intersection between said triangular segments;
(j) repeating the means for computing (f) through the means for finding (i) until an error value between a plurality of intersected edges of said triangular segments and said surface patches approaches said pre-determined tolerance;
(k) propagating said segmentized searching circles until said segmentized searching circles meet or until said segmentized searching circles reach one of a plurality of boundaries for said surface patches;
(l) repeating the means for finding (c) through the means for propagating (k) until all of said identified vertices are processed; and
(3) means for controlling said machine tool with said altered tool path data so that said tool can be moved in accordance with said tool path coordinate data without the erroneous intersection of said machine tool with said surface patches.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for the automated machining of three dimensional objects of complex and unique geometry. A computer acquires data describing an object and its surroundings and then guides a milling machine in the fabrication of the reproduction. The present invention discloses a method for preventing tool paths generated in a computer from erroneously intersecting with surface patches representing an object to be machined. The present invention also discloses methods for optimizing tool path step lengths, machine tool commands, and tool path scallop heights. In addition, the present invention discloses a method for fixturing a workpiece material to be shaped into a reproduction of a object.
-
Citations
4 Claims
-
1. An apparatus for controlling a machine tool for machining an object, comprising:
-
(1) means for generating a plurality of tool paths for said machine tool from computer-generated surface patch coordinate data representing said object, said tool paths represented by tool path coordinate data; (2) means for analyzing said surface patch coordinate data, identifying certain surface patches and altering said tool paths in response thereto by altering said tool path coordinate data to prevent erroneous intersection of said machine tool with surface patches represented by said surface patch coordinate data, wherein the means for analyzing, identifying and altering comprises means for; (a) checking a minimum radii of principal curvature at a plurality of vertices of said surface patches; (b) identifying said vertices when said minimum radius is smaller than a radius of said machine tool; (c) finding a curve of intersection of each said identified vertex with a plane, said plane passing through said identified vertex and containing a first vector normal to a said surface patch, and a second vector in the direction of said minimum radius; (d) generating a plurality of line segments of said intersection curve which line segments intersect together; (e) subdividing said line segments by means of at least one segmentized searching circle until an error value between said line segments an said surface patch approaches a pre-determined tolerance value; (f) computing at least one segmentized searching circle on a first and an adjacent second surface patch; (g) finding an intersection between a plurality of triangular segments of each of said segmentized searching circles; (h) bisecting said triangular segments; (i) finding an intersection between said triangular segments; (j) repeating the means for computing (f) through the means for finding (i) until an error value between a plurality of intersected edges of said triangular segments and said surface patches approaches said pre-determined tolerance; (k) propagating said segmentized searching circles until said segmentized searching circles meet or until said segmentized searching circles reach one of a plurality of boundaries for said surface patches; (l) repeating the means for finding (c) through the means for propagating (k) until all of said identified vertices are processed; and (3) means for controlling said machine tool with said altered tool path data so that said tool can be moved in accordance with said tool path coordinate data without the erroneous intersection of said machine tool with said surface patches.
-
-
2. A method of controlling a machine tool for machining an object, comprising:
-
(1) generating a plurality of tool paths for said machine tool from computer-generated surface patch coordinate data representing said object, said tool paths represented by tool path coordinate data; (2) analyzing said surface patch coordinate data, identifying certain surface patches and altering said tool paths in response thereto by altering said tool path coordinated data to prevent erroneous intersection of said machine tool with surface patches represented by said surface patch coordinate data, wherein the analyzing, identifying and altering step comprises the steps of; (a) checking a minimum radii of principal curvature at a plurality of vertices of said surface patches; (b) identifying said vertices when said minimum radius is smaller than a radius of said machine tool; (c) finding a curve of intersection of each said identified vertex with a plane, said plane passing through said identified vertex and containing a first vector normal to a said surface patch, and a second vector in the direction of said minimum radius; (d) generating a plurality of line segments of said intersection curve which line segments intersect together; (e) subdividing said line segments by means of at least one segmentized searching circle until an error value between said line segments an said surface patch approaches a pre-determined tolerance value; (f) computing at least one segmentized searching circle on a first and an adjacent second surface patch; (g) finding an intersection between a plurality of triangular segments of each of said segmentized searching circles; (h) bisecting said triangular segments; (i) finding an intersection between said triangular segments; (j) repeating the means for computing (f) through the means for finding (i) until an error value between a plurality of intersected edges of said triangular segments and said surface patches approaches said pre-determined tolerance; (k) propagating said segmentized searching circles until said segmentized searching circles meet or until said segmentized searching circles reach one of a plurality of boundaries for said surface patches; (l) repeating the means for finding (c) through the means for propagating (k) until all of said identified vertices are processed; and (3) controlling said machine tool with said altered tool path data so that said tool can be moved in accordance with said tool path coordinate data without the erroneous intersection of said machine tool with said surface patches.
-
-
3. An apparatus for controlling a machine tool for machining an object, comprising:
-
(1) means for generating a plurality of tool paths for said machine tool from surface patch coordinate data representing said object, said tool paths represented by tool path coordinate data; (2) means for analyzing said surface patch coordinate data, identifying certain surface patches and altering said tool paths in response thereto by altering said tool path coordinate data to prevent erroneous intersection of said machine tool with surface patches represented by said surface patch coordinate data, wherein the means for analyzing, identifying and altering comprises means for; (a) checking a minimum radii of principal curvature at a plurality of vertices of said surface patches; (b) identifying said vertices when said minimum radius is smaller than a radius of said machine tool; (c) finding a curve of intersection of each said identified vertex with a plane, said plane passing through said identified vertex and containing a first vector normal to a said surface patch, and a second vector in the direction of said minimum radius; (d) generating a plurality of line segments of said intersection curve which line segments intersect together; (e) subdividing said line segments by means of at least one segmentized searching circle until an error value between said line segments an said surface patch approaches a pre-determined tolerance value; (f) computing at least one segmentized searching circle on a first and an adjacent second surface patch; (g) finding an intersection between a plurality of triangular segments of each of said segmentized searching circles; (h) bisecting said triangular segments; (i) finding an intersection between said triangular segments; (j) repeating the means for computing (f) through the means for finding (i) until an error value between a plurality of intersected edges of said triangular segments and said surface patches approaches said pre-determined tolerance; (k) propagating said segmentized searching circles until said segmentized searching circles meet or until said segmentized searching circles reach one of a plurality of boundaries for said surface patches; (l) repeating the means for finding (c) through the means for propagating (k) until all of said identified vertices are processed; and (3) means for controlling said machine tool with said altered tool path data so that said tool can be moved in accordance with said tool path coordinate data without the erroneous intersection of said machine tool with said surface patches.
-
-
4. A method of controlling a machine tool for machining an object, comprising:
-
(1) generating a plurality of tool paths for said machine tool from surface patch coordinate data representing said object, said tool paths represented by tool path coordinate data; (2) analyzing said surface patch coordinate data, identifying certain surface patches and altering said tool paths in response thereto by altering said tool path coordinated data to prevent erroneous intersection of said machine tool with surface patches represented by said surface patch coordinate data, wherein the analyzing, identifying and altering step comprises the steps of; (a) checking a minimum radii of principal curvature at a plurality of vertices of said surface patches; (b) identifying said vertices when said minimum radius is smaller than a radius of said machine tool; (c) finding a curve of intersection of each said identified vertex with a plane, said plane passing through said identified vertex and containing a first vector normal to a said surface patch, and a second vector in the direction of said minimum radius; (d) generating a plurality of line segments of said intersection curve which line segments intersect together; (e) subdividing said line segments by means of at least one segmentized searching circle until an error value between said line segments an said surface patch approaches a pre-determined tolerance value; (f) computing at least one segmentized searching circle on a first and an adjacent second surface patch; (g) finding an intersection between a plurality of triangular segments of each of said segmentized searching circles; (h) bisecting said triangular segments; (i) finding an intersection between said triangular segments; (j) repeating the means for computing (f) through the means for finding (i) until an error value between a plurality of intersected edges of said triangular segments and said surface patches approaches said pre-determined tolerance; (k) propagating said segmentized searching circles until said segmentized searching circles meet or until said segmentized searching circles reach one of a plurality of boundaries for said surface patches; (l) repeating the means for finding (c) through the means for propagating (k) until all of said identified vertices are processed; and (3) controlling said machine tool with said altered tool path data so that said tool can be moved in accordance with said tool path coordinate data without the erroneous intersection of said machine tool with said surface patches.
-
Specification