Vytisknout stránku | Zavřít okno

DIESEL - getvar....

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=7129
Datum vytištění: 13.čer.2026 v 04:33


Téma: DIESEL - getvar....
Odeslal: Rostislav Říha
Předmět: DIESEL - getvar....
Datum odeslání: 03.zář.2008 v 12:07
DD,
moje znalosti dieselu už trošku zrezly a teď potřebuju udělat makro na tištění (defacto jen posloupnost příkazu -plot) do souboru. Mám následující problémy:
  1. Jak dostanu do názvu plotsouboru název výkresu? Tuším, že něco jako getvar,dwgname, ale nevím, kam napsat uvozovky, aby to mezeru v názvu ninterpretovalo jako enter
  2. Lze v Dieselu nějak dostat (getněco) název sheetu, ze kterého se tiskne?
  3. Chci, aby se to neptalo, jestli chci přepsat název již existujícího plotsouboru - na začátek makra jsem napsal expert;2 a ono to nepomohlo...

Děkuji za případné rady

rr


-------------
Rostislav Říha



Odpovědi:
Odeslal: Peter Jirat
Datum odeslání: 03.zář.2008 v 13:18
Z Dieselu moje znalosti nezrezly (kde nic není, tam nic nerezne), ale ve scriptu pro zápis bloku to mám takto:
(strcat (getvar "dwgprefix") (getvar "dwgname")), ale to je lisp, nevím nakolik to lze převést do makro jazyka.
 
Zdraví


-------------
PJ

http://www.jirat.cz" rel="nofollow - www.jirat.cz


Odeslal: Vladimír Michl
Datum odeslání: 03.zář.2008 v 13:56
Menu-makro se nemusí omezovat jen na DIESEL (pokud nemá fungovat i v LT) - můžete použít i LISP výrazy, třeba ten od PJ. Aktuální rozvržení je proměnné [VAR]CTAB[/VAR].

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


Odeslal: Rostislav Říha
Datum odeslání: 03.zář.2008 v 15:45
Původně odeslal(a) Peter Jirat Peter Jirat napsal(a):

Z Dieselu moje znalosti nezrezly (kde nic není, tam nic nerezne), ale ve scriptu pro zápis bloku to mám takto:
(strcat (getvar "dwgprefix") (getvar "dwgname")), ale to je lisp, nevím nakolik to lze převést do makro jazyka.
 
Zdraví
no vidíte, já to mám s lispem jako vy s dieselem...takže to Vaše sice vypadá velmi učeně, ale já s tím nic nezmůžu:)


-------------
Rostislav Říha


Odeslal: Ferdinand
Datum odeslání: 05.zář.2008 v 12:40
Diesel neumím. V lispu:
;do prom. DWG bude uložen název akt.výkresu bez přípony-kde(y)si jsem to vyčetl:
(setq DWG (cadr (fnsplitl (getvar "dwgname"))))
;do prom. ARV bude uložen název akt. rozvržení:
(setq ARV (getvar "ctab"))
Když napíšete do p.ř. (např.) příkaz _-plot , tak přesně v tom sledu jak to naskakuje, to lze zapsat i do makra/lispu (tj. včetně voleb).
ED:
Anebo můžete tisknout do automaticky vytvořené adresáře (má název akt. datumu/hodiny)
1. vytvoří se řetězec akt. datumu -> http://www.iproject.cz/get.asp?/Soubory/CAD%5FForum/U%9Eivatelsk%E9%2Dupload/dnes.lsp - lisp
2. vytvoří se adresář -> http://www.iproject.cz/get.asp?/Soubory/CAD%5FForum/U%9Eivatelsk%E9%2Dupload/makedir.lsp - lisp (ev. upravit)
3. plotuje se do adresare ad2. ->lisp nemám Smile - ale je velmi jednoduchý ho zapsat
ED2:
Tak jo, mám chvilku času. Mělo by to vypadat asi takto (asi bude třeba upravit v makedir.lsp název adresáře na "tisk..." a zkontrolovat volby u příkazu -plot zde):
;;tisk z prik.radku (z rozvrzeni)
(defun C:TT ()
(if(not c:DNES) (load (findfile "dnes.lsp")))
(if(not c:ADR2) (load (findfile "makedir.lsp")))
(C:ADR2)
(setq PLT (strcat A3 "-" ARV ".plt"))
(command: _-plot "_Y" ARV "" "" "_M" "_L" "_N" "_L" "_F" "0,0" "_Y" "" "_Y" "_N" "_N" "_N" "_Y" PLT "_N" "_Y")
)


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



Vytisknout stránku | Zavřít okno