Zobrazit plnou verzi příspěvku: Diesel makro

Marlowwe
14.03.2012, 21:59
Dobrý den, chtěl bych si vyrobit makro na převedení bloku do hladiny 0, ale pořád nějak tápu^C^C_select;/;_-bedit;_ai_sellall;$(getvar,clayer)="0";_bclose;;_select; - označení bloku +enter/;           - vybrání prvku + enter_-bedit; - editor bloku + enter_ai_sellall;  - označit vše + enter$(getvar,clayer)="0";  - do hladiny 0 + enter

_bclose;;     - zavřít blok + enter a objeví se hláška o uložení tak další enterMyslím správně, když se ubírám tímto směrem nebo to je to úplně blbě ?Díky


alfred
15.03.2012, 06:22
A musí to být makro? Nemůžete použít LISP? Několik lispů, které dělaljí něco takového tu už v histirii proběhlo...

Marlowwe
15.03.2012, 07:45
MNooo vim že sou lisp aplikace (jsou např. součástí GGmenu), ale rad bych to vytvořil v Dieslu, abych se pořádně naučil jak vytvořit složitější příkazy jako je tento.Na netu totiž neni žádný smysluplný návod (at už v CZ nebo ENG).

Sedláček
15.03.2012, 08:26
Nemohu to vyzkoušet - můj historický AutoCad ještě BEDIT neumí, ale pro změnu hladiny použijte příkaz  _CHANGE. (CLAYER přepne pouze aktuální hladinu).
Používáte špatné lomítko (má být zpětné \) - ale to bude asi překlep.
 
 

alfred
15.03.2012, 09:37

[QUOTE=Marlowwe]MNooo vim že sou lisp aplikace (jsou např. součástí GGmenu), ale rad bych to vytvořil v Dieslu, abych se pořádně naučil jak vytvořit složitější příkazy jako je tento.Na netu totiž neni žádný smysluplný návod (at už v CZ nebo ENG).[/QUOTE]Jestli to berete jako cvičení nebo pokus, tak dobrý, ale u Dieslu narazíte brzy na limity, které jsou u LISPu mnohem déle. Nepříjemný je také přenos mezi počítačemi a nebo verzemi AutoCadu. Je otázka, zda to není ztráta času. Dlouhá makra v Dieslu chápu pouze u LT, kde není možné použít LISPy.

Marlowwe
15.03.2012, 10:10
Chtěl jsem se naučit udělat příkaz v Dieslu nebo i v Lispu, ale Lisp programování mi přijde strašně těžký a na internetu neni nějaký dobrý a podrobný návod jak na to ( to pak je asi jen pro programátory, kterí se učí tyto programovací jazyky, ja jsem jen stavař co by si chtěl usnadnit práci a nezaflákat si cad zbytečnostma)a jak je to s lisp aplikacema, co se týče zátěže autocadu či systému ? 

splonk
15.03.2012, 10:18


DDSouhlas s panem alfredem :-).Drobne doplnim pana Sedlacka... prkaz _ai_sellall vam bude hazet error - dejte tam _ai_selall :) - na to byste ale urcite prisel sam. Jinak, toto zkouseni maker se nejlepe dela v toolpalette (mnohem rychlejsi editace nez otevirani CUI) Pokud to mate jako cviceni, super - to je dobre. Vyzkousejte svoje makro a uvidite co Vam to bude psat na prikazovem radku, pak to urcite odchytate tak, aby Vam to fungovalo. Vyzkousel jsem to Vase a po zmene par drobnosti to docela funguje. Nerad bych Vam prerusoval cviceni :) a proto ten radek ted jeste neposlu :). Na vyzadani ho samozrejne sem rad povesim :).A jeste jedna "drobnost" - pri tvorbe boku je vnorene objekty vhodne mit vechno ByBlock, vyjma vedome zduvodnenych pripadu :).Nevim jak 2008, ale v 2010 (a myslim i 2009) je v kontextovy nabidce bloku prikaz"Set Nested Objects ByBlock" coz bezpecne provadi vyse popsane. ZdravimJASponza

vbehun
15.03.2012, 10:44
Pokud už budete v editoru bloků, můžete použít makro pro změnu vlastností (zde hladiny)všech prvků na hladinu 0:---^C^C_chprop;_all;;_layer;0;;---


alfred
15.03.2012, 10:56


Velká nevýhoda DIESEL maker je ta, že mezi verzemi Autodesk občas změní hlášky příkazů. A to se týče -českých překladů -celé struktury-klávesových zkratekDokonce se může stát, že v jedné verzi (např. 2012) se může hláška (hlvně tedy překlad překlad) lišit mezi čistým AutoCadem, CIVILem, MAPem, ...Co se přehlednosti týče - LISP je mnohem přehlednější (alespoň ve srovnání s Dieslem). Zkuste si spustit editor - [CMD]VLIDE[/CMD] (_VLIDE)A to nemluvím o možnosti debugovat, tedy snadnosti najít chybu, barevné syntaxe, atd. Je to mnohem silnější nástroj. Je k němu mnohem lepší dokumentace (HELP nebo např. zde: http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/) Další výhoda je opravdu velké množství utilit, které se dají najít na netu.Přenositelnost LISPu je triviální - nahrajete LISP na počítač a načtete ho (je mnoho způsobů). Pak příkaz pouze používáte - lze volat z příkazové řádky a nebo si ho dát do makra na klávesovou zkratku či ikonu. Pokud nemáte LT verzi, tak osobně považuji tvorbu složitých maker za ztrátu času.


alfred2012-03-15 12:16:05

vbehun
15.03.2012, 11:09
V dnešní době se vše poměřuje prvoplánově hlavně z hlediska ceny. Je také otázka, kdo rozhoduje o investicích. Na argumenty o rychlejší práci a podpoře funkcí slyší cenové oddělení jen jen velmi neochotně.Počet instalací LT verzí (kde lze použít pouze makra) je řádově mnohem vyšší než verzí plných s podporu LISPu.


Sedláček
15.03.2012, 14:35
Zajímavé ukázky využití DIESELu:
 
http://cadingandcoding.blogspot.com/search/label/DIESEL
 
Při zkoušení ukázek z této strany je třeba si uvědomit:
Pokud je makro na více řádkách, jsou na konci každého řádku řídící znaky, které je nutné odstranit (přepsat makro do jednoho řádku).
Při opisování sI dát pozor na počty mezer.
Makro ve Vašem AutoCadu nemusí okamžitě fungovat - jak uvádí p. Alfred - jsou rozdíly mezi verzemi, LT a plnou verzí...
Pro odladění využít nastavení sys. proměnných MENUECHO na 8, a MACROTRACE na 1.
Samostatnou kapitolou při využití DIESELu jsou uvozovky "", které umožní odložení zpracování řádku do dalšího kroku.
 
Druhá věc je, že pro používání maker většinou DIESEL vůbec nepotřebujete (např. Váš příklad - postačuje pouze sekvence příkazů SELECT, BEDIT, _CHANGE,...). DIESEL využijete až budete např. potřebovat vyhodnotit nějakou podmínku, pracovat s aritmetickými operacemi...

Marlowwe
15.03.2012, 18:09

[QUOTE=splonk]

DDSouhlas s panem alfredem :-).Drobne doplnim pana Sedlacka... prkaz _ai_sellall vam bude hazet error - dejte tam _ai_selall :) - na to byste ale urcite prisel sam. Jinak, toto zkouseni maker se nejlepe dela v toolpalette (mnohem rychlejsi editace nez otevirani CUI) Pokud to mate jako cviceni, super - to je dobre. Vyzkousejte svoje makro a uvidite co Vam to bude psat na prikazovem radku, pak to urcite odchytate tak, aby Vam to fungovalo. Vyzkousel jsem to Vase a po zmene par drobnosti to docela funguje. Nerad bych Vam prerusoval cviceni :) a proto ten radek ted jeste neposlu :). Na vyzadani ho samozrejne sem rad povesim :).A jeste jedna "drobnost" - pri tvorbe boku je vnorene objekty vhodne mit vechno ByBlock, vyjma vedome zduvodnenych pripadu :).Nevim jak 2008, ale v 2010 (a myslim i 2009) je v kontextovy nabidce bloku prikaz"Set Nested Objects ByBlock" coz bezpecne provadi vyse popsane. ZdravimJASponza[/QUOTE]
Dobrý den, prosím o zaslání příkazu :( budu zkoušet sám (proto prosím poslat v samostatném PM), ale pro kontrolu si to pak zkontroluji s Vámi.Ještě otázečka kde najdu to toolpallete- to se nějak doinstalovává ? - protože pořád upravovat v CUI je na prd.Děkuji za odpovědPS: Také děkuji všem za poznámky :-)

alfred
15.03.2012, 20:11

[QUOTE=Marlowwe] Ještě otázečka kde najdu to toolpallete- to se nějak doinstalovává ? - protože pořád upravovat v CUI je na prd.[/QUOTE]
ctrl+3nebo [CMD]NPALETY[/CMD] (_TOOLPALETTES)Ale nevím, jestli 2008 ten nástroj už má.

splonk
16.03.2012, 10:30


Dobry den Radek v Toolpalette (a mel by fungovt uplne stejne i v CUI) u mne vypada takto (Je to psano v rychlosti a ma par nedokonalosti - bacha na to :-)):--------------------------^C^C-refedit;\;o;a;y;_ai_selall;_change;_p;_la;0;;(command "_refclose" "s");--------------------------Cely ukol lze rozdelit na 3 dili:dostat se do refeditu (do -bedit to neumim)tam provest danny ukon - vice moznosti...dostat se z refeditu ven - tady jsem si pomohl LISP prikazem (trosku "prasarnicka" :)) - to je to v zavorkach na konci, nebot se z refeditu neumim dostat "ciste" tzn. standartnimi prikazi :-). Tak ze to asi v LT nepojede :-(. Urcite by se ale nasel nekdo kdo toto umi, hezky, ciste...???Kazda tato cast lze resit ruznymi zpusoby, podle toho jak to chci pouzivat. Napr. toto moje by asi bylo upotrbitelne pro kontextovao nabidku (nabidka na pravem tl. pri vyberu bloku).Kdyz to pouziju klasicky (a to si vyzousejte) tak, kliknu na ikonku (pod ni je toto makro), zepta se mne to na vyber bloku, vyberu a je to. Pokud ale nahodou kliknu nekam jinam (napr. na neco jineho nez blok anebo se netrefim a kliknu do prazdneho prostoru, uz to zacina bezet v "error" modu, tj. uz se mu ona zapsana sekvence posune a nesedi na pozadovane prikazy :-).V druhe casti je lepsi pouzit onu sekveci s prikazem "chprop...." od pana Vbehona. ToolPalette - Paleta nastrojuJak to vysvetlit??? :) je to takova obsahlejsi kapitola... V AutoCADu2008 by standardne mela byt...?Zkuste toto:zmacknete ctrl+3 (pismenko š) a vyskoci vam toolpaletta (nebo prikaz _TOOLPALETTES (s podtrzitkem!))pravim tl. klik na ni a dejte nova paleta (at si nezasvinite nejakou originalni), a zadejte at se automaticky neschovava)otevrete CUI a z tabely kde jsou prikazy (dole vlevo), pretahnete na toolpalettu prikaz (napr. 2Dsolid, nebo neco podobne jednoducheho. Zavrete cuiTed mate vytvoren "prikazovy nastroj" v TP. Klik pravym na novy prikaz v TP a Vlastnosti. Do "command string" pisete prikaz (prepisete prikaz ktery tam byl po pretazeni z CUI). Ostatni radky v okne vlastnosti myslim, mluvi samy za sebe.Tento "nastroj lze zkopirovat a znovu vlozit do stejne TP, napr. pro potrebu odskouseni makra v jine variante apod. (anebo na neco uplne jineho...???) :-)Zkuste to, uvidite.JASponza