Digital position encoder and data optimizer
First Claim
1. A digitizing system for generating, recording, and optimizing coordinate data representative of a traced path comprising:
- a) a digitizer support structure;
b) a stylus assembly functionally supported by said support structure and displaceable in a first dimension and in a second dimension;
c) a scaling network functionally interconnected with said stylus assembly and responsive to stylus movement for generating stylus displacement signals indicating stylus movement in said first and second dimensions;
d) a first circuit responsive to said stylus displacement signals for generating count signals representing the displacement of said stylus relative to a predetermined starting point;
e) initiating means responsive to said count signals for generating an initiating signal whenever said stylus travels a predetermined distance;
f) a second circuit responsive to said initiating signal and to said count signals for generating coordinate data representative of said count signals; and
g) a data processor for receiving and processing said coordinate data, said data processor including;
i) memory means for storing said coordinate data thereby resulting in an ordered set of data points Pa, Pb, . . . , (Pi), . . . , Pn, where Pn is the last data point in the set; and
ii) optimizing means for optimizing the stored coordinate data;
wherein said optimizing means comprises;
a) means for establishing a direction vector through points Pa and Pb, where Pa is the base point for said direction vector;
b) means for establishing a tolerance band of predetermined width on either side of and parallel to said direction vector;
c) means for identifying a point Pi, if any, following the base point that falls outside said tolerance band;
d) data discarding means responsive to the existence or nonexistence of Pi for discarding substantially all points between the base point and a point Ph, which is a point within said tolerance band preceding the point Pi in said ordered set of data points, only if Pi exists, otherwise, if Pi does not exist, said means functioning to discard substantially all data points between the base point and the last data point, Pn, in which case said set of data points has been completely optimized;
e) means continually operable until said set of data points has been completely optimized for determining whether said set of data points has been completely optimized and if said set has not been completely optimized said means further functioning to;
(i) establish a new direction vector through the point Ph and point Pi, where Ph is the base point for said new direction vector,(ii) establish a new tolerance band of predetermined width on either side of and parallel to said new direction vector,(iii) identify a new point Phd i, if any, following the base point that falls outside said new tolerance band, and then(iv) employ said data discarding means.
5 Assignments
0 Petitions
Accused Products
Abstract
A digitizing system for automatically recording data points representative of, for example, sheet metal templates having varying shapes is disclosed. A stylus connected to a tracing arm is guided along the edge of a template. As the arm moves, digital scales generate a stream of encoded electrical pulses which yield direction and distance information. These pulses are then decoded, counted, and stored. If the operator has selected the automatic digitize mode, a data point is automatically stored each time the stylus moves a predetermined distance in the X, Y, or Z direction. The present invention also provides an improved method of optimizing or compressing the stored set of data points.
68 Citations
23 Claims
-
1. A digitizing system for generating, recording, and optimizing coordinate data representative of a traced path comprising:
-
a) a digitizer support structure; b) a stylus assembly functionally supported by said support structure and displaceable in a first dimension and in a second dimension; c) a scaling network functionally interconnected with said stylus assembly and responsive to stylus movement for generating stylus displacement signals indicating stylus movement in said first and second dimensions; d) a first circuit responsive to said stylus displacement signals for generating count signals representing the displacement of said stylus relative to a predetermined starting point; e) initiating means responsive to said count signals for generating an initiating signal whenever said stylus travels a predetermined distance; f) a second circuit responsive to said initiating signal and to said count signals for generating coordinate data representative of said count signals; and g) a data processor for receiving and processing said coordinate data, said data processor including; i) memory means for storing said coordinate data thereby resulting in an ordered set of data points Pa, Pb, . . . , (Pi), . . . , Pn, where Pn is the last data point in the set; and ii) optimizing means for optimizing the stored coordinate data; wherein said optimizing means comprises; a) means for establishing a direction vector through points Pa and Pb, where Pa is the base point for said direction vector; b) means for establishing a tolerance band of predetermined width on either side of and parallel to said direction vector; c) means for identifying a point Pi, if any, following the base point that falls outside said tolerance band; d) data discarding means responsive to the existence or nonexistence of Pi for discarding substantially all points between the base point and a point Ph, which is a point within said tolerance band preceding the point Pi in said ordered set of data points, only if Pi exists, otherwise, if Pi does not exist, said means functioning to discard substantially all data points between the base point and the last data point, Pn, in which case said set of data points has been completely optimized; e) means continually operable until said set of data points has been completely optimized for determining whether said set of data points has been completely optimized and if said set has not been completely optimized said means further functioning to; (i) establish a new direction vector through the point Ph and point Pi, where Ph is the base point for said new direction vector, (ii) establish a new tolerance band of predetermined width on either side of and parallel to said new direction vector, (iii) identify a new point Phd i, if any, following the base point that falls outside said new tolerance band, and then (iv) employ said data discarding means. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A digitizing system for generating, recording, and optimizing coordinate data representative of a traced path comprising:
-
a) a digitizer support structure; b) an arm assembly slidably connected to said support structure and displaceable in a first dimension only; c) a stylus assembly slidably connected to said arm assembly and displaceable in said first dimension and in a second dimension; d) scaling network means functionally interconnected with said arm assembly and said stylus assembly and responsive to stylus movement for generating stylus displacement signals indicating stylus movement in said first and second dimensions; e) means for converting said stylus displacement signals into direction count pulses; f) counting means responsive to said direction count pulses for generating count signals representing the displacement of said stylus relative to a predetermined starting point; g) initiating means responsive to said count signals for generating an initiating signal whenever said stylus travels a predetermined distance; h) data coordinate generating means responsive to said initiating signal and to said count signals for generating coordinate data representative of said count signals; and i) data processing means for receiving and processing said coordinate data, said data processing means including; (i) a memory; (ii) means for successively storing said coordinate data in said memory thereby resulting in an ordered set of data points Pa, Pb, . . . , (Pi), . . . , Pn, where Pn is the last data point in the set; and (iii) optimizing means for optimizing the stored coordinate data; wherein said optimizing means comprises; a) means for establishing a direction vector through points Pa and Pb, where Pa is the base point for said direction vector; b) means for establishing a tolerance band of predetermined width on either side of and parallel to said direction vector; c) means for identifying a point Pi, if any, following the base point that falls outside said tolerance band; d) data discarding means responsive to the existence or nonexistence of Pi for discarding substantially all points between the base point and a point Ph, which is a point within said tolerance band preceding the point Pi in said ordered set of data points, only if Pi exists, otherwise, if Pi does not exist, said means functioning to discard substantially all data points between the base point and the last data point, Pn, in which case said set of data points has been completely optimized; e) means continually operable until said set of data points has been completely optimized for determining whether said set of data points has been completely optimized and if said set has not been completely optimized said means further functioning to; (i) establish a new direction vector through the point Ph and point Pi, where Ph is the base point for said new direction vector, (ii) establish a new tolerance band of predetermined width on either side of and parallel to said new direction vector, (iii) identify a new point Pi, if any, following the base point that falls outside said new tolerance band, and then (iv) employ said data discarding means. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A digitizing system for generating, recording, and optimizing coordinate data representative of a traced path comprising:
-
a) a digitizer table; b) an arm assembly slidably connected to said table and displaceable in a first dimension; c) a stylus assembly slidably connected to said arm assembly and displaceable in said first dimension and in a second dimension; d) scaling network means functionally interconnected with said arm assembly and said stylus assembly and responsive to stylus movement for generating stylus displacement signals indicating stylus movement in said first and second dimensions; e) manual entry means for generating function request signals; f) a digital computer including a memory means; g) a digitizer card functionally connected to said digital computer, to said scaling network means, and to said manual entry means, said digitizer card comprising; (i) means for receiving said stylus displacement signals and for converting said signals into direction count pulses; (ii) counting means responsive to said direction count pulses for generating count signals representing the displacement of said stylus relative to a predetermined starting point; (iii) initiating means responsive to said count signals for generating an initiating signal whenever said stylus travels a predetermined distance in either said first or second dimensions; (iv) data coordinate generating means responsive to said initiating signal and to said count signals for generating coordinate data, said coordinate data being in the form of ASCII text characters and representative of said count signals; (v) means for associating the correct sign, either positive or negative, with said coordinate data; and (vi) buffer means for temporarily storing said coordinate data until read by the digital computer, for receiving and temporarily storing said function request signals until read by the digital computer, and for receiving command signals from said digital computer; h) means for successively storing said coordinate data in said memory thereby resulting in an ordered set of stored data points P1, P2, . . . , (Pi), . . . , Pn is the last data point in the set; and i) optimizing means for optimizing said stored set of data points wherein said optimizing means includes; (i) means for establishing a direction vector through the first two points P1 and P2, where P1 is the base point for said direction vector; (ii) means for establishing a tolerance band of predetermined width on either side of and parallel to said direction vector; (iii) means for identifying the first point Pi, if any, following the base point that falls outside said tolerance band; (iv) data discarding means responsive to the existence or nonexistence of Pi for discarding all points between the base point and a point Pi-1, which is the point immediately preceding the point Pi, if Pi exists, otherwise, if Pi does not exist, said means functioning to discard all data points between the base point and the last data point, Pn, in which case said set of data points has been completely optimized; and (v) means continually operable until said set of data points has been completely optimized for determining whether said set of data points has been completely optimized and if said set has not been completely optimized said means further functioning to; (1) establish a new direction vector through point Pi-1 and point Pi, where Pi-1 is the base point for said new direction vector, (2) establish a new tolerance band of predetermined width on either side of and parallel to said new direction vector, (3) identify a new point Pi, if any, following the base point that is the first point to fall outside said new tolerance band, and then (4) employ said data discarding means. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of generating, recording, and optimizing coordinate data representative of a path traced by a digitizing system wherein said digitizing system includes a digitizer support structure, a stylus assembly functionally supported by said support structure and displaceable in two or three dimensions, and a scaling network functionally associated with said stylus assembly and responsive to stylus movement for generating stylus displacement signals;
- comprising the steps of;
a) generating stylus displacement signals by tracing a path with said stylus assembly; b) converting said stylus displacement signals into direction counts; c) counting said direction counts relative to a predetermined starting point; d) generating coordinate data indicative of the displacement of said stylus relative to said starting point whenever said stylus travels a predetermined distance; e) successively storing said coordinate data in a memory so that an ordered set of data points P1, P2, . . . , (Pi), . . . , Pn representative of said traced path is created where Pn is the last data point in the set; and f) reducing the total number of points in said ordered set without substantially altering the representation of said traced path thereby to optimize said set of data points by; 1) establishing a direction vector through the first two points P1 and P2, where P1 is the base point for said direction vector; 2) establishing a tolerance band of predetermined width on either side of and parallel to said direction vector; 3) identifying the first point Pi, if any, following the base point that falls outside said tolerance band; 4) if Pi exists, discarding all points between the base point and a point Pi-1 which is the point immediately preceding the point Pi, otherwise, if no point Pi exists which falls outside said tolerance band, then discarding all points between the base point and the last data point, Pn, thereby defining completion of said optimization step; 5) if the optimization procedure is not complete, then (i) establishing a new direction vector through point Pi-1 and point Pi, where Pi-1 is the base point for said new direction vector; (ii) establishing a new tolerance band of predetermined width on either side of and parallel to said new direction vector; (iii) identifying a new point Pi, if any, following the base point that is the first point to fall outside said new tolerance band; (iv) repeating steps (4) through (5)(iii) until optimization is complete. - View Dependent Claims (23)
- comprising the steps of;
Specification