Process for generating a computer model of an alterable structure

A process for generating a data structure of a computer model of a processed workpiece. The contours of the workpiece and the cross section of the tool, as well as the path movement of the tool, are analyzed in a grid such as is presented by a raster picture screen and associated image point memory of a microprocessor controlled graphic control unit of a numerically controlled machine tool. At each point of the coordinated grids the height of the workpiece is linked with the programmed processing depth of the tool and in this way the altered data structure of the workpiece is determined. The altered data structure can serve for the representation of the computer model thus determined on a picture screen. The linkage of the data from grid point to grid point is thus reduced to a number comparison for the Z coordinate, thereby maintaining both computer and apparatus capital expenses at a low level.

BACKGROUND OF THE INVENTION 
The present invention relates to a process for generating a data structure 
for a computer model of a variable structure which can be altered by an 
object such as a machine tool. 
German DE-OS 32 34 426 discloses a system in which a process workpiece is 
represented on the picture screen of a numerically controlled machine tool 
in correspondence with the appropriate drawing information. The path of 
the tool is then superimposed in a predetermined color in the form of a 
continuous line. This approach does not provide any simulation of the 
processing of the workpiece from the blank to the finished workpiece. 
In the computer-aided design field, it is a known practice to represent a 
workpiece graphically in such a way that covered edges are not 
represented. In general, computer-aided design techniques require a high 
expenditure of apparatus and computation, which is not feasible for use in 
numerically controlled machine tools, the controls of which are often 
implemented with microprocessors. 
However, even in relatively simple numerically controlled machine tools, 
there is a need to simulate the processing of the workpiece in order to 
check programming of the machine tool and if necessary, to correct it, 
without requiring actual fabrication of an expensive workpiece. Of course, 
such a simulation of a processing operation should be performed as rapidly 
as possible. 
SUMMARY OF THE INVENTION 
The present invention is directed to a process for creating a data 
structure which can be used for example in graphically representing a 
computational or computer model of a structure which is to be altered in a 
processing operation. The process of this invention operates in a 
particularly simple and rapid manner. 
According to this invention, a two-dimensional grid is defined over a 
two-dimensional contour defined by the structure, and this grid comprises 
a multiplicity of grid points, each addressable by a unique set of 
coordinates in a first plane. A respective first signal is assigned to 
each of the grid points, and each of these first signals is indicative of 
the thickness of the structure in a third dimension at the coordinates of 
the associated grid point. Selected ones of the first signals are then 
altered in response to a simulated processing operation in order to 
simulate alteration to the structure. 
This invention provides important advantages in that it does not require 
great expenditures in either apparatus or in calculation time to generate 
the data structure for a computer model, as is required in typical 
computer-aided design systems. Nevertheless, the process of this invention 
provides a better representation of the workpiece than in the prior art 
numerically controlled machine tool systems described above. 
The invention itself, together with further objects and attendant 
advantages, will best be understood by reference to the following detailed 
description, taken in conjunction with the accompanying drawings.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS 
Turning now to the drawings and in particular to FIG. 5, an arbitrary 
object as for an example a square building block has a base surface and a 
predetermined height. In order to make it possible to represent the block 
on the picture screen of a numerically controlled machine tool, the 
dimensions of the block and its position in space are stored. This storage 
occurs in a so-called picture point memory, in which for each picture 
point on the raster picture screen of the control there is provided a 
storage location, so that the picture point memory likewise is organized 
in a grid. By subdividing the memory into individual grid points, each 
memory location is addressable by giving its coordinates in the X and Y 
axes. 
Now, if the block is to be stored, the grid of the picture point memory in 
the form of X-Y coordinates is impressed on the block. Each point of the 
base surface of the block is stored in a respective one of the storage 
locations having X addresses ranging between X.sub.i and X.sub.n and Y 
addresses ranging between Y.sub.i and Y.sub.n. The height of the block is 
determined by the Z coordinate, which is stored in each corresponding 
location. In the case of the building block used in the example above, the 
same number indicative of the single predetermined height of the building 
block is stored in the memory location for each grid point. 
As shown by this example, the data structure is addressed by the X and Y 
coordinates, and to each pair of X and Y coordinates a corresponding 
number indicative of the height or thickness of the object being 
represented is stored in the corresponding memory location. 
When the contour of the process workpiece is to be altered, the data 
structure described above must be successively varied for successive 
processing operations. 
For this purpose, the cross-section of the workpiece is subdivided into 
grid points in exactly the same manner as the base surface of the block in 
the foregoing example. When a processing tool having a predetermined 
cross-section is moved along a preprogrammed path, a so-called processing 
polygon is generated that is similarly subdivided into a plurality of grid 
points, corresponding to respective grid points of the workpiece. 
The tool moves along its path at the process sing depth established by the 
program of the numerically controlled machine tool. This processing depth 
corresponds to a certain but variable numerical value in the Z axis. All 
of these data indicative of the position and movement of the tool are 
predetermined and must be linked with the data structure for the workpiece 
in order to generate an altered data structure which is a computer 
internal model indicative of the altered or processed workpiece. 
FIG. 5 shows an example of the manner in which the data structure described 
above can be implemented. In FIG. 5, the workpiece 2 is subdivided into a 
grid addressable along the X and Y axes. As shown in FIG. 5, the X index 
varies between X.sub.i and X.sub.n and the Y index varies between Y.sub.i 
and Y.sub.n. For each X-Y pair a single Z coordinate is stored, which 
indicates the height or thickness of the workpiece at the corresponding 
X-Y coordinates. FIG. 5 also shows a processing tool 3 which in this 
preferred embodiment is a cylindrical milling tool. Of course, due to the 
finite resolution of the grid, the cylindrical tool 3 appears stepped in 
contour. Only the lowermost portion of the milling tool 3 is shown, and 
the upper surface of the milling tool 3 is shown in breakaway. 
The linkage between the data structures for the processing tool 3 and the 
workpiece 2 occurs in a very simple manner: at each grid point in the X-Y 
plane the numerical value for the Z coordinate of the workpiece 2 is 
compared with the numerical value for the Z coordinate of the cutting edge 
of the tool 3 if one of the grid points that is included in the processing 
polygon passes into the zone of the grid that is occupied by the X-Y 
coordinates of the workpiece 2. Of course, the processing depth of the 
tool 3 must be referred to the plane in which the base surface of the 
workpiece 2 is arranged. In actual practice, this appears as if at each 
grid point of the workpiece 2 the height of the workpiece 2 is compared 
with the distance of the associated grid point of the tool 3 from the X-Y 
plane. If the distance of the grid point of the tool 3 from the X-Y plane 
is less than the height of the grid point of the workpiece 2 at the 
corresponding X-Y address, then the tool 3 will remove material in 
processing the workpiece 2 and a new contour will be generated. This is 
reflected in an altered data structure in which the Z coordinate of the 
data structure for the workpiece 2 at the X-Y address is changed. On the 
other hand, if the above-described comparison indicates that the height of 
the workpiece 2 at this grid point is less than the distance of the tool 3 
from the X-Y plane at this point, then the tool 3 will not come into 
engagement with the workpiece 2 and the contour of the workpiece 2 will 
not be altered. This can occur if previous processing operations have 
already occurred reducing the thickness of the workpiece 2. 
Through the foregoing example of the process of this invention, data for 
the workpiece 2 is linked with data for the tool 3 by resolving both the 
workpiece 2 and the tool 3 into a common grid in parallel planes. The 
third dimension is determined through a computational number comparison at 
each grid point. In this way, the resulting data structure for the altered 
workpiece is generated in a considerably simplified manner. The process of 
this invention makes it possible to simulate workpiece 2 processing on a 
relatively simple numerically controlled machine tool. This simulation can 
be used to generate graphic representations, for example on a picture 
screen of a microprocessor controlled machine tool. 
The following discussion of FIGS. 1-4 relates to a particularly 
advantageous process for representing the data structure of an altered 
object, which data structure is determined in the manner described above. 
FIG. 1 shows a workpiece 1 as typically represented in technical drawings. 
Visible edges are drawn in solid, continuous lines according to standard 
technical drawing conventions. Edges that are not visible in this front 
view are drawn in thinner, broken lines, as is also determined by drawing 
conventions. The workpiece 1 of FIG. 1 represents an object that is to be 
produced on a numerically controlled machine tool. In order for it to be 
possible to manufacture this workpiece 1 from a blank, a program for a 
numerically controlled machine tool is set up in a known manner. The 
program generated from the technical drawing of the finished workpiece 1 
is then fed in the form of program data and commands to the numerically 
controlled machine tool. 
In order to locate programming errors without producing a rejected 
workpiece, the workpiece 1 as it would be generated from the program and 
the blank is represented on the picture screen of the numerical control of 
the machine tool. This is accomplished most impressively by showing a 
perspective representation in which concealed edges have been suppressed. 
This representation can be made in a particularly simple and advantageous 
manner by resolving the workpiece 1 into a series of sections that are 
displaced from one another in order to provide a perspective view. 
FIG. 2 is a plan view which shows the orientation of parallel sections 
Y.sub.j -Y.sub.m. Each of these sections Y.sub.j -Y.sub.m corresponds to a 
respective section plane, the surface of which corresponds to the 
cross-section shape of the workpiece 1 at the respective section plane. 
The contour of each of these surfaces is a polygon, the coordinates of 
which are stored in a memory of the numerically controlled machine in the 
form of data. 
FIG. 3 shows a finished representation of the workpiece 1 as it would 
appear in perspective representation on the picture screen of the 
numerical control. 
This image has been constructed successively. First data of the first 
polygon, which corresponds to the first section plane Y.sub.j, is taken 
from the memory and applied as an input a graphic processor which causes 
the Y.sub.j polygon to be displayed on the picture screen. The coordinate 
Y.sub.j of this first polygon indicates that this first polygon is present 
in the Y.sub.j plane. The further stored data indicate the extent of the 
polygon in the X direction (width) as well as the extent of the polygon in 
the Z direction (height). The height can range from the maximum height of 
the workpiece blank to the height "zero" if all of the material on the 
blank has been removed in a particular place. 
The representation of the polygon of the next section plane occurs at the 
next coordinate Y.sub.k. In order to impart a spatial impression to the 
image of the object, the polygon at the section plane Y.sub.k is 
represented displaced in perspective with respect to the previously 
represented polygons. 
In this embodiment, concealed edges are not to be displayed, and for this 
reason the polygon of the new section Y.sub.k is checked to determine 
whether any part of the contour of the new polygon Y.sub.k overhangs the 
contour of the polygon Y.sub.j, taking into account the perspective 
displacement. Only if the contour of the polygon being represented 
overhangs the contours of previously represented polygons is this contour 
to be represented. In this way, it is assured that edges of a polygon 
which are represented successively are displayed only if they overhang at 
least one of the section planes already represented. 
A determination as to whether the contour of an already depicted section 
plane is overhung can easily be checked in the computer, since one merely 
has to compare the coordinate values of the respective polygons, taking 
into account the actual perspective displacements. 
The simple example of FIG. 4 has been provided to clarify this last point. 
In FIG. 4 the polygon Y.sub.j of the first section plane is shown having a 
width X in the X direction and a height Z in the Z direction. In order to 
cause the object to appear to have a spatial extent, the polygon Y.sub.k 
of the second section plane is displaced by two picture points in 
correspondence to the raster picture screen in both the X and Z 
directions. 
In this example, the object being displayed has the same width X and height 
Z in the second section plane Y.sub.k as in the first section plane 
Y.sub.j. According to this invention, the second section plane Y.sub.k is 
represented in such a way that the perspective displacement P is taken 
into account in calculating which portions of the polygon Y.sub.k are to 
be represented. In this example, the upper edge of the second polygon 
Y.sub.k presents the coordinates Z+P, which is greater than the height Z 
of the first polygon Y.sub.j and is therefore represented. Similarly, the 
right edge of the second polygon Y.sub.k has the coordinate X+P which is 
greater than X and is therefore represented. The left edge of the polygon 
Y.sub.k is represented insofar as its height Z+P is greater than the 
height Z of the polygon Y.sub.j of the first polygon. Thus, only the 
uppermost portion P of the left edge of the polygon Y.sub.k is 
represented. The situation is exactly the same with respect to the 
representation of the lower edge of the polygon Y.sub.k. 
This simple determination of the edges of the individual polygons which are 
to be represented makes the process of the invention executable in a 
particularly rapid and straight-forward manner such that it can be carried 
out on relatively simple microprocessor-based systems. 
Of course, it should be understood that a wide range of changes and 
modifications can be made to the preferred embodiments described above. It 
is therefore intended that the foregoing detailed description be regarded 
as illustrative rather than limiting, and that it is the following claims, 
including all equivalents, which are intended to define the scope of this 
invention.