Információk a felhasználói vonaltípusokban alkalmazott alakokról

Az összetett vonaltípus tartalmazhat alakfájlokban tárolt beágyazott alakokat. Az összetett vonaltípusokkal közműveket, határoló vonalakat, kontúrokat stb. jelölhet.

Amikor a felhasználó megadja a csúcspontokat, az egyszerű vonaltípusokhoz hasonlóan az összetettek is dinamikusan rajzolódnak meg. A vonalakba beágyazott alakok és szöveges objektumok minden esetben egészben jelennek meg, a program soha nem vágja szét őket.

Az alak objektumokat tartalmazó vonaltípusminta-leírók hasonlóak az egyszerű vonaltípusok leíróihoz.

Az alakobjektumok leíróinak szintaxisa a vonaltípusban a következő:

[shape_name,shape_filename] or [shape_name,shape_filename,transform]

A transzformáció egyik esetben sem kötelező, és a következők sorozatából áll (melyek előtt vesszőnek kell lennie):

R=## Relatív elforgatás

A=## Abszolút elforgatás

U=## Álló elforgatás

S=## Lépték

X=## X eltolás

Y=## Y eltolás

Itt a ## egy előjeles decimális számot jelöl (1, -17, 0.01 stb.), az elforgatás mértékét fokokban kell megadni, a többi érték mértékegysége pedig a vonaltípus szerinti rajzegység. A transzformációt jelölő, elöl álló betűt egyenlőségjelnek és egy számnak kell követnie.

A következő vonaltípus-definíció a CON1LINE nevű vonaltípust határozza meg, amely egy vonalszakasz, egy üres szakasz és a ep.shx fájlban található CON1 beágyazott alak ismétlődő mintázatából áll. (Ne feledje, hogy az ep.shx fájlnak a supportfájlok keresési útvonalán kell lennie, egyébként a példa nem működik helyesen.)

*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0

A szögletes zárójelekben lévő kódon kívül minden megfelel az egyszerű vonaltípusok esetében elmondottaknak.

Amint azt a fentiekben láthattuk, összesen hat mező írja le a vonaltípusba beágyazott alakot. Az első kettő megadása kötelező, és szerepük pozíciófüggő, a maradék négyet nem muszáj megadni, de sorrendjük tetszőleges lehet. A következő két példa az alakdefiníciós mező elemeit mutatja be.

[CAP,ep.shx,S=2,R=10,X=0.5]

A fenti kód a CAP alakot írja le, amely az ep.shx alakfájlban található, léptéke a vonaltípus egységének kétszerese, érintőlegesen, az óramutató járásával ellentétes irányban van elforgatva 10 fokkal, továbbá 0.5 rajzegységgel van X irányban eltolva.

[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]

A fenti kód a DIP8 alakot írja le, amely a pd.shx alakfájlban van definiálva, 0.5 rajzegységgel van X irányban eltolva a megrajzolás előtt, 1 rajzegységgel van Y irányban eltolva a vonaltípus fölé, 0 fokkal van (azaz nincs) elforgatva, továbbá léptéke megegyezik a vonaltípus egységével.

A karakterleíró formátuma

Alakot a következő formátumban lehet vonaltípus-leíráshoz hozzáadni:

[shape_name,shape_filename,scale,rotate,xoffset,yoffset]

A lépték, az elforgatás, az x és az y eltolás értékét előjeles decimális számokként kell megadni, például 1, -17 és 0.01.

Alak neve

A rajzolt alak neve. A definíciónak mindenképpen tartalmaznia kell ezt a mezőt. Ha kihagyja, a vonaltípus definiálása sikertelen lesz. Ha az alaknév nem létezik a megadott alakfájlban, a program betölti a vonaltípust, és az használható ugyan, de a beágyazott alak nélkül.

Alak fájlneve

A lefordított alakdefiníciós (SHX) fájl neve. Ha kihagyja, a vonaltípus definiálása sikertelen lesz. Ha az alakfájlnév nem tartalmazza az elérési útvonalat, a rendszer a program támogatási útvonalain keresi a fájlt. Ha az alakfájlnév tartalmaz elérési útvonalat, de nem található a megadott helyen, a rendszer eltávolítja az útvonalat, és a program támogatási útvonalain keresi a fájlt. Ha a fájl nem található, a program betölti a vonaltípust, és az használható ugyan, de a beágyazott alak nélkül.

Lépték

Az alakhoz használandó léptéktényező, amellyel az alakfájl belső méretezése megszorzódik. A megadott léptéktényezőnek S= előtaggal kell rendelkeznie. Az S=.5 érték például 0,5 léptéktényezőt jelez. Ha az alak belső méretezése 0, csak az S= érték határozza meg a méretet.

Elforgatás

A vonaltípusban megjelenített alak elforgatási szöge. Az elforgatási szögnek az U=, R= vagy A= előtaggal kell rendelkeznie.

  • U= álló vagyis könnyen olvasható szöveget jelöl.
  • Az R= relatív vagy érintőleges forgatást jelöl a vonalhoz képest.
  • Az A= a szöveg abszolút elforgatását jelöli a kezdőponthoz képest, ezért minden szöveg ugyanolyan mértékben lesz elforgatva, a vonalhoz képest elfoglalt helyétől függetlenül.
Megjegyzés: A vonaltípust a LIN-fájlokból betöltve az U (álló) elforgatási jelet használó korábbi vonaltípusokat tartalmazó rajzok a legfrissebb vonaltípus-definícióra frissíthetők. Az egyéni vonaltípusok frissítéséhez a vonaltípus-definíció betöltése előtt az R (elforgatott) jelet U (álló) jelre kell változtatni.
X-eltolás

Az alaknak a vonaltípus X tengelye mentén mért eltolása, a vonaltípust definiáló csúcsponttól számítva. Az eltolás az X előtaggal, például X=.1 jelzi a 0,1 értékű eltolást. Ha az eltolás értéke nincs megadva vagy 0, az alakot a program eltolás nélkül hozza létre. Ezt a mezőt akkor érdemes használni, ha folytonos vonalhoz szeretne alakokat megjeleníteni. Erre az értékre nem vonatkozik az S=érték tényezővel meghatározott lépték.

Y-eltolás

Az alaknak a vonaltípus Y tengelye mentén mért eltolása, a vonaltípust definiáló csúcsponttól számítva. Az eltolás az Y előtaggal, például Y=.1 jelzi a 0,1 értékű eltolást. Ha az eltolás értéke nincs megadva vagy 0, az alakot a program eltolás nélkül hozza létre. Ezt a mezőt akkor érdemes használni, ha folytonos vonalhoz szeretne alakokat megjeleníteni. Erre az értékre nem vonatkozik az S=érték tényezővel meghatározott lépték.