AutoCAD programozása AutoLisp nyelvvel

1994 körül, az első jelentősebb geodéziai művezetés jellegű munkáim kapcsán ismerkedtem meg az AutoCAD -el.
Amikor rájöttem, hogy ez az egyébként is igen sokoldalú (Legalábbis az ITR -hez képest) program, a könnyen használható AutoLisp nyelv segítségével is igen széles körben alkalmassá tehető speciális geodéziai feladatok megoldására, azonnal odaadó (Egyesek szerint inkább vak!) hívéül szegődtem, és mivel az utóbbi cirka tíz évben igen kevés az ingatlannyilvántartást érintő változásokkal kapcsolatos feladatom volt, teljesen hűtlen lettem az addig favorizált ITR-hez.

Az idők során, a teljesség igénye nélkül, a következő főbb funkciókat valósítottam meg AutoCAD alatt, AutoLisp parancsokkal és függvényekkel:

Pontjelek kezelése

  • A geodéziai feladatok által igényelt pont objektum megvalósítása attribútumos blokkokkra hivatkozó blokkreferenciákkal (Továbbiakban: pontjelek).
    A pontjelek alapértelmezett attribútumai (pontszám, pontkód, pont magasság) tetszőleges kombinációkban használhatók, és további tíz felhasználó által definiált attribútum használatára van lehetőség.
    A pontjelek, és attribútumaik midegyike számára egyedileg adhatók meg a réteg, szín és vastagság tulajdonságok.
  • A pontjelek megjelenítési tulajdonságainak, (réteg, méret, szín, vonal vastagság) és alapértelmezett attribútumaik (pontszám, pontkód, magasság) tartalmának csoportos módosítása.
  • Pontjelek egyedi beillesztése, beolvasásuk fájlból, kiírásuk fájlba, egyedi vagy csoportos törlésük.
  • Pontjelek keresése pontszám vagy pontkód attribútumuk alapján.
  • Pontszám, pontkód, magasság attribútumok minimális és maximális értékeinek meghatározása.
  • Azonos pontszám attribútumú pontok kigyüjtése.
  • Pontjelek lecserélése egyéb blokkokra, szükség esetén attribútumok tartalmának átadásával.
  • Pontjelek megadott attribútumának feltöltése meghatározott rétegen lévő közeli TEXT rajzelem tartalmával.
  • Pontjelek attribútumainak összemásolása.
  • stb. ... stb.

Alappontsűrítés­i funkciók

  • Alappont pontjelek egyedi beillesztése.
  • Mérési adatok beolvasása.
  • Álláspont tájékozása
  • Előmetszés számítása
  • Oldalmetszés számítása
  • Hátrametszés számítása
  • Magaspont levezetés
  • Külpont koordinátáinak számítása
  • Sokszögvonalak számítása
  • Trig. mag. vonalak számítása
  • Trig. mag. hátrametszés számítása
  • Poláris és előmetszett részletpontok koordinátaszámítása
Az alappontsűrítés­i funkciók további fejlesztésével 2005 körül felhagytam, mert akkor elkezdtem egy az AutoCAD -tól független, önállóan futtatható alappontsűrítés­i számításokra használható program kifejlesztését, és azóta azt használom erre a célra.


Raszterkép digitalizálás

  • Raszterkép­ek közelítőleges beillesztése két illesztőponttal.
  • Raszterkép­ek beillesztése tetszőleges számú illesztőponntal, affin transzformációval, vágási határok megadásával.
  • Beillesztett raszterkép­ek tartalmának digitalizálás­a.
    A funkció lehetőséget biztosít merőleges, párhuzamos digitalizálás­ra, az újonnan digitalizált vonalak bekötésére, metszésére stb.

Speciális rajzelem létrehozási eljárások

  • Derékszögű bemérés, a mérési adatok feltüntetésével.
  • Derékszögű sokszögelés.
  • Feliratok beillesztése fóliákhoz rendelt megjelenítési jellemzőkkel.
  • Helyrajzi számozás.
  • Követő poligon.
  • Lépcsőfokok.
  • Távolság megírás.
  • Derékszögű kitűzési adatok számítása a kitűzési adatok feltüntetésével.
  • Speciális vonal létrehozási módok.
  • Zászlós feliratok létrehozása és módosítása.
  • stb. ... stb.

Speciális blokk beillesztési, megjelenítési módok

  • Blokkok egyszerűsített beillesztése dialógusablakból.
    insert-dialog

  • Blokkok gyors beillesztése rétegekhez rendelhető tartalmú palettákról.
    insert-dialog
    Lehetõség van egyszerre több jelkulcs elhelyezésére is. Az ilyen jelkulcs összeállítások elmenthetõek a többszöri felhasználás érdekében.

  • Blokkok gyors beillesztése paprtéri elrendezésből.
  • Blokreferenciák lecserélése más blokkreferenciákra.
  • Blokkok kiírása fájlokba.
  • Blokkok beolvasása fájlokból.
  • Blokkok megjelenítése BMP vagy WMF formátumú fájlokban.
  • Blokkreferenciák mellett a bokknév megjelenítése TEXT rajzelemmel.

Rajzelemek módosítása

  • Rajzelemek egyszerűsített másolása, áthelyezése, forgatása.
  • Rajzelemek megjelenítési tulajdonságainak másolása.
  • Attribútumok gyors áthelyezése.
  • Csomópont, és rajta elhelyezett pontjel gyors áthelyezése.
  • Feliratok, blokkreferenciák abszolút vagy relatív elforgatása, átméretezése.
  • Blokkreferenciák attribútumainak másolása.
  • Ívek felbontása húrjaikra.
  • Vonalak párhuzamosítása.
  • Rajzelemek Z koordinátáinak módosítása, interpolálása, megjelenítése TEXT rajzelemmel.
  • Az összes rajzelem koordinátáinak kerekítése megadott számú tizedesjegyre.
  • 0.001 m -nél rövidebb vonalak törlése.
  • Az állomány magassági léptékének módosítása (torzítása).
  • Vonal végpontok illeszkedésének ellenőrzése és javítása.
  • Fedésben lévő objektumok felesleges példányainak törlése, réteg szerinti hierarchia figyelembe vételével.
  • Réteg tulajdonságok lecserélése fájlba menthető, és onnét visszaolvasható réteg összerendelések szerint.
  • Tartalom lecserélése TEXT rajzelemekben, fájlban, szótár szerűen megadott összerendelések alapján.
  • stb. ... stb.

Állományszintű műveletek

  • Összes réteg kikapcsolása vagy bekapcsolása.
  • Rétegek ki/be kapcsolt állapotának megforditása.
  • Rétegek tulajdonságainak fájlba mentése, vagy elmentett állapot beolvasása.
  • Aktuális réteg legfelülre vagy legalulra helyezése.
  • Szövegstílus és méret rendelése rétegekhez.
    A TEXT, MTEXT rajzelemek létrehozására szolgáló funkciók az aktuális réteg figyelembevételével, az így megadott stílussal és mérettel fogják létrehozni a rajzelemeket.
  • Névvel rendelkező objektumok (fóliák, blokkdefiníciók, vonaltípusok, szövegstílusok) átnevezése, fájlban megadott összerendelések szerint.
  • Statisztika az állomány rajzelemeiről, réteg szerinti bontásban, a LINE POLYLINE LWPOLYLINE rajzelemek összesített hosszának réteg és állományszintű mejelenítésével.
  • stb. ... stb.

Terület - térfogat számítások

  • Terület vagy felület számítás egy vagy több rétegen.
  • Felületazonosítók automatikus elhelyezése.
  • Felület metszése dőlt síkkal.
  • Felület metszése vízszintes síkokkal (szintvonalak)
  • Szintvonal megírás.
  • Felület metszése függőleges síkokkal (keresztszelvények).
  • Felület metszése felülettel.
  • Földtömeg számítás.
  • Földtömeg különbözet számítás.
  • 3D felületmodell.
  • stb. ... stb.

Nyomtatási segédfunkciók

  • EOV szelvények megjelenítése és kirajzolása.
  • Sávrajzok készítése.

Vonalas létesítmények hossz és keresztszelvényei

Az ide tartozó funkciók vonalas létesítmények (utak, töltések, belvízcsatornák, stb.) hossz és keresztszelvényeinek előállítására és kirajzolására szolgálnak.
A létesítmény felmért keresztszelvényeit, és jellemző objektumait (műtárgyak) megadó felmért pontokból, és a közéjük elhelyezett vonal rajzelemekből létrehozott adatstruktúra felhasználásával a létesítmény kirajzolásra kész hossz és keresztszelvényei hozhatók létre.
A funkciók a debreceni és nyíregyházai vízügyi igazgatóságok megrendelése alapján az elmúlt két évben végzett belvízcsatorna felmérések feldolgozásához készültek, de elég sokoldalúan paraméterezhetők ahoz, hogy más hasonló feladatokra is alkalmazhatóak legyenek.

Az alábbi linkkel a program bemenő adatainak előállítására szolgáló, és az elkészült hossz és keresztszelvényeket tartalmazó demonstrációs AutoCAD állományok tölthetők le.

Demo AutoCAD állományok letöltése >

E.ON erősáramú hálózatok szerkesztése

2005. óta dolgozunk az E.ON erősáramú hálózatának felmérésén, és DWG állományban való megjelenítésén. A kisfeszültségű hálózatok feldolgozásakor merült fel bennem, hogy érdemes lenne azt minnél szélesebb körben automatizálni, hogy a szerkesztést végző személynek csak az elvégzendő tevékenység kiválasztásával, és a rajzi objektumok helyének kijelölésével kelljen foglalkoznia.
Ennek érdekében szinte az összes szerkesztési tevékenység külön eszköztár (Toolbar) ikonra kattintva indítható. Az ikonokat az alábbi eszköztárakon csoportosítottam:
E.ON eszköztárak

Tehát például a GEO EON04kV GERINC eszköztár első ikonjával 0.4 KV -os csupasz vezeték nyomvonalának rajzolása idítható. A program aktuálissá teszi a KIF_SZABADVEZETÉK CSUPASZ NYOMVONAL fóliát, és ha a felhasználó igényli, beállítja az optimális tárgyraszter módot is, majd folyamatosan, tetszőleges számú nyomvonalszakasz (oszlopköz) helyezhető el. A nyomvonalrajzolás befejezése után a program automatikusan elhelyezi a töréspontokon a csupasz vezetéket jelölő jelkulcsokat.
Ugyanígy van külön-külön megoldva az összes egyéb fólián elhelyezendő légvezeték vagy földkábel nyomvonal létrehozása is.

A jelkulcsok beillesztésére is fóliánként külön ikonok szolgálnak, amelyek a felhasználó igénye szerint, a Speciális blokk beillesztési módok -nál szemléltetett módokon, dialógusablakban nevük alapján, papírtéri elrendezésből vagy felbukkanó palettán kiválasztva adnak lehetőséget a beillesztendő blokk megadására.

Szintén fóliánként külön ikon szolgál a védőcsövek rajzolására, műszaki adatok, és oszlopszámok megírására is.

A GEO EON04kV LEÁG címkéjû eszköztáról indítható, a FALITARTÓ és TETOTARTÓ nevû blokkok beillesztésére szolgáló funkciókkal a beillesztés után a rájuk csatlakozó nyomvonalak is azonnal létrehozhatók. Ehez a beillesztés után a program bekéri a vonal másik végpontjának helyét. Ha már adtunk meg ilyen pontot akkor a ponthely bemutatását kérõ promptra üres választ (Enter vagy jobb kattintás) adva az elõzõleg erre a promptra megadott pontot fogja használni a program. Tehát az azonos oszlopra csatlakozó fogyasztói légvezetékes leágazások létrehozásakor csak az elsõnél kell bemutatni az oszlop beillesztési pontját.
FALITARTÓ blokk beillesztésekor, ha az állmányban található alaptérképi tartalom egy vonal (LINE) vagy könnyû vonallánc (LWPOLYLINE) rajzelemére illesztjük a jelkulcsot, az általunk megadott beillesztési iránytól függetlenül a vonal irányába forgatja be azt a program. Ilyen esetekben a beillesztési irányt bekérõ promptra eleve válaszolhatunk csak egy jobb egérkattintással.

A  GEO EON04kV LEÁG  címkéjû eszköztáron megtalálható,  Bekötés FALITARTÓ/TETOTARTÓ címkéjû ikonnal úgy illeszthetjük be fogyasztói lágazás végzõdésének jelkulcsait, hogy a program dönti el mikor kell TETOTARTÓ vagy FALITARTÓ blokkot beilleszteni.
A választás az általunk megadott beillesztési ponton érvényes tárgyrasztermód alapján történik. Ha a megadott pontban érvényes tárgyrasztermódok között szerepel a közeli ( _nea , 2024) tárgyrasztermód, akkor FALITARTÓ egyébként TETOTARTÓ blokk lesz beillesztve. Ebben a funkcióban is létrehozhatók a beillesztett jelkulcshoz csatlakozó nyomvonalak az előzõ bekezdésben leírtak szerint.

A nyomvonalakat célszerű mindig LINE rajzelemekkel megszerkeszteni, és a szerkesztés teljes befejezése után lehet konvertálni azokat LWPOLYLINE rajzelemekké az EON által igényelt módon, a légvezetékeket a VLEDIT paranccsal, a földkábeleket pedig a (vonalak_vlancok) függvényel.

A GEO EON04kV címkéjű eszköztáron található ikonokkal egyenként, vagy csoportosan beilleszthetőek az ETI_FÉNYKÉP blokkok úgy, hogy a program automatikusan feltölti a fénykép készítésének dátumát tartalmazó attribútumot. Lehetőség van a beillesztett ETI_FÉNYKÉP blokkok által hivatkozott fénykép megjelenítésére is.
Ugynezen az eszköztáron található még transzformátorházak rajzolására, a földkábel nyomvonalától eltolva elhelyezkedő oszlopok bekötésére, tömbhatárok rajzolására, oszlopok koordinátajegyzékének elkészítésére szolgáló funkciókat indító ikon is.

A fentebb leírt, nyomvonalak, jelkulcsok, feliratok létrehozására szolgáló parancsok a programban úgy vanak megvalósítva, hogy a beállítandó fólianeveket, tárgyrasztermódokat, automatikusan elhelyezendő jelkulcsok neveit fájlokból olvassák be, így a szisztéma nem csak az E.ON számára végzendő munkáknál használható. Akár a felhasználók is létrehozhatnak hasonlóképpen működő parancsokat.


A programban lehetőség van arra, hogy az állomány rajzi objektumaihoz hozzárendeljük a 324/2013. (VIII. 29.) Korm. rendelet (e-közmű rendelet) által előírt adattartalmakat is.

A fentebb említett (és számos további) funkciók súgója

Mivel idővel kollégáim is egyre több AutoCAD -el megoldandó feladatot kaptak, az általam megalkotott AutoCAD PFgeo kiegészítések -hez egy súgót kezdtem írni.
Nem mintha valaha is elolvasott volna közülük valaki egyetlen bekezdést is, hiszen egyszerűbbnek tűnik számukra engem kérdezni, ha valami nem megy, de hát ennek ez a módja.

A súgót jelenlegi állapotában a bal oldalon található 'AutoCAD - PFgeo Súgó' címkéjű billentyűre kattintva jeleníthetjük meg.

A súgó leforditott HTML (CHM) formátumú. Amennyiben közvetlen megjelenítése eredménytelen, válasszuk a lemezre mentést és a mentett CHM bővítményű fájlt nyissuk meg.
Ilyenkor a Windows rendszerint a következő ablakot jeleníti meg:

Figyelmeztetés

Ha kikapcsoljuk az 'Ezen fájl megnyitása előtt mindig legyen kérdés' címkéjű kapcsolót, akkor a Windows megnyitja a fájlt.

A propbléma okokát lásd a http://support.microsoft.com/kb/902225/ című veboldalon.



Fő oldal Bemutatkozás Pocket PC programok AutoCAD-AutoLisp Egyéb programok Online EOV <<>> WGS84 átszámítás Online EOV (EOTR) szelvény kereső OSM térkép megjelenítése Üzenő füzet Fénykép-tár Link-gyüjtemény A honlapról A honlap építésről Honlaptérkép
Papp Ferenc földmérő honlapja Papp Ferenc földmérő honlapja
AutoCAD - AutoLisp
Valid XHTML 1.0 Transitional Valid CSS