Újabb
Régebbi
küldte: Norbert válaszolok 193.
Válasz  pf-prg  191.  sorszámú üzenetére:

Tisztelt Papp Ferenc!

 

 

Először is köszönöm a gyors válaszát, és azt is, hogy egyáltalán energiát fordít a mi kis ügyes bajos gondjainkra. Ebben a rohanó világunkba nem sok emberbe maradt meg mára az emberség, és a segítő készség.

 

A geo_vonal programot ismét letöltöttem. Most már elindul, de érzésem szerint megfelelően működik.

 

 

Egy olyan kérdésem lenne, hogy esetleg az S – ENTER funkciót, nem lehet-e, felbővíteni, úgy, hogy a program bekér egy TXT-t, vagy koordinátákat tartalmazó fájlt, amiben kezdő és végpontok koordinátája van megadva, és a program-e pontok közé húz vonalakat.

 

Digitális közmű térkép feldolgozásához lenne rá nagy-nagy szükségem

 

 

Üdvözlettel:

 

Németh Norbert

 

Pécs

 

e-mail küldése időpont: 2012-04-10 10:42:39
 
küldte: pf-prg válaszolok 192.

A Letölthető AutoLisp programok - Blokkreferenciák elhelyezése pontokra lapon elérhető a program legújabb verziója, amely az itt korábban felmerült ötlet szerint, blokkreferenciákra is képes elhelyezni új blokkreferenciákat, az eredeti blokkreferenciákhoz tartozó attribútumok értékének figyelembe vételével is.

 

prizmas2_ani

 

e-mail küldése időpont: 2012-04-09 16:46:09
 
küldte: pf-prg válaszolok 191.

Kedves Norbert!

 

Amennyire örülök, hogy hasznosnak találja az itt közzétett programokat, annyira szégyenlem, hogy már megint a slendriánságom miatt tettem közzé hibásan működő programot. Nem is csak az ön által észlelt hiba volt benne.

 

Nem mentség, csak magyarázat erre, hogy rettenetesen rühellek programot tesztelni wacko Az itt közzétett AutoLisp programok legtöbbike egy régóta fejlesztgetett, kiegészítgetett programom részeként született meg, és amikor kiemelem és önállóan futtathatóvá alakítom ezeket, mindig tüzetesen meg kellene győződnöm arról, hogy a nagy program által biztosított futtatási környezet nélkül is rendesen működnek.

 

Ha a programjaimban valami hibát vétek, a közvetlen környezetemben dolgozó, és azokat nap mint nap használó kollégáim egykettőre az orrom alá dörgölik a hibákat. És ez igen kényelmes megoldás egy lusta programozó számára. Állítólag a számítástechnika fejlődésében is nagy hajtóerő az emberi lustaság, csak mint láthatjuk, itt is fontos a mérték és a kontroll.

 

Sajnos a honlap üzemeltetése során gyakorta tapasztalom azt, hogy a látogatóim valamiért ózkodnak attól, hogy a problémáikat megosszák velem, és figyelmeztessenek a hibákra, vagy tanácsot kérjenek, ha valamit nem tudnak működésre bírni. Pedig minden ilyen szempontból szóbajöhető oldalon külön megkérem őket erre. Köszönöm, hogy Ön respektálta a kérésemet!

 

A geo_vonal programot kijavítottam, és feltettem a szerverre. Kérem, töltse le, próbálja ki, és jelezze megfelelően működik-e!

 

prizmas2_ani

e-mail küldése időpont: 2012-04-06 19:38:22
 
küldte: Norbert válaszolok 190.

 

Tisztelt Papp Ferenc!

 

 

Németh Norbert vagyok. Munkáim során örömmel használom az Ön lisp programjait, melyek sok segítséget jelentenek számomra.

Ezúton is köszönöm, hogy számunkra, halandó cad-eseknek elérhetővé teszi ezen kis programokat.

 

 

Mint ahogy írta honlapján, és tetszett kérni, hogy ha valaki, valami hibát észlel, akkor azt jelezze önnek.

 

Én szerettem volna kipróbálni a speciális vonalat szerkesztő lispet, de sajnos nem bírom munkára bírni sehogy sem. Lehet bennem van a hiba, és valamit én nem csinálok jól, de mikor be szeretném hívni akkor a következő üzenet jelenik meg nekem.

 

; hiba: rossz argumentum típus: stringp nil

 

Üdvözlettel:

 

Németh Norbert

 

Pécs

 

e-mail küldése időpont: 2012-04-05 11:57:33
 
küldte: pf-prg válaszolok 189.

A Letölthető AutoLisp Programok lapon, blokkreferenciák lecserélésére használható új funkció érhető el.

A funkciót egy nagyobb programomból emeltem ki, ezért kissé át kellett alakítanom. Remélem eléggé alaposan leteszteltem ahoz, hogy ne maradjon benne hiba.

 

prizmas2_ani

e-mail küldése időpont: 2012-03-05 15:35:05
 
küldte: pf-prg válaszolok 188.
Válasz  William  187.  sorszámú üzenetére:

Kedves William!

 

Úgy gondolom a kérdéses funkció a Pontok beolvasása fájlból, és megjelölésük attribútumos blokkokkal címmel letölthető programocska lenne.

Az igazság az, hogy a letölthető programok részben merő anyagiasságból nem tartalmaznak minden olyan lehetőséget, amelyek igazán kompletté tennék azokat, mert akkor ki venné meg a teljes verziót. Mindazonáltal, ha visszaolvassa ezt az üzenő-füzetet, láthatja, hogy nem vagyok merev ebben a tekintetben, és már több esetben is eleget tettem az ilyen igényeknek. Ebben az esetben is fontolóra veszem a dolgot. Addig is némi többletmunkával megoldható a dolog úgy, hogy a beolvasandó pontokat tartalmazó fájlt a blokkreferencia jellegét kódoló attribútum szerint rendezi (pédául excel-ben), és a kükönböző attribútumokat tartalmazó rekordokat külön fájlokba helyezi át. Tehát létrehoz egy-egy fa.txt, villanyoszlop.txt, akna.txt, ..., fájlt, majd azokat egyenként beolvastatva a programmal, mindig megadhatja az éppen használandó blokkot. Persze nagy számú különböző attribútumérték esetén ez elég macerás, de megteheti azt is, hogy a kis példányszámú objektumokat egyetlen fájlból olvassa be, majd utólag lecseréli a blokkreferenciáikat a megfelelőre.

 

prizmas2_ani

e-mail küldése időpont: 2012-03-05 10:27:44
 
küldte: William válaszolok 187.

Tiszteletem kedves Ferenc!

 

Régebben már írtam egy program javaslatot. Ez annyit takart hogy a beilleszett pontoknak vannak atributumai (fa, villanyoszlop, akna stb.) és az lenne jó ha lenne egy olyan lisp aminél megadhatnám hogy melyik atributumra milyen blokkreferenciát tetegyen és akkor rá rakná az összesre amit talál.

 

nem értek hozzá nem tudom hogy ez mennyire macerás, de biztos sokat segítene nem csak nekem hanem másnak is.

 

mellékelek egy kezelő felületet hogy én hogy gondoltam...

ha szánna rá időt és megnézzné hogy megvalósítható e azt nagyon megköszönném.

 

Tisztelettel William

 

 

 

e-mail küldése időpont: 2012-03-04 15:21:05
 
küldte: pf-prg válaszolok 186.
Válasz  Tamás  182.  sorszámú üzenetére:

Kedves Tamás!

 

Az entitás lista alatt elemazonosítók (-1 DXF csoportkód) listáját érti? Ilyet még nem használtam. Ehelyett az elemneveket (5 DXF csoportkód) célszerű használni, mert azok a velük azonosított objektum teljes élettartama alatt változatlanok maradnak, míg az elemazonosítók a DWG állomány minden megnyitásakor újra generálódnak.

Ha megnézi, a DXF referenciában nincs is utalás arra, hogy az elemazonosítókat valahogyan meg lehetne jeleníteni DXF -be íráskor.

 

A program hibáját az okozza, hogy az elemazonosítókat tartalmazó adat kiírásakor az ini fájlban tárolt lista szerkezete tönkremegy. Nem párosíthatóak össze benne az allistákat határoló zárójelek. Tehát a funkció nem alkalmas elemazonosítók tárolására.

 

prizmas2_ani

e-mail küldése időpont: 2012-02-27 16:16:07
 
küldte: pf-prg válaszolok 185.

Újra fogad hozzászólásokat az üzenő füzet.

 

Nem túl erős a védelme, de talán egyenlőre ez is megteszi. A védelem módja az, hogy a hozzászólások megadásakor a látogató neve végén mindig szerepelnie kell a (látogató) karaktersorozatnak. Egy primitívebb spammer robotot talán át lehet így verni. Ha meg személyesen buherálná valaki ezt az oldalt, akkor nekem úgy is annyi.

 

sad prizmas2_ani

e-mail küldése időpont: 2012-02-27 02:50:10
 
küldte: pf-prg válaszolok 184.

angry

 

Valami debil 'cracker' telenyomta az üzenő füzetemet pornó spammel. Alig győztem törölni őket.
Amíg nem találok megoldást a kivédésére, az üzenő füzet nem fogad hozzászólásokat.

 

grrrrrr     prizmas2_ani

e-mail küldése időpont: 2012-02-26 22:33:20
 
küldte: pf-prg válaszolok 183.
Válasz  Tamás  182.  sorszámú üzenetére:

Kedves Tamás!

 

Én a következőképpen használom:

 

Beállítom a változók értékeit:
(setq alma '("jonatán" "gold" "delicsesz"))
(setq körte "vilmos")
(setq szilva "bercencei")

Kiíratom ini fájlba:
(pfgeo_ini_ki "gyümölcsszínek" '("alma" "körte" "szilva"))

Beolvastatom az ini fájlból:
(pfgeo_ini_be "gyümölcsszínek" '(("alma" "?") ("körte" "?") ("szilva" "?")))

A parancssorban megjelenik a beolvasott lista:
(("alma" ("jonatán" "gold" "delicsesz")) ("körte" "vilmos") ("szilva" "bercencei"))

 

Ha továbbra sem működik, küldjön, vagy íron le itt egy mintát, hogyan használná.

 

prizmas2_ani

e-mail küldése időpont: 2012-02-25 09:29:39
 
küldte: Tamás válaszolok 182.

Kedves Ferenc!

 

A segédprogramok között talált változókiíratás fileba funkciót próbálom használni.

Egy esetben nem műkdik, a változó egy entitás listát kap, a kiírás meg is történik teljesen rendben.

Beolvasásnál az alább hibaüzenetet kapom.

; hiba: túl sok cdr a bemeneti pontozott listában

próbálom parancssorból is:

(load (strcat progutv ini_file_nev)) már itt bejön a hibaüzenet.

Hogy lehetne fileban tárolt entitás listát beolvasni? 

 

Üdv: Tamás

e-mail küldése időpont: 2012-02-24 16:13:56
 
küldte: pf-prg válaszolok 181.
Válasz  ANDRÁS  180.  sorszámú üzenetére:

Kedves András!

 

Köszönöm, hogy felhívta a figyelmemet a hibára. A programot nem a letöltésnél megadott névvel lehetett hívni. cry

 

Kijavítottam. Úgy tűnik jól működik.

 

Kérem töltse le újra, és próbálja ki.

 

prizmas2_ani

e-mail küldése időpont: 2012-02-16 20:19:06
 
küldte: ANDRÁS válaszolok 180.

Kedves Ferenc!

 

9Karakterek lecserélése TEXT, MTEXT, ATTRIB rajzelemekbennem funkcionál.

Command: (kar_csere)

; error: no function definition: KAR_CSERE

 

Üdvözlettel.


e-mail küldése időpont: 2012-02-16 14:42:58
 
küldte: pf-prg válaszolok 179.

A Letölthető AutoLisp rutinok című oldalról letölthető a LINE, LWPOLYLINE rajzelemek végpontjainak felcserélése című AutoLisp program új verziója, amely kezeli az íves szakaszokat tartalmazó vonalláncokat, és a vonalláncok szélességét is.


prizmas2_ani

e-mail küldése időpont: 2012-02-08 09:41:57
 
küldte: pf-prg válaszolok 178.
Válasz  Tamás  177.  sorszámú üzenetére:

wow El voltam tévedve!

 

 

Azt hittem önálló ív (ARC) rajzelemre gondolt. Most értettem meg, hogy könnyű vonalláncok íves szakaszairól van szó. Az én gyakorlatomban ilyet még nem használtam, de másoknak bizony szüksége lehet erre, és a szélesség tulajdonságokra is.

Köszönöm!clap

Be is építem a közzétett programba amint tehetem. 

 

prizmas2_ani

e-mail küldése időpont: 2012-02-07 17:28:54
 
küldte: Tamás válaszolok 177.
Válasz  pf-prg  175.  sorszámú üzenetére:

Kedves Ferenc!

A 40-es csoport az , ami azt szabályozza, ezt oldja meg így a programocska, jól működik.

 

Üdv: Tamás

e-mail küldése időpont: 2012-02-07 16:45:16
 
küldte: Tamás válaszolok 176.

Kedves

e-mail küldése időpont: 2012-02-07 16:43:30
 
küldte: pf-prg válaszolok 175.
Válasz  Tamás  174.  sorszámú üzenetére:

Kedves Tamás!

 

Gondolom ívek esetén az elemlista 50 és 51 csoportkódú allistáinak értékét kell felcserélni, de a mellékelt programkódban nem látom az ezt megvalósító részt. Valószínűleg nem a végleges programkódot másolta ide.

 

nagyapo

Ha programkódot illeszt az üzenetébe, akkor célszerű azt úgy megoldani, hogy a szövegbeviteli mező fölött található HTML feliratú ikonra kattintva megjeleníti a HTML forrás szerkesztőt, és a programkódot <pre> és </pre> (preformatted = előformázott) HTML tag-ek közé illeszti be.

Példa:

 

<pre>

(defun vegpontcsere_error (h_uz /)
    (setq *error* old_vpcs_error)
    (vla-EndUndoMark
      (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)
    )
    (princ "\nHibaüzenet: ")
    (princ h_uz)
    (princ "\n")
  )
  (setq
    old_vpcs_error *error*
    *error*    vegpontcsere_error
  )

</pre>

 

Így a kód megőrzi eredeti formázását és valamivel áttekinthetőbben jelenik meg. Hátránya ennek a megoldásnak, hogy a hosszú sorok automatikus tördelése nem érvényes rá, így arról előre gondoskodni kell.


Utólagos engedelmével a 174 sorszámú üzenetét is eszerint módosítottam, hogy jól látszódjék az ilyen formázás hatása.

 

prizmas2_ani

 

e-mail küldése időpont: 2012-02-07 10:41:36
 
küldte: Tamás válaszolok 174.
Válasz  Tamás  173.  sorszámú üzenetére:

Köszönet az alapokért!

Jónak tűnik ívekre is! :)

 

(defun c:vpcs ( / h_uz kp vp is ptlst q apt ptlst_40 e_40 apt_40)
  ;---- Felcseréli a vonalak/vonalláncok végpontjait.
  (defun vegpontcsere_error (h_uz /)
    (setq *error* old_vpcs_error)
    (vla-EndUndoMark
      (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)
    )
    (princ "\nHibaüzenet: ")
    (princ h_uz)
    (princ "\n")
  )
  (setq
    old_vpcs_error *error*
    *error*    vegpontcsere_error
  )
  (vla-EndUndoMark
    (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)
  )
  (vla-StartUndoMark
    (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)
  )
  (setq ent (entsel "\nVonal/vonallánc kiválasztása "))
  (setq eleml (entget (car ent)))
  (if (equal (cdr (assoc 0 eleml)) "LINE")
    (progn
      (setq 
        kp (cdr (assoc 10 eleml))
        vp (cdr (assoc 11 eleml))
        is (angle kp vp)
      )
      (if (> is pi)
        (entmod 
          (subst 
            (cons 11 kp)
            (assoc 11 eleml)
            (subst 
              (cons 10 vp)
              (assoc 10 eleml)
              eleml
            )
          )
        )
      )
    )
  )
  (if (equal (cdr (assoc 0 eleml)) "LWPOLYLINE")
    (progn
      (setq 
        ptlst nil
        ptlst_40 nil
        e_40 nil
        q 0
      )
      (while (setq 
                q (1+ q)
                apt (cdr (assoc_n 10  "" "" q eleml))
                apt_40 (cdr (assoc_n 40 41 42 q eleml))
            )
        (if apt (setq ptlst (append ptlst (list (cdar apt)))))
        (if apt_40
          (cond 
            ((= (caar apt_40) 40)
              (setq e_40 (list (cdar apt_40)))
            )
            ((= (caar apt_40) 41)
              (setq e_40 (append e_40 (list (cdar apt_40))))
            )
            ((= (caar apt_40) 42)
              (setq e_40 (append e_40 (list (cdar apt_40))))
              (setq ptlst_40 (append ptlst_40 (list e_40)))
            )
          )
        )
      )
      (setq 
        kp (car ptlst)
        vp (last ptlst)
        is (angle kp vp)
      )
      (if (and (> is (/ pi 2)) (< is (+ (/ pi 2) pi)))
        (progn
          (setq ptlst (reverse ptlst)) 
          (setq ptlst_40 (reverse ptlst_40))
          (setq ptlst_40 (append (cdr ptlst_40) (list (car ptlst_40))))
          (setq q -1)
          (while (setq q (1+ q) apt (nth q ptlst) apt_40 (nth q ptlst_40))
            (setq eleml (subst_n eleml (cons 10 apt) 10 (1+ q) nil))
            (setq eleml (subst_n eleml (cons 40 (car apt_40)) 40 (1+ q) nil))
            (setq eleml (subst_n eleml (cons 41 (cadr apt_40)) 41 (1+ q) nil))
            (setq eleml (subst_n eleml (cons 42 (- (caddr apt_40))) 42 (1+ q) nil))
          )
          (entmod eleml)
        ) ; progn
      ) ; if
    ) ; progn
  ) ; if
  (vla-EndUndoMark
    (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)
  )
  (setq *error* old_vpcs_error)
  (princ)
)

(defun subst_n (e_lista prop csopk szam beszur / u_lista pm_q db)
  ;----Módositja az E_LISTA -ban átvett asszociációs listát úgy, hogy újra felépíti a
  ;----listát a CSOPK -ben magadott csoportkódú allista SZAM -adik elöfordulása helyére,
  ;----vagy utána, beszúrja a PROP -ban átvett listát a BESZUR paraméter nil vagy T érté-
  ;----kének megfelelően.
  (setq 
    u_lista '()
    pm_q -1
    db 0
  )
  (while 
    (setq 
      pm_q (1+ pm_q)
      allist (nth pm_q e_lista)
    )
    (if (= csopk (car allist))
      (if (= (setq db (1+ db)) szam)
        (if beszur
          (setq u_lista (append u_lista (list allist) (list prop)))
          (setq u_lista (append u_lista (list prop)))
        )
        (setq u_lista (append u_lista (list allist)))
      )
      (setq u_lista (append u_lista (list allist)))
    )
  )
)

(defun assoc_n (csopk1 csopk2 csopk3 szam e_lista / u_lista pm_q db)
  ;---- Visszaadja az E_LISTA -ban átvett asszociációs
  ;---- lista SZAM -adik CSOPK csoportkódú allistáját.
  ;---- Ha nem létezik, a visszatérési érték nil.
  (setq 
    u_lista nil
    pm_q -1
    db 0
  )
  (while 
    (and 
      (not u_lista)
      (setq pm_q (1+ pm_q)
        allist (nth pm_q e_lista)
      )
    )
    (if (equal (type allist) 'list)
      (if (or (= csopk1 (car allist)) (= csopk2 (car allist)) (= csopk3 (car allist)) )
        (setq 
          db (1+ db)
          u_lista (if (= szam db) allist u_lista)
        )
      )
    )
  )
  (setq 
    u_lista 
    (if (= csopk1 (car allist)) 
      (list csopk1 u_lista) 
      (if (= csopk2 (car allist))
        (list csopk2 u_lista)
        (if (= csopk3 (car allist))
          (list csopk3 u_lista)
        )
      )
    )
  )
)

(princ "\n")
(princ "\n  LINE, LWPOLYLINE rajzelemek végpontjainak felcserélése")
(princ "\n  Hívása: c:vpcs")
(princ "\n")
e-mail küldése időpont: 2012-02-06 00:01:25
 
küldte: Tamás válaszolok 173.

Kedves Ferenc!

 

Végpontcsereprogramocskára lett volna szükségem,

sajnálattal veszem észre, hogy az ívekkel nem törődik. :(

Na próbálkozok!

 

Üdv!

e-mail küldése időpont: 2012-02-05 21:21:12
 
küldte: pf-prg válaszolok 172.
Válasz  Schotti  171.  sorszámú üzenetére:

Kedves Schotti

 

Az AutoCAD és annak arx fájlbővítményű kiterjesztései C programozási nyelven megírt, gépi kódra fordított programok. Csak akkor képesek együtt működni, ha ugyanannak a C fordítóprogramnak ugyanazzal a verziójával vannak gépi kódra fordítva.

A fordítóprogramoknak is jelennek meg időnként fejlettebb verziói, és az új verzióval lefordított új AutoCAD kiadásokhoz mindig újra le kell fordítani a vele használni kívánt arx kiterjesztéseket is.

Ha nem tudja beszerezni a kérdéses arx fájl AutoCAD 2010 -hez tartozó verzióját, akkor nem fogja tudni használni.

 

prizmas2_ani

 

e-mail küldése időpont: 2012-02-01 22:15:36
 
küldte: Schotti válaszolok 171.

Jó szerencsét!

 

Lenne egy olyan kérdésem, hogyan lehetne egy "arx" kiterjesztésű programot, ami fut R14 alatt átalakítani, hogy az újabb AutoCad (pl. 2010) be tudja tölteni?

 

Segítségét előre is köszönöm!

 

Üdvözlettel:

Schottmann János

e-mail küldése időpont: 2012-02-01 07:33:10
 
küldte: pf-prg válaszolok 170.
Tesztelő üzenet.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  sed do eiusmod tempor incididunt ut labore et dolore magna
  aliqua. Ut enim ad minim veniam, quis nostrud exercitation
  ullamco laboris nisi ut aliquip ex ea commodo consequat.

prizmas2_ani

e-mail küldése időpont: 2012-01-27 19:07:57
 
küldte: pf-prg válaszolok 169.
Válasz  tamas  168.  sorszámú üzenetére:
Kedves Tamás

A regisztrált alkalmazásnév használata nem kötődik szorosan a konfigurációs adatokat kezelő funkciókhoz. Törlése csak azért szerepel ebben a funkcióban mert többnyire azonos szituációban szokott erre sor kerülni.

Alkalmazásnév regisztrálására akkor van szükség ha egy program a rajzi adatbázis objektumaihoz úgynevezett kiterjesztett elemadatokat (extended object data) - Lásd: AutoLisp Súgó - akarunk rendelni, mert azok letárolásához és kiolvasásához ez nélkülözhetetlen.
Ha ezeket a kiterjesztett elemadatokat, vagy az ilyeneket tartalmazó objektumokat a rajz adatbázis továbbadása előtt töröljük, akkor törölhető a hozzájuk tartozó regisztrált alkalmazásnév is.

e-mail küldése időpont: 2012-01-21 22:38:06
Újabb
Régebbi

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
Üzenő - füzet
Valid XHTML 1.0 Transitional Valid CSS