Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 6876 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoprodleva

 Odpovědět Odpovědět archiv
Autor
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Téma: prodleva
    Zasláno: 13.pro.2007 v 11:05
Snažím se vytvořit utilitku pro zadání volitelné prodlevy při provádění nějaké subrutiny, abych postřehl proběhlé změny na obrazovce. Nějak se mi to nedaří odladit. Když lisp po řádcích resp. po logických celcích nakopíruji do p.ř., provede se vše.  Když si lisp načtu a spustím, neprovede se nic (výsledek je "nil").
-FerTh-
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2023, SolidEdgeE 2023
Stav: Offline
Bodů: 223
Přímý odkaz na tuto zprávu Zasláno: 13.pro.2007 v 11:39
Co treba takhle
Pavel Styl
 
(defun C:PRD (/ CAS MM)
 
  (if (> CAS 0)
    (setq CAS 0)
  )
  (setq MM (getint "\nZadejte délku prodlevy (ms) : <2000> "))
  (if (= MM nil)
    (setq CAS 2000)
    (setq CAS MM)
  )
  (command "_delay" CAS)
  (princ)
)
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1904
Přímý odkaz na tuto zprávu Zasláno: 13.pro.2007 v 13:27
Pavle, je to pořád to stejné - výsledek je "nil".
Příklad: Ve výkresu již byla nastavena prom. CAS=5000. Načtu lisp, volám fci PRD, a dívám se, jestli tu zadanou hodnotu opravdu přiřadila:
Command: _appload prd.lsp successfully loaded.
Command: prd
Zadejte délku prodlevy (ms) : <2000> 1111
_delay Enter delay time (in milliseconds): 1111
Command:
Command: !cas
5000
Command: !mm
nil
To stejné i pro případ, když <2000> odentruji.
Když to řádek po řádku nakopíruji do p.ř., tak:
Command: (if (> CAS 0)
(_>     (setq CAS 0)
(_>   )
0
Command: (setq MM (getint "\nZadejte délku prodlevy (ms) : <2000> "))
Zadejte délku prodlevy (ms) : <2000> 1111
1111
Command: (if (= MM nil)
(_>     (setq CAS 2000)
(_>     (setq CAS MM)
(_>   )
1111
Command: (command "_delay" CAS)
_delay Enter delay time (in milliseconds): 1111
Command: nil
Command: !cas
1111
Command: !mm
1111
1. Zdá se, že se to zarazí po tom "delay" a nechce to dokončit celý. Ale i když v lispu to vynechám, tak je to stejné...
2. Pokud ;(command "_delay" 250) v původním lispu:
Command: _appload prd.lsp successfully loaded.
Command: prd
Zadejte délku prodlevy (ms) : <2000> 3333
3333
Command:
Command: !cas
5000
Command: !mm
0
Upřesnění: jde mi o to, získat prom. CAS se zadanou hodnotou od uživatele, kterou pak mohu použít v jiných aplikacích. Ten "delay" (s hodnotou 250) tam mám pouze jaksi "navíc", pro pozdržení (jak to bude chodit OK, pak to odmažu). Právě proto mi bylo divné, že i když CAS v lispu by se měla vynulovat, zůstává ji přiřazena pořád ta původní hodnota.
-FerTh-
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2023, SolidEdgeE 2023
Stav: Offline
Bodů: 223
Přímý odkaz na tuto zprávu Zasláno: 13.pro.2007 v 14:05
No a není celý problém způsoben tím, že promněnná CAS je lokální?
Pokud chci, aby přiřazená hodnota v proměnné CAS zůstala i po ukončení funkce, tak ta hlavička musí být bez proměnné CAS
 
(defun C:PRD (/ MM)
...
Pavel Styl
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4106:VIPNastavení prodlevy otvírání/skrývání palety nástrojů.
Tip 5171:VIPNastavení zpoždění pro automatické zobrazování/skrývání palety nástrojů.
Tip 4640:VIPSpouští se váš AutoCAD nebo Civil pomalu? Zrychlete jej.
Tip 4728:VIPAutoCAD na delší dobu zamrzne při spouštění.
Tip 11718:Zpomalená tvorba vazeb v Inventoru po aktualizaci Windows 10.
Tip 9799:Jak nastavit výchozí styl zobrazení při tvorbě Ortho pohledů v Plant 3D?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,824 sekund.