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

CAD tip CAD tip # 13525:

   
Otázka CAD 
 %  platforma  kategorie 
Q - otázka

Jak předefinovat chování standardního příkazu AutoCADu?

A - odpověď Chcete-li změnit, resp. doplnit chování některého standardního příkazu AutoCADu, můžete použít několik metod. Ukažme si je na příkladu příkazu UNISOLATEOBJECTS (zrušení izolace objektů). Chceme, aby po zrušení izolace AutoCAD provedl ještě regeneraci aktivního výřezu. Použít můžeme jednu z uvedených cest:

  1. Úprava menu.
    Pokud příkaz standardně voláte z menu, resp. z ribbonu nebo klávesové zkratky, stačí jeho definici upravit v menu (příkaz CUI) - např. namísto volání ^C^C_unisolateobjects zde použijte a uložte uživatelské menu makro ^C^C_unisolateobjects;_regen

  2. Redefinice.
    Pomocí příkazu _UNDEFINE můžete AutoCAD "odnaučit" některý interní příkaz a nahradit jeho chování vlastní definicí příkazu stejného jména. Předefinování můžete zajistit např. LISP makrem. Do nějakého automaticky načítaného .LSP souboru (např. ACADDOC.LSP) si přidejte funkci předefinování příkazu:
    (command "_UNDEFINE" "_UNISOLATEOBJECTS")
    (defun C:UNISOLATEOBJECTS ()
     (command "._UNISOLATEOBJECTS")
     (princ " and regen")
     (command "_REGEN")
     (princ)
    )

  3. Reaktor.
    Reaktor je cesta jak můžete do AutoCADu doplnit automatické reakce na nějakou událost. Tou může být např. i událost dokončení příkazu (commandEnded). Opět si do některého načítaného .LSP souboru doplňte následující definici reaktoru:
    (vl-load-com)
    (defun MY_Unisolate (reac com)
      (if (wcmatch (strcase (car com)) "UNISOLATE*")
        (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport)
      )
    )
    (setq *UNISOReactor
     (vlr-command-reactor
         "Unisolate reactor"
         '((:vlr-commandEnded . MY_Unisolate))
     )
    )

První možnost můžete využít i v AutoCADu LT. Druhou i v AutoCADu Web.

ACADACLTADTACADMPlantMapCivil3D
100% *  CAD 
4.11.2022    915×   Expert
autocad lisp zkratka
 

Zpět   Všechny další tipy



Pomohl vám tento tip? Provoz služby CADForum.cz podpoříte i nákupem produktů Autodesk u provozovatele tohoto serveru a Platinum partnera Autodesku, firmy Arkance Systems.
Můžete si také přidat odkaz na vaše stránky: CAD Fórum - diskuze, tipy, bloky a utility
CAD:    OS:    Kateg: 
Text:  FAQ   






Tipy a triky prosím využívejte na vlastní zodpovědnost.
Provozovatel (Arkance Systems CZ s.r.o.) nenese odpovědnost za případné potíže vzniklé v souvislosti s použitím kteréhokoliv z uvedených tipů.
Pro plné zvládnutí dané aplikace doporučujeme absolvování některého z nabízených CAD školení.
Další publikování obsahu je dovoleno jen se souhlasem autora.
TOPlist