Professional Documents
Culture Documents
U zavisnosti od konkretnog podru~ja u kome treba da se primene postoje razli~ite vrste modela proizvoda. U po~etku svog razvoja CAD sistemi su sadr`ali modele proizvoda sa samo geometrijskim informacijama, {to me|utim, ne mo`e da zadovolji zahteve in`enjera, kojima su u radu potrebene i druge vrste informacija (npr. tehnolo{ke). Tako|e je za komplikovane i slo`ene proizvode, kao {to su npr. automobili, neophodno da se omogu}i integracija razli~itih vrsta me|usobno povezanih informacija, kao i da se poznaje njihova struktura. Sve ovo je dovelo do razvoja razli~itih tipova modela proizvoda.
projektovanja, o mogu}im alternativnim delovima za odre|ene sklopove, o karakteristikama procesa koji su izvr{eni u prethodnim fazama rada.
implementacija i prihvatanje ovog standarda u industriji, pri ~emu je on trebalo da zameni postoje}e nacionalne standarde, standardizovanje mehanizma za opis podataka o proizvodu, kroz ceo njegov `ivotni vek, nezavisno od ra~unarskog sistema koji se koristi, odvajanje opisa proizvoda od metoda implementacije, tako da standard defini{e ne samo neutralni format fajla za razmenu, ve} i pru`a osnovu za kreiranje deljivih baza sa podacima o proizvodu.
Integrisani resursi
Testiranje
Kompatibilne klase
Interpretirane konstrukcije
Slika: Struktura STEP standarda SEMANTI^KA ANALIZA INDUSTRIJSKE APLIKACIJE Sa slike se vidi da je osnovni element, iznad svih ostalih elemenata u arhitekturi, semantika odre|ene industrijske aplikacije. Ova semantika defini{e procese i aktivnosti koji treba da budu podr`ani podacima, koje }e sadr`ati model koji se kreira. Iz ovoga se vidi da je STEP model povezan sa konkretnim podacima iz industrije (koje defini{u ljudi koji obavljaju konkretne aktivnosti), s jedne strane, dok je, istovremeno nezavisan od ra~unarskih aplikacija (alata koje ti ljudi upotrebljavaju). Ova povezanost STEP modela i semantike industrijske aplikacije ukazuje na to da podaci u STEP modelu ne mogu postojati, bez jasno definisane veze sa razlogom zbog kojeg su oni uop{te definisani. Npr. geometrijski objekti (ta~ke, linije, povr{ine), koji opisuju neki oblik, ne mogu postojati samostalno, ve}
oni moraju da se pove`u sa konkretnim proizvodom ili nekim njegovim delom koji se opisuje. MODEL AKTIVNOSTI APLIKACIJE Semantika industrijske aplikacije se defini{e uz pomo} modela aktivnosti aplikacije. Ovaj model, koji se kreira upotrebom razli~itih tehnika za modelovanje aktivnosti, kao {to je npr. IDEF0, omogu}ava da se izvr{i analiza svih aktivnosti i informacionih tokova u nekoj industrijskoj aplikaciji. Dalja analiza i definisanje podataka u STEP modelu su uvek povezani sa ovim aktivnostima i tokovima. REFERENTNI MODEL APLIKACIJE Referentni model aplikacije nastaje, tako|e, kao rezultat detaljne analize zahteva koje postavlja neka industrijska aplikacija. Ovde se vr{i detaljna specifikacija svih objekata (entiteta), koji su potrebni za ispunjenje konkretnih zahteva, defini{u se osobine tih objekata, veze izme|u njih. Ova specifikacija se vr{i na osnovu analize zahteva koje su postavili eksperti iz odgovaraju}e oblasti, pa je samim tim forma u kojoj se ona vr{i preuzeta iz konkretne aplikacije. Kao {to pokazuje slika, referentni model aplikacije zavisi od modela aktivnosti aplikacije. Referentni model predstavlja detaljan opis podataka koji su potrebni da se podr`i obavljanje svih aktivnosti koje su definisane u modelu aktivnosti aplikacije. INTERPRETIRANI MODEL APLIKACIJE Referentni model aplikacije defini{e informacione zahteve koje postavlja neka industrijska aplikacija. Realizaciju ovih zahteva obavlja se u interpretiranom modelu aplikacije. Ova realizacija se vr{i putem izbora potrebnih standardnih konstrukcija iz skupa svih konstrukcija koje stoje na raspolaganju. Ako je potrebno mogu se definisati i dodatna ograni~enja na ovim konstrukcijama. Upotreba standardnih konstrukcija u razli~itim aplikacijama obezbe|uje visok stepen konzistentnosti i integracije modela, omogu}ava eventualnu ponovnu upotrebu istog programskog koda koji je slu`io kao interfejs, a tako|e i eventualni zajedni~ki pristup op{tim podacima za vi{e razli~itih aplikacija. Interpretirani model aplikacije se defini{e u EXPRESS jeziku, pa se samim tim omogu}ava i razmena podataka putem fajlova za razmenu ili pristup podacima putem zajedni~kog interfejsa. INTEGRISANI RESURSI Integrisani resursi predstavljaju jezgro STEP standarda. U njima se nalaze elementi koji se upotrebljavaju za predstavljanje razli~itih podataka o proizvodu i koji su izra`eni preko EXPRESS jezika. Integrisani resursi se mogu podeliti na op{te i aplikacione resurse. Op{ti resursi sadr`e informacije koje ne zavise od konretne aplikacije i za njih je karakteristi~no da se prilikom definisanja jednog elementa mo`e koristiti definicija nekog drugog elementa. Aplikacioni resursi pro{iruju op{te resurse dodavanjem informacija koje su specifi~ne za neku grupu aplikacija. Aplikacioni resursi se mogu pozivati na op{te, ali se ne mogu pozivati na druge aplikacione resurse.
INTERPRETIRANE KONSTRUKCIJE Proces kreiranja STEP modela se sastoji u izboru i eventualnom ograni~avanju konstrukcija iz integrisanih resursa, koje bi zadovoljile konkretne potrebe. Kada su na taj na~in definisani zahtevi za dve ili vi{e industrijskih aplikacija, mogu}e je definisati AIC (application interpreted constructs), koje bi identifikovale potencijale koji se mogu deliti izme|u ovih aplikacija. AIC se tako|e defini{u u EXPRESS jeziku.
Svaki atribut, lokalna promenljiva ili formalni parametar u EXPRESS-u mora imati pridru`en odgovaraju}i tip. Tipovi podataka u EXPRESS-u se mogu podeliti na osnovne tipove, tipove koji predstavljaju skupove podataka (agregatni), tipove koji imenuju neki skup podataka, izvedene tipove i op{te tipove. OSNOVNI TIPOVI PODATAKA Ovi tipovi opisuju najni`i nivo podataka u EXPRESS-u. Ovakvi podaci se ne mogu dalje ra{~laniti u elemente koje bi EXPRESS prepoznao. Osnovni tipovi su NUMBER, REAL, INTEGER, STRING, BOOLEAN, LOGICAL i BINARY. NUMBER tip za svoj domen ima sve numeri~ke vrednosti koje se mogu sresti u EXPRESS-u. Ovaj tip se koristi kada se ne mo`e unapred ta~no specifikovati kakav }e biti odre|eni podatak, ali se zna da je to broj~ana vrednost. Tip REAL ima za svoj domen sve realne brojeve. Tip INTEGER ima za svoj domen sve cele brojeve. Tipovi REAL i INTEGER se mogu smatrati tipovima koji su izvedeni iz tipa NUMBER. STRING tip predstavlja niz karaktera. Mo`e se definisati da ima fiksnu ili promenljivu du`inu. Podatak koji je tipa LOGICAL mo`e imati tri vrednosti i to TRUE, FALSE i UNKOWN. BOOLEAN je izveden iz tipa LOGICAL i mo`e imati samo vrednosti TRUE i FALSE. AGREGATNI TIPOVI PODATAKA Podaci ovih tipova predstavljaju skupove podataka nekog drugog tipa. Ti drugi podaci se nazivaju elementima nekog agregata. Postoje ~etiri vrste agregatnih tipova. To su ARRAY, LIST, BAG i SET. Podatak koji je tipa ARRAY ima ta~no odre|enu veli~inu i redosled elemenata. Mogu se i moraju precizirati granice ovog polja, a tako|e se mo`e precizirati da li svi ~lanovi polja imaju vrednosti i da li su te vrednosti jedinstvene, odnosno da li se mogu ponavljati. LIST je tip podatka koji je sli~an sa ARRAY, ali se razlikuje po tome {to se kod liste ne moraju obavezno zadati donja i gornja granica, dok se kod polja te granice moraju zadati. BAG i SET predstavljaju, za razliku od prethodnih, neure|ene tipove podataka. Razlika izme|u njih je samo u tome {to BAG mo`e sadr`ati i iste vrednosti za neke elemente, a SET ne mo`e. IZVEDENI TIPOVI PODATAKA Postoje dve vrste izvedenih tipova. To su ENUMERATION (nabrajanje) i SELECT. Ovi tipovi mogu se koristiti samo prilikom definisanja korisni~kih tipova podataka.
ENUMERATION predstavlja ure|eni skup imena, koja su mogu}e vrednosti za podatak koji je ovog tipa. SELECT tip omogu}ava da se iz skupa prethodno definisanih tipova (imenovanih) izabere jedan. DEKLARISANJE ENTITETA Ova deklaracija kreira novi entitet i defini{e identifikator koji ukazuje na njega. Svaki entitet ima svoje atribute, koji opisuju neke njegove osobine i kojima se mo`e dodeliti vrednost za svaki novi primerak tog entiteta. ENTITY slu`benik; id_broj : NUMBER; ime : STRING; END_ENTITY; EXPRESS je objektno-orijentisani jezik koji podr`ava i koncept nasle|ivanja. Nasle|ivanje je osobina objekata kojom se defini{e da sve podklase nasle|uju osobine i pona{anje svoje super klase, odnosno definisane osobine klase se prenose i na njene podklase. Ova osobina omogu}ava hijerarhijsko kreiranje stabla klasa objekata sa mogu}no{}u nasle|ivanja osobina klasa sa vi{eg hijerarhijskog nivoa. Svaka novoformirana klasa, bez obzira na kom je nivou formirana, mo`e da nasledi podatke i pona{anje od postoje}ih direktnih i indirektnih superklasa. Ovo omogu}ava da se pojedine osobine klasa kao i njihovo pona{anje defini{u na razli~itim nivoima u hijerarhijskoj organizaciji klasa. Svaki nivo }e imati definisane osobine koje su karakteristi~ne za taj nivo. Tako se izbegava definisanje nepotrebnih osobina na pojedinim nivoima i njihovo nagomilavanje. BROJ
CEO BROJ
NEGATIVA N BROJ
Slika: Hijerarhija klasa za brojeve Prilikom definisanja klase mora se definisati klasa od koje se ona izvodi. Tako|e se kod svake klase defini{u podklase koje se od nje izvode. Npr. za objekat koji opisuje neparan broj se mo`e definisati da je izveden iz klase celih brojeva. ENTITY ceo_broj; SUPERTYPE OF negativan_broj; SUBTYPE OF broj;
END_ENTITY ENTITY negativan_broj; SUBTYPE OF ceo_broj; END_ENTITY; DEKLARISANJE [EME [ema je konstrukcija u EXPRESS-u koja slu`i za to da sve entitete, korisni~ke tipove, funkcije, pravila koji se odnose na isti problem pove`e u celinu. Tako se npr. svi entiteti koji se odnose na geometriju, a to su ta~ke, linije, povr{ine itd., mogu smestiti u jednu {emu koju bismo nazvali GEOMETRIJA. SCHEMA GEOMETRIJA; .. END_SCHEMA Konkretizacija podataka, definisanih u EXPRESS {emi Po{to je EXPRESS simboli~ki jezik, bez mogu}nosti dobijanja izvr{ne verzije, to se on u koristi za generalno definisanje modela. U EXPRESS-u se defini{u entiteti, pravila i ograni~enja, ali se ne daju konkretne vrednosti pojedinim atributima, odnosno EXPRESS slu`i za definisanje okvira `eljenog modela. Konkretizacija postavljenog modela vr{i se prema pravilima koja je definisao standard ISO 10303 deo 21(Clear Text Encoding of the Exchange Structure). Ako se `eli opisati proizvod saglasno sa STEP standardom, mora se najpre dati op{ti, konceptualni model koji je napisan u EXPRESS-u. U njemu su date definicije, bez konkretnih vrednosti, svih entiteta koji su potrebni za kompletno opisivanje karakteristika proizvoda. Na osnovu tog modela se onda u odgovaraju}em formatu, koji je definisan u delu 21, defini{u konkretne vrednosti za pojedine atribute onih entiteta koji su definisani u EXPRESS {emi. Proces uspostavljanja veza izme|u EXPRESS opisa i ovog formata je tako|e precizno definisan u ovom delu STEP standarda. Sve entitete koji su potrebni za definisanje dela, prikazanog na slici 12, prikazuje, u notaciji jezika EXPRESS-G, slika 13.
10 0
0 4
Slika 1 - Cilindar
Na po~etku datoteke se obavezno nalazi sekcija zaglavlja, koja sadr`i neke uvodne podatke,koji su zajedni~ki za sve entitete, kao {to je npr. ime autora i sl. Ova sekcija, za svaku datoteku za razmenu, obavezno mora sadr`ati instance za tri entiteta i to file_decription, file_name i file_schema. File_description entitet daje neke {ire informacije o sadr`aju i vrsti podataka koji se prenose putem datoteke za razmenu. File_name entitet defini{e ime datoteke, vreme kada je nastao, ime autora, radnu organizaciju u kojoj je nastao, ra~unarski sistem u kojem je nastala ova datoteka. File_schema entitet defini{e sve {eme u okviru koji su definisani entiteti koji se pojavljuju u sekciji sa podacima. Ova tri entiteta se moraju nalaziti u svakoj sekciji zaglavlja i to ba{ ovim redom kojim su i ovde nazna~eni. Sekcija zaglavlja mo`e sadr`ati i neke korisni~ki definisane entitete. Npr. sekcija zaglavlja za datoteku u kojoj se opisuje ma{inski deo, koji prikazuje slika 12 mo`e izgledati ovako:
HEADER; FILE_DESCRIPTION(('Primer 1 STEP model CADROT-a'),'1'); FILE_NAME('primer.p21','maj 1997',('Misic Dragan'),('Masinski fakultet Nis')); FILE_SCHEMA(('CONFIG_CONTROL_DESIGN')); ENDSEC;
Iza ove sekcije sledi sekcija sa konkretnim podacima, koji opisuju proizvod. Ova sekcija sadr`i instance entiteta koji su definisani u {emama koje su nazna~ene u entitetu file_schema u prethodnoj sekciji. Svaka instanca nekog entiteta dobija svoju oznaku, koja istovremeno predstavlja i njeno ime. U daljem tekstu svako pojavljivanje te oznake ukazuje na tu instancu. Ova oznaka je u stvari neki ceo broj. Iza oznake sledi ime entiteta ~ija je to instanca. Atributi ovih entiteta se zadaju iza ovog imena, tako {to se u zagradama navode redom vrednosti za svaki atribut. Ove vrednosti su me|usobno odvojene zarezima. Redosled navo|enja vrednosti za atribute nije proizvoljan, ve} mora ta~no odgovarati redosledu kojim se atributi pojavljuju u deklaraciji entiteta. Pri tome se prvo navode oni atributi koji su nasle|eni od nekog drugog entiteta, pa tek onda oni koji eksplicitno deklarisani. Sekcija sa podacima za isti ma{inski deo, za koji je zadata sekcija zaglavlja, izgledala bi ovako:
DATA; #1 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); #2 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); #3 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT()); #4 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#1,'xx','yy'); #100 = CARTESIAN_POINT('CP1',(0.0,0.0,0.0)); #101 = DIRECTION('Dir1',(0.1,0.0,0.0)); #102 = DIRECTION('Dir3',(0.0,0.0,1.0)); #120 = AXIS2_PLACEMENT_3D('OSA-1',#100,#101,#9102); #121 = PLANE('RAV-1',#120); #122 = CIRCLE('Circ1',#120,40.0); #123 = CARTESIAN_POINT('CP2',(40.0,0.0,0.0)); #124 = VERTEX_POINT('VP1',#123);
#125 = EDGE_CURVE('EC-1',#124,#124,#122,.T.); #126 = ORIENTED_EDGE('OE-1',*,*,#125,.T.); #127 = EDGE_LOOP('EL-1',(#126)); #128 = FACE_BOUND('FB-1',#127,.F.); #129 = ADVANCED_FACE('AF-1',(#128),#121,.F.); #160 = CARTESIAN_POINT('CP5',(0.0,0.0,100.0)); #161 = AXIS2_PLACEMENT_3D('OSA-3',#160,#101,#102); #162 = CIRCLE('Circ3',#161,40.0); #163 = CARTESIAN_POINT('CP6',(40.0,0.0,100.0)); #164 = VERTEX_POINT('VP3',#163); #165 = EDGE_CURVE('EC-3',#164,#164,#162,.T.); #166 = ORIENTED_EDGE('OE-3',*,*,#165,.F.); #167 = EDGE_LOOP('EL-3',(#166)); #168 = FACE_BOUND('FB-4',#167,.T.); #169 = FACE_BOUND('FB-5',#137,.F.); #170 = CYLINDRICAL_SURFACE('CIL-1',#120,40.0); #180 = ADVANCED_FACE('AF-3',(#168,#169),#170,.T.); #190 = PLANE('RAV-2',#161); #192 = FACE_BOUND('FB-6',#167,.F.); #193 = ADVANCED_FACE('AF-4',(#167),#190,.T.); #200 = CLOSED_SHELL('CS-1',(#129,#151,#180,#193)); #300 = MANIFOLD_SOLID_BREP('ManSolBrep1',#200); #400 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#300),#500); #500 = (GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNIT_ASSIGNED_ CONTEXT ((#1,#2,#3)) REPRESENTATION_CONTEXT('CONTEXT,'primer')); ENDSEC;
Ukoliko je neki atribut definisan kao agregatna vrednost, onda se vrednosti svih ~lanova tog agregata navode izme|u dveju zagrada koje ih odvajaju od ostalih atributa.Npr. instanca za entitet CLOSED_SHELL ~iji je drugi atribut definisan kao lista bi izgledala ovako: #200 = CLOSED_SHELL('CS-1',(#129,#151,#180,#193)); Redosled kojim se instance pojavljuju u ovom fajlu nije od zna~aja. Ukoliko se neki od atributa izostavlja onda se za njega mora ostaviti prazno mesto, odvojeno zarezima. Definicije entiteta Osnovni objekat koji se upotrebljava prilikom definisanja B-rep solid modela jeste manifold_solid_brep. Njegova definicija u EXPRESS jeziku je: ENTITY manifold_solid_brep SUBTYPE OF (solid_model); name : label; outer : closed_shell; END_ENTITY;
Atribut name se koristi za eventualno zadavanje imena, dok atribut outer predstavlja zatvorenu ljusku koja se se sastoji iz ve}eg broja povr{ina, koje su me| usobno povezane i koje ograni~avaju neku zapreminu. Objekat closed_shell se defini{e kao: ENTITY clossed_shell SUBTYPE OF (connected_face_set);
cfs_faces : END_ENTITY;
nasle|eni atribut
Atribut cfc_faces defini{e skup povr{ina (najmanje jedna) koje ~ine zatvorenu ljusku. Za definisanje neke povr{ine iz ovog skupa koristi se entitet advanced_face koji predstavlja deo neke povr{ine sa definisanim granicama. ENTITY advanced_face SUBTYPE OF (face_surface); name : label; nasle|eni atribut bounds : SET [1:?] OF face_bound; nasle|eni atribut face_geometry : surface; nasle|eni atribut same_sense : BOOLEAN; nasle|eni atribut END_ENTITY; Atribut face_geometry defini{e osnovnu povr{inu na kojoj se nalazi advanced_face, dok atribut bounds defini{e krive na osnovnoj povr{ini koje ograni~avaju neki njen deo. Surface je objekat iz kojeg se izvode razli~iti entiteti, koji opisuju konkretne povr{ine, kao {to su cylindrical_surface (cilindri~na povr{ina), conical_surface (koni~na povr{ina), plane (ravan) i sl. Njihove definicije u EXPRESS-u su: ENTITY plane SUBTYPE OF (elementary_surface); name : label; position : axis2_placement_3d; END_ENTITY;
Ravan (plane) je neograni~ena povr{ina sa konstantnom normalom. Ravan je definisana ta~kom u ravni i smerom normale na tu ravan. Ovi parametri su zadati preko atributa axis2_ placement_3d. Entitet axis2_placement_3d defini{e lokaciju i orijentaciju dve uzajamno upravne ose. ENTITY axis2_placement_3d SUBTYPE OF (placement); name : label; location : cartesian_point; axis : OPTIONAL direction; ref_direction : OPTIONAL direction; END_ENTITY;
Atribut axis je smer lokalne z ose, koja je ujedno i glavna osa. Ova osa uvek defini{e smer normale na povr{inu za ~ije se definisanje koristi ovaj entitet. Atribut location je koordinatni po~etak te ose i defini{e se kao ta~ka u trodimenzionalnom prostoru.
Cylindrical_surface (cilindri~na povr{ina) je definisana ta~kom na osi i smerom te ose kao i radijusom. Ovi parametri su zadati preko axis2_placement_3d i radiusa. ENTITY cylindrical_surface SUBTYPE OF (elementary_surface); name : label; position : axis2_placement_3d; radius : positive_length_measure; END_ENTITY;
Atribut position defini{e osu cilindra (koja se poklapa sa z osom), dok radius defini{e polupre~nik cilindra. Conical_surface (koni~na povr{ina) se defini{e ta~kom na osi, smerom te ose, polovinom ugla koji obuhvata konus, kao i radijusom kruga u ravni normalnoj na osu kroz datu ta~ku. ENTITY conical_surface SUBTYPE OF (elementary_surface); name : label; nasle|eni atribut position : axis2_placement_3d; nasle|eni atribut radius : length_measure; sopstveni atribut semi_angle : plane_angle_measure; sopstveni atribut END_ENTITY; Koni~na povr{ina se dobija tako {to se kroz ta~ku definisanu u position, postavi ravan nomalna na z osu (ovo je osa konusa i ide od vrha). U toj ravni se defini{e krug polupre~nika radius, pa se od tog kruga vu~e konus pod uglom semi_angle. Da bi na ovim, u op{tem slu~aju beskona~nim povr{inama, izdvojio neki deo moraju se definisati zatvorene krive koje ograni~avaju neki deo povr{ine. Prilikom definisanja ovih krivih polazi se od objekta face_bound. Face_bound predstavlja neku krivu, koja se mo`e sastojati iz vi{e elementarnih krivih linija i koja mora biti ograni~ena. Ovaj entitet se isklju~ivo koristi za definisanje granica na nekoj povr{ini. ENTITY face_bound SUBTYPE OF (topological_representation_item); name : label; nasle|eni atribut bound : loop; sopstveni atribut orientation : BOOLEAN; sopstveni atribut END_ENTITY; Entitet edge_loop se koristi za definisanje niza krivih od kojih je sastavljena kriva koja ograni~ava neku povr{inu. ENTITY edge_loop SUBTYPE OF (loop, path); name : label; nasle|eni atribut edge_list : LIST [1:?] OF UNIQUE oriented_edge; nasle|eni atribut END_ENTITY;
Atribut edge_list defini{e skup krivih koje ~ine tu zatvorenu putanju. Objekat oriented_edge omogu}ava da se nekoj ivici (edge) promeni smer ako je to potrebno. ENTITY oriented_edge SUBTYPE OF (edge); name : label; edge_start : vertex; edge_end : vertex; edge_element : edge; orientation : BOOLEAN; END_ENTITY; Atribut edge_element je ivica za koju se defini{e smer, a taj smer se zadaje atributom orientation. Definisanje ivice kao topolo{kog elementa vr{i se pomo}u objekta edge_curve. ENTITY edge_curve SUBTYPE OF (edge, geometric_representation_item); name : label; edge_start : vertex; edge_end : vertex; edge_geometry : curve; same_sense : BOOLEAN; END_ENTITY; Temena ivice se defini{u atributima edge_start i edge_end, dok se kriva linija, kao geometrijski element, defini{e atributom edge_geometry. Prava linija se defini{e objektom line. Za potpuno odre|ivanje linije potrebno je da se poznaje jedna ta~ka na njoj (po~etna) i pravac i smer vektora na kome se ona nalazi. ENTITY line SUBTYPE OF (curve); name : label; pnt : cartesian_point; dir : vector; END_ENTITY;
Atribut pnt defini{e po~etnu ta~ku prave linije, dok se vektor defini{e atributom dir. Cartesian_point je ta~ka u Dekartovom pravouglom koordinatnom sistemu i definisana je sa tri koordinate u pravcima koordinatnih osa. ENTITY cartesian_point SUBTYPE OF (point); name : label; coordinates : LIST [1:3] OF length_measure; END_ENTITY;
Pravac, smer i intenzitet vektora se defini{u objektom vector. ENTITY vector SUBTYPE OF (geometric_representation_item); name : label; orientation : direction; magnitude : length_measure; END_ENTITY;
Atribut magnitude defini{e intenzitet vektora, a orientation defini{e njegov pravac i smer. Definisanje pravca i smera nekog vektora vr{i se entitetom direction. ENTITY direction SUBTYPE OF (geometric_representation_item); name : label; direction_ratios : LIST [2:3] OF REAL; END_ENTITY;
Atribut direction_ratios zadaje projekcije vektora u pravcu koordinatnih osa. Za definisanje kruga koristi se objekat circle. Krug je definisan ako su poznati centar kruga, smer normale na ravan u kojoj se nalazi (defini{u se atributom position) i radijus. ENTITY circle SUBTYPE OF (conic); name : label; position : axis2_placement; radius : positive_length_measure; END_ENTITY;
geometric_representation_ite m
face
topological_representation_ite m
face_surface
surface
point
curve
direction
placement
solid_model
advanced_face
edge
vertex
connected_face_set face_bound
path
loop
elementary_surfac e plane
conic
axis2_placement_3d
manifold_s olid_brep
edge_loop
cartesian_point
circle
representation
shape_representation
advanced_brep_shape_representati on