Az ARX technológia lényege:
Az autocad legújabb és legkorszerűbb irányvonalú fejlesztése az úgynevezett CUSTOM OBJECTEK irányába mutat. Ez azt jelenti, hogy nem autocados rajzelemekkel dolgozunk (mint pl. vonal vonallánc
szöveg, kör stb), hanem a felhasználói programban kerül deklarálásra az objektum (mint pl. gerenda objektum felirat objektum). Mivel az objektum minden egyes részletéért a felhasználói program felelős
(pl. annak kirajzolásáért is) így ha az nincs betöltve az autocadnak fogalma sincs, hogy hogyan kell az adott bináris adatblokkból bármiféle geometriát előállítani. A felhasználói program felel azért is, hogy
milyen adatok kerüljenek az objektumból kimentésre a dwg fileba. Ill. a dwg file megnyitásakor az autocad a felhasználó programmal "olvastatja" be a megfelelő számú byteot.
(pl. egy "sima" autocad vonalnál szükség van arra, hogy többek között kiírjuk a két végpont koordinátáit (X1,Y1,Z1 X2,Y2,Z2) a dwg állományba. Ha az autocad tudja, hogy ez egy vonal, akkor tudja,
hogy a két pont közé kell egyenest húzni és úgy áll elő a vonalat reprezentáló grafika) A különbség az, hogy a vonalnál az autocad "tudja", hogy az az "ő" saját objektuma és "ő" írja ki a dwg be az adatokat
és "ő" állítja elő a geometriát. Míg pl. egy felhasználói objektum esetén a felhasználói program írja ki azt, amit akar, és állít elő azokból olyan geometriát amilyet akar (pl. két pont közé lehetne félkört is
rajzolni)
Példa: tervezünk (és programozunk) egy olyan objektumot aminél 1 pontot írunk csak ki a dwg be és úgy kell előállítani a grafikát, hogy az adott pontból húzunk 10 rajzi egységnyi hosszan "vízszintesen"
egy vonalat. Belátható, hogy ha olyan rajzunk van amiben sok sok ilyen "vonalszerűségre" van szükség, akkor azt kisebb dwg mérettel el tudjuk érni, mivel 2 pont helyett csak 1 pont koordinátáit kell
"megjegyezni". Nyilván a koordinátán kívül még egyebeket is meg kell jegyezni, mint szín, vonaltípus, fólia, de ezeket azért nem említem, mert az autocad vonalnál ezek éppúgy megvannak. Ilyen
"vonalszerűség" objektum könnyedén elképzelhető, noha gyakorlati haszna valószínűleg kevés lenne. Az autocad vonallal is lehet 10 egységnyi vízszintes vonalat rajzolni, de ott fennáll annak a veszélye,
hogy elrontjuk, véletlenül 11 egység lesz, vagy nem lesz pont vízszintes. Az autocad vonala általánosabb sokcélúbb, de nem tudjuk a viselkedését befolyásolni. Úgy működik, ahogy azt az autodesknél
kitalálták, 3 fogópontja van, a szélső fogopontokon keresztül módosíthatjuk a kezdő és végpont koordinátáit. Jól ki van találva, de "csak" egy vonal. Ellenben ha mi találunk ki objektumokat, akkor szinte
MINDENT befolyásolhatunk. A fenti példánál maradva, ha biztos, hogy 10 egységnyi vízszintes szakasz kell egy adott ponból, akkor hátrány a 3 fogópont, hátrány, hogy a végpontot is tudjuk mozgatni.
Elég lenne egy fogópont. Az ARX technológiának a lényege (szerintem legalábbis) pontosan az, hogy létrehozhatunk új objektumokat és azok viselkedését, összefüggéseit, megjelenését teljesen kézben
tudjuk tartani.
Miért nem látszik sima autoCADdal?
Ha megnyitunk egy olyan rajzot amiben előzőleg létrehoztunk egy ilyen "vonalszerűséget", de a rajz megnyitásakor éppen nincs betöltve a program, akkor az autocadnak fogalma sem lesz, arról, hogy
nekünk ezzel az objektummal az volt a szándékunk, hogy adott pontból 10 egység hosszú vízszintes szakasz "látszódjon". Az autoCAD a dwg megnyitásakor "látja", hogy a következő adatblokk
(objektum) nem az "ő" natív objektuma, ezért aztán ezzel nem is csinál semmit. Szerencsére mentéskor ugyanúgy visszaírja az adatblokkot, ezért az ilyen felhasználói objektumok nem vesznek el csak nem
lehet csinálni velük semmit autocadban, mindaddig, amíg nincs alkalmazás, ami tudná a teendőket.
Ezen fajta viselkedésnek megvan az a hátránya (ami bizonyos szempontból előny), hogy nem lehet megnézni sem az objektumokat a felhasználói program nélkül, de ennek ellenére a technológia több
előnnyel jár, mint hátránnyal. A "régi" vbexpressben nem volt még ilyen objektum, mindent natív autocad objektumokkal állíitott elő a program. Bár ott is "vasnak" nevezhettünk bizonyos vonalakat, azok
mégiscsak autocados vonalak, vagy vonalláncok voltak, olyan tulajdonságokat, mint átmérő, anyagminőség, csak trükkösen lehetett hozzájuk rendelni. A program intelligenciája "csak" annyiból állt, hogy
"segített" meghúzni az egyenest, megrajzolni a kört, létrehozni a szöveget stb.. de semmi olyat nem tett, amit ne lehetett volna "sima" autocaddal is megcsinálni (kicsit több idő alatt természetesen). Az új
program a fenti ARX technológiás megközelítést alkalmazza, annak nagyfokú rugalmasságával és szinte korlátlan lehetőségeivel együtt.
A technológia néhány előnye, a teljesség igénye nélkül:
- Kisebb dwg méret:
Pl. a "hagyományos" vaslétránál 1 db vasléra állt 1 db vonalláncból 2*n db blokkból 1 db körből stb... Most meg 1 db vaslétra az 1 db vaslétra objektum .... nem kell kimenteni a dwg be 2*n db blokkot,
mivel a program "odarajzol(hat)ja" a blokkokat anélkül, hogy azok ott lennének.
- Megbízhatóbb programműködés:
A régi programnál, mivel azok sima autocados objektumok voltak, nem volt semmi akadálya annak, hogy valaki egy "sima" autocaddal megnyissa a rajzot és pl. szép sorban letörölgesse a pos számokat
(amik autocad szempontjából sima szövegek voltak csak). Ha ezt megtette valaki akár csak 1 ilyen szöveggel, a vbexpresst máris kiakasztotta, mivel az nem számított arra, hogy hiányozni fog a pos szöveg,
mert azt valaki letörölte, az "ő" tudtán kívül.
Az újnál azért nem lesz ilyen, mert nem tudja letörölni az objektumot az alkalmazás nélkül. Az autocad semmit sem tud tenni, így az objektumok védve vannak a brutális felhasználói beavatkozástól. Ha meg
be van töltve az alkalmazás, akkor az kézben tart mindent és pl. ha valaki letörli a vasat, akkor letörli a hozzá tartozó referenciákat, és a létrát is. Semmi sem töténhet az alkalmazás tudta nélkül. A jelenlegi
vbexpress is ilyet igyekszik csinálni, de a jelenlegi könnyen "átverhető" a technológia miatt.
- Gyorsabb programműködés
- Rugalmasság
az objektumok a műszaki tartalomnak megfelelően tudnak viselkedni, és az annak megfelelő tulajdonságokkal ruházhatók fel, megtartva az autocados tulajdonságokat is (szín, fólia stb) Az elkészített rajz így már tényleg nem csak vonalakat, köröket, szövegeket tartalmaz, hanem intelligens objektumokat, amik a valóságot modellezik.
Megoldás a megjelenítési problémára "sima" autoCAD esetén
1: A fent vázolt technológia miatt, ha meg akarjuk jeleníteni az objektumokat nincs mit tenni, az alkalmazásnak ott kell lennie. Ezért a legtöbb program ami ezt a fajta technológiát használja, készít a
programjához egy ún. object enablert, ami lehetővé teszi a custom objektumok megjelenítését. Pl. az architectural desktop fal objektumát sem lehet látni "sima" autocad alatt, amíg nincs telepítve, az
architectural desktop object enabler programja (de ezt biztos már sokan tapasztalták). Ugyanez van a vbexpressnél is. Van egy teljesen ingyenes, mindenki számára elérhető vbexpress object enabler. Ezt
azonban mindenkinek telepítenie KELL majd, aki olyan rajzot akar nézegetni, amiben vbexpresses objektumok (is) vannak. Az object enabler tulajdonképpen egy olyan program, ami a "nagy" program
bizonyos funkcióit tartalmazza. Csak a programozón múlik, hogy mi az amit az enableren keresztül megenged, és mi az amit csak a "nagy" verzióval enged. Pl lehetséges, hogy az enablerrel is lehessen
törölni, másolni az objektumokat, de éppígy lehetséges ennek ellentéte is.
2: Másik lehetőség, hogy amíg még a vbexpressel dolgozunk felrobbantjuk az xplodall paranccsal az összes objektumot. Ekkor azok tényleg elemi autocad rajzelemekre esnek szét, 1 létra objektumból
essetleg lesz 57 vonal, ezáltal nő a dwg mérete, de az az előny megvan, hogy bármelyik alkalmazás amelyik értelmezni tudja a "VONAL" objektumot az meg is fogja tudni jeleníteni. Ez a folyamat egyirányú
vissza nem fordítható (57 vonalból nem lehet osztásközzel kiosztási szabállyal és egyebekkel rendelkező létra objektumot előállítani automatikus úton)
Tervszállítás / munkakapcsolat /kompatibilitás:
Felmerülhet igényként, hogy a társtervezők is "lássanak" mindent, de vbexpresst mégse kelljen venniük, mert már így is túl sokat fizettek a gépért, a windowsért, és az autocadért. Erre az igényre több megoldás is létezik, a kompatibilitás több fokán.
Látványszintű kompatibiltás
1: lehetőség van dwf filet készíteni, ez nem szerkeszthető, de lehet redlining- olni (belejavítani, megjelölni dolgokat), a másik oldalon dwf nézegetőre van szükség, ami ingyenesen elérhető
2: lehetőség van plt filet készíteni, ez szintén nem szerkeszthető, de nézegethető megfelelő programmal
3: lehetőség van pdf filet készíteni, ez szintén nem szerkeszthető, de előnye hogy acrobat reader-je szinte mindenkinek van.
Dwg szintű kompatibilitás:
1: az intelligens objektumok szétvetése az xplodall paranccsal, ekkor sima vonalakká, szövegekké stb.. esnek szét ekkor megnézhető bármivel ami dwg-t amúgy tud olvansi
2: vbexpress objektumenabler: ekkor megnézhető ha valakinek megvan a "nagy" autocad (nem LT) és telepítette az enablert hozzá.
Objektumszintű kompatibilitás:
1: vbexpress programot kell használni a másik oldalon is.