32.5 Structuri de date în sistemul CAATC

Sistemul CAATC este dezvoltat cu Visual C++ pe platforma Windows 2000/XP. Conform informațiilor implicate în sistem, mai multe structuri de date sunt proiectate pentru a descrie informațiile planului, informațiile de operare și diagramele de toleranță.
The CAATC system is developed with Visual C++ on the Windows 2000/XP platform. According to the information involved in the system, several data structures are designed to describe the blueprint information, the operation information, and the tolerance charts.

Structuri de date pentru informații despre Blueprint

Informațiile despre plan sunt datele de bază necesare sistemului CAATC. Sunt informațiile de proiectare care descriu o piesă. De obicei, include forma piesei, dimensiunile, toleranțele și informațiile despre finisarea suprafeței etc. Însă, informațiile despre finisarea suprafeței nu sunt luate în considerare în sistemul CAATC. Forma piesei este descrisă cu informațiile geometrice de bază, cum ar fi punctele și suprafețele. O schiță a piesei este adesea afișată în partea de sus a unei diagrame de toleranță pentru a ajuta la analiza informațiilor despre plan. Prezentarea schiței piesei este diferită de desenul piesei într-un sistem CAD. Nu trebuie să fie scalat. În spațiul 2D, schița piesei poate fi definită cu punctele și suprafețele care determină delimitările piesei. Deci, ar trebui definite o listă de puncte și o listă de suprafețe. Suprafața este descrisă cu un segment de linie și direcția sa normală în acest sistem. Segmentul de linie este exprimat cu două puncte, iar direcția normală este descrisă cu un unghi, care este măsurat de la axa x pozitivă la normala suprafeței. Aici, cele două puncte care descriu suprafața au două fațete: una este poziția reală a suprafeței în sistemul de coordonate al piesei și cealaltă este dată de valorile descriptive utilizate pentru a desena suprafața în schiță. Deci, ambele valori ale poziției ar trebui incluse în definiția punctelor. Astfel, clasa punctelor este dată după cum urmează.
Blueprint information is the basic data required to the CAATC system. It is the design information describing a part. It usually includes the part shape, the dimensions, the tolerances, and the surface finish information, etc. However, the surface finish information is not considered in the CAATC system. The part shape is described with the basic geometric information, such as points and surfaces. A part sketch is often shown at the top of a tolerance chart in aid of analyzing the blueprint information. The presentation of the part sketch is different from the part drawing in a CAD system. It does not need to be scaled. In 2D space, the part sketch can be defined with the points and the surfaces that determine the delimitations of the part. So, a list of points and a list of surfaces should be defined. The surface is described with a line segment and its normal direction in this system. The line segment is expressed with two points, and the normal direction is described with an angle, which is measured from the positive x-axis to the normal of the surface. Here, the two points describing the surface have two facets: one is the real position of the surface in the part coordinate system and the other is the descriptive values used to draw the surface in the sketch. So, both the position values should be included in the definition of the points. So, the class of the points is given as follows.

class CPoints:: public CObject
{
CString m_strName;
int m_nDrawX;
int m_nDrawY;
int m_nRealX;
int m_nRealY;
}

Și clasa de suprafață este definită după cum urmează:

clasa CSurface:: public CObject
{
CString m_strBeginPoint;
CString m_strEndPoint;
float m_fAngle
}

Aici sunt prezentate exemple de fișiere de puncte și suprafețe pentru piesa afișată în Fig. 3.


Fig. 3 Reprezentarea informației despre geometrie

Exemplu.ptr
P1 10 20
P2 10 120
P3 60 120
P4 10 60
P5 120 20
P6 120 90
P7 120 60

Și fișierul de suprafață Example.sur este afișat mai jos:

Exemplu.sur
A P1 P5 270
B P4 P7 270
C P2 P3 90
D P3 P6 78
E P1 P2 180
F P5 P6 0

Un sistem CAD ideal nu ar trebui să sprijine doar geometria și topologia piesei în cauză, ci și specificațiile de toleranță și descrierea funcțională ale acesteia (Mullapudi și Gavankar 1994). Pe lângă datele geometrice, sistemul CAATC solicită și topologia schiței piesei. Poate fi extrasă și din fișierul CAD. Însă, topologia piesei necesare în diagrama de toleranță este diferită de cea din fișierul CAD. Înregistrează doar relația adiacentă dintre suprafețe. Poate fi generată atunci când sunt introduse informațiile de suprafață.
An ideal CAD system should not only support the geometry and topology of the part in question but also its tolerance specification and functional description (Mullapudi and Gavankar 1994). In addition to the geometric data, the topology of the part sketch is also required by the CAATC system. It can also be extracted from the CAD file. However, the topology of the part needed in the tolerance chart is different from that in the CAD file. It only records the adjacent relationship between the surfaces. It can be generated when the surface information is inputted.

O altă informație a planului, adică dimensiunea, se obține tot din desenul planului. Dimensiunile planului sunt toate dimensiunile de lungime, deoarece informațiile despre unghi sunt descrise cu direcția normală a suprafeței în schița piesei. Fiecare dimensiune a planului include următoarele informații: număr, suprafață de început, suprafață de final, dimensiune și toleranță. Deoarece dimensiunile rezultate sunt dimensiunile finale ale piesei, acestea sunt considerate una dintre proprietățile dimensiunilor planului. În plus, fiecare dimensiune a planului este produsă cu mai multe tăieturi de prelucrare în secvența procesului. Veriga tăieturii formează un lanț dimensional. Deci dimensiunea planului are și o proprietate de lanț. Astfel, structura de date a dimensiunii planului este concepută după cum urmează:
Another blueprint information, that is, the dimension, is also obtained from the blueprint drawing. The blueprint dimensions are all length dimensions, because the angle information is described with the normal direction of the surface in the part sketch. Each blueprint dimension includes the following information: number, begin surface, end surface, dimension, and tolerance. Because the resultant dimensions are the final dimensions of the part, they are considered as one of the properties of the blueprint dimensions. In addition, each blueprint dimension is produced with several machining cuts in the process sequence. The link of the cuts forms a dimensional chain. So the blueprint dimension also has a chain property. Thus the data structure of the blueprint dimension is designed as follows:

clasa CBlueprint :: public CObject
{
int m_nNu;
CString m_strFrom;
CString m_strTo;
float m_nBlueprintMean;
float m_nBlueprintTol;
float m_nResultantMean;
float m_nResultantTol;
CString m_strChain;
}

Structura datelor pentru informații despre operarea procesului

Secvența de operare preliminară este corpul principal al unei diagrame de toleranță. Secvența de operare este coloana vertebrală care leagă toate tăieturile de prelucrare pentru fabricarea piesei. Fiecare operație are anumite atribute statice, cum ar fi numărul secvenței, numele operației, suprafața prelucrată și suprafața de referință. Dimensiunile de lucru și toleranțele acestora sunt atributele dinamice ale operației. Anumitor operații aparțin și îndepărtările de adaos și toleranțele acestora. Pentru acele tăieturi secunde de prelucrare, îndepărtarea adaosului este veriga de închidere a lanțului dimensional. Lanțul dimensional este unul dintre atributele operației. În diagrama de toleranță, fiecare rând al diagramei reprezintă o operație.Astfel, structura de date a operațiunii este concepută după cum urmează:
The tentative operation sequence is the main body of a tolerance chart. The operation sequence is the backbone that links up all machining cuts to manufacture the part. Each operation has some static attributes, such as the sequence number, the operation name, the machined surface, and the datum surface. The working dimensions and their tolerances are the dynamic attributes of the operation. The stock removals and their tolerances also belong to certain operations. For those second machining cuts, the stock removal is the closing link of the dimensional chain. The dimensional chain is one of the attributes of the operation. In the tolerance chart, each row of the chart represents an operation. So, the data structure of the operation is designed as follows:
class COoperation :: public CObject
{
int m_nSeqNo;
CString m_strName;
CString m_strMachiniedSurface;
CString m_strDatumSurface;
float m_nWorkingDimensionMean;
float m_nWorkingDimensionTol;
float m_nStockRemovalMean;
float m_nStockRemovalTol;
CString m_strChain;
}

Fiecare operație poate consta din mai multe tăieturi de prelucrare. Deci, ar trebui să fie transferată de la o secvență inițială de operare preliminară la o secvență formală de tăiere de prelucrare, adică secvența de operare arată toate tăieturile de prelucrare din planul de proces.
Each operation may consist of several machining cuts. So it should be transferred from an initial tentative operation sequence to a formal machining cut sequence, that is, the operation sequence shows all the machining cuts in the process plan.

Structura datelor pentru o diagramă de toleranță

Structura de date a unei diagrame de toleranță ar trebui să includă toate informațiile implicate. O diagramă de toleranță este alcătuită din patru componente principale. În primul rând, o listă de puncte este folosită pentru a descrie delimitarea piesei. În al doilea rând, o listă de suprafețe (inclusiv suprafețele cu umăr pătrat și suprafețe unghiulare prezentate) este folosită pentru a descrie conturul piesei. În al treilea rând, o listă de operații este folosită pentru a descrie secvența de tăieturi de prelucrare, care formează o secvență de operații preliminarră cu care va fi prelucrată piesa. Fiecare tăiere a mașinii din secvența de operare este extinsă pentru a avea dimensiunea de lucru și dimensiunea de îndepărtare a adaosurilor în diagrama de toleranță. În al patrulea rând, o listă de dimensiuni ale modelului este utilizată pentru a descrie dimensiunile modelului care trebuie controlate în diagrama de toleranță. Aceste obiecte sunt necesare pentru construirea diagramei de toleranță. Manipularea diagramei de toleranță se realizează prin manipulările de pe aceste liste de obiecte. Interrelația dintre cele trei liste reflectă complexitatea diagramei de toleranță pentru caracteristicile unghiulare.
The data structure of a tolerance chart should include all information involved. A tolerance chart is made up of four main components. First, a list of points is used to describe the delimitation of the part. Second, a list of surfaces (include square shouldered and angular featured surfaces) is used to describe the outline of the part. Third, a list of operations is used to describe the sequence of machining cuts, which form a tentative operation sequence that the part will be machined with. Each machine cut in the operation sequence is extended to have the working dimension and the stock removal dimension in the tolerance chart. Fourth, a list of blueprint dimensions is used to describe the blueprint dimensions to be controlled in the tolerance chart. These objects are necessary for constructing the tolerance chart. The manipulation of the tolerance chart is accomplished through the manipulations on these object lists. The interrelationship between the three lists reflects the complexity of the tolerance charting for angular features.

Clasa diagramei de toleranță este definită după cum urmează:
The class of tolerance chart is defined as follows:

clasa CToleranceChartDoc : CDocument public
{
CTypedPtrList<CObList, CBluePrint*> m_blueprintList;
CTypedPtrList<CObList, COperation*> m_opeationList;
CTypedPtrList<CObList, CSurface*> m_surfaceList;
CTypedPtrList<CObList, Cpoints*> m_pointsList;
};

v