Vytisknout stránku | Zavřít okno

podmínka

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=4103
Datum vytištění: 14.kvě.2026 v 06:58


Téma: podmínka
Odeslal: Ferdinand
Předmět: podmínka
Datum odeslání: 01.bře.2007 v 09:01
    (if    QS5
      (command "_qsave")
      (exit)
    )


Proč neprovede (exit) když neexistuje ve výkr. blok, který je definován jako

(setq DWG (getvar "dwgname"))
(setq LL (strlen DWG))
(setq NPF (substr DWG 1 (- LL 4)))
(setq NPF_C (strcat NPF "_C"))


přičemž blok NPF_C byl/nebyl vytvořen jako

(setq QS5 (ssget "X" (list (cons 8 "OEZ_*OBV"))))
    (if    QS5
      (progn (command "_chprop" QS5 "" "_C" 6 "_LT" "center" "_LA" 0 "")
         (command "_-block" NPF_C "0,0" QS5 "")
         (command "_-wblock" NPF_C "=")
         (command "_-insert" NPF_C "0,0" 1 1 0)
      )
    )


? Opačně mi to taky nechce brát

    (if    (= QS5 nil)
      (exit)
      (command "_qsave")
    )

Píše mi na p.ř. hlášku

; error: quit / exit abort

Lze snad namísto exit použít nějaký jiný příkaz? Jde o hromadné zpracování hodně výkresů pomocí lispu a nechci, aby to úplně ukončilo AutoCAD, nýbrž aby ten výkres, ve kterém ten blok není, nechal být (tj. bez uložení, přesto že v lispu se něco provádělo) a otevřel další výkres pro zpracování.

-------------
-FerTh-



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 01.bře.2007 v 09:09
(exit) je funkce LISPu - ukončení zpracování kódu
takže "exit abort" je ta správná reakce


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: Seiner
Datum odeslání: 01.bře.2007 v 09:09
IMHO exit je ladící funkce a při jejím použití to vždy hlásí chybu.
Prostě musíte požívat "strukturovaný" kód a důsledně používat konstrukce typu (If <jestliže_ano> <jestliže_ne>)
 


-------------
Vítězslav Seiner

Chrudim


Odeslal: Ferdinand
Datum odeslání: 01.bře.2007 v 10:23
Děkuji za objasnění. Asi se budu vyhýbat jeho použití...

-------------
-FerTh-



Vytisknout stránku | Zavřít okno