Zobrazit plnou verzi příspěvku: DIESEL - getvar....

Rostislav Říha
03.09.2008, 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:

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
Lze v Dieselu nějak dostat (getněco) název sheetu, ze kterého se tiskne?
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

Peter Jirat
03.09.2008, 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í

Vladimír Michl
03.09.2008, 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].

Rostislav Říha
03.09.2008, 15:45
[QUOTE=Peter Jirat]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í[/QUOTE]
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:)

Ferdinand
05.09.2008, 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 ->lisp
2. vytvoří se adresář ->lisp (ev. upravit)
3. plotuje se do adresare ad2. ->lisp nemám  - 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")
)Ferdinand2008-09-05 13:48:53