_

[acad] skrót klawiszowy do makra

Archiwum grupy newsowej pl.comp.cad. Na razie tylko do czytania i przeszukiwania.

[acad] skrót klawiszowy do makra

Postprzez Lagod » gru 16, 2009 14:19

Cześć
Jak przypisać skrót klawiszowy do makra?
Ewentualnie do przycisku pod ktĂłrym mam makro.
bo w pliku pgp się nie udaje, tam chyba tylko komendy proste.

--
____________________________________________________________MAT_______
Lagod
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lukasz Kozicki » gru 18, 2009 01:22

Lagod pisze:
> Cześć
> Jak przypisać skrót klawiszowy do makra?
> Ewentualnie do przycisku pod ktĂłrym mam makro.
> bo w pliku pgp się nie udaje, tam chyba tylko komendy proste.

Musisz makro przerobić na komendę - i po sprawie. Komendy maja
w definicji (defun) przedrostek c:, czyli jeśli masz makro
"mojemakro" definiowane np. tak (defun mojemakro () ....... )
to robisz z tego komendę tak (defun c:mojemakro () (mojemakro))
i już możesz dopisać na końcu pliku acad.pgp np
MM, *MOJEMAKRO

HTH :)
Pozdr,
--
ŁK
Lukasz Kozicki
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lagod » gru 28, 2009 15:11

> Musisz makro przerobić na komendę - i po sprawie. Komendy maja
> w definicji (defun) przedrostek c:, czyli jeśli masz makro
> "mojemakro" definiowane np. tak (defun mojemakro () ....... )
> to robisz z tego komendę tak (defun c:mojemakro () (mojemakro))
> i już możesz dopisać na końcu pliku acad.pgp np
> MM, *MOJEMAKRO

To ja nie rozumiem.
Mi chodzi o takie np makro, ktĂłre jest pod przycieskiem Layer Properties
Manager:

$M=$(if,$(and,$(>,$(getvar,LayerManagerState),0)),^C^C'_LayerClose,^C^C'_Layer)


--
____________________________________________________________MAT_______
Lagod
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lukasz Kozicki » gru 29, 2009 01:51

Lagod pisze:

> To ja nie rozumiem.
> Mi chodzi o takie np makro, ktĂłre jest pod przycieskiem Layer Properties
> Manager:
>
> $M=$(if,$(and,$(>,$(getvar,LayerManagerState),0)),^C^C'_LayerClose,^C^C'_Layer)

A, przepraszam. Myślałem, że chodzi o makro w AutoLispie.
To co przytaczasz powyżej - nie da się. $M= oznacza definicję
makra tylko i wyłącznie do potrzeb menu i jest napisane w Dieslu.
Przez $M= można nawet podmieniać polecenia w menu - ale nie ma to
żadnego przełożenia na komendy wydawane z linii poleceń, bo
wyrażenia Diesla są ewaluowane w momencie wywołania i nie są
przez autocada pamiętane. Jednym z zastosowań diesla jest zmienna
MODEMACRO - możesz zmienić rodzaj i ilosć informacji wyświetlanych
w pasku statusu.
http://docs.autodesk.com/ACD/2010/ENU/A ... opicNumberĐe393548

Pozdr,
--
ŁK
Lukasz Kozicki
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lagod » gru 29, 2009 14:22

> A, przepraszam. Myślałem, że chodzi o makro w AutoLispie.
> To co przytaczasz powyżej - nie da się. $M= oznacza definicję
> makra tylko i wyłącznie do potrzeb menu i jest napisane w Dieslu.

Kumam.
A nie da się przypisać klawisza skrótu do przycisku w pasku narzędzi?
W starszych acadach się dało (prawie na pewno), a teraz nie umiem.

--
____________________________________________________________MAT_______
Lagod
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lukasz Kozicki » gru 29, 2009 14:48

Lagod pisze:

> A nie da się przypisać klawisza skrótu do przycisku w pasku narzędzi?
> W starszych acadach się dało (prawie na pewno), a teraz nie umiem.

Chyba też nie było można, w każdym razie nie przypominam sobie, by była
możliwość przypisania skrótu do makra w dieslu albo do polecenia menu,
chyba że to polecenie było w lispie.

Ale może nic straconego. Może to co chcesz dałoby się zrobić w lispie -
w takim wypadku możesz dopisać takie makro jako nową komendę do plików
startowych i skrĂłt do acad.pgp. Napisz co konkretnie potrzebujesz, moĹźe
razem coś wymyślimy :)

Pozdr,
--
ŁK
Lukasz Kozicki
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lagod » gru 29, 2009 17:33

> Ale może nic straconego. Może to co chcesz dałoby się zrobić w lispie -
> w takim wypadku możesz dopisać takie makro jako nową komendę do plików
> startowych

To znaczy konkretnie gdzie?

> i skrĂłt do acad.pgp. Napisz co konkretnie potrzebujesz, moĹźe
> razem coś wymyślimy :)

No właśnie to:
(if,$(and,$(>,$(getvar,LayerManagerState),0)),^C^C'_LayerClose,^C^C'_Layer)

Chcę żeby ten sam skrót służył zarówno do zamykania jak i otwierania
layermanagera. Czyli Makro które najpierw sprawdza: jeśli layermanager
jest otwarty to ma go zamknąć a jeśli zamknięty to otworzyć.
Chyba proste.

--
____________________________________________________________MAT_______
Lagod
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lukasz Kozicki » gru 29, 2009 22:36

Lagod pisze:

> No właśnie to:
> (if,$(and,$(>,$(getvar,LayerManagerState),0)),^C^C'_LayerClose,^C^C'_Layer)

OK. ZrĂłb tak. W katalogu C:\Documents and Settings\%USERNAME%\Dane
aplikacji\Autodesk\AutoCAD 2010\R18.0\enu\Support (lub podobnym)
zapisz plik acad.lsp (plik o takiej nazwie, jeśli istnieje, jest
automatycznie wczytywany przez AutoCADA przy uruchamianiu). W tym
pliku zdefiniuj nową komendę LAYONOFF:

==[ acad.lsp ]=================================================(defun c:layonoff ()
(if (> (getvar "LayerManagerState") 0)
(command "'_LayerClose")
(command "'_LayerPalette")
)
(princ)
)

================================================================Następnie do pliku acad.pgp, który powinien znajdować w tym samym
katalogu, dopisz na końcu linijkę np. taką

==[ acad.pgp ]==================================================; -- User Defined Command Aliases --
[...]

LL, *LAYONOFF

================================================================Zrestartuj AutoCADA'a - i voila! - masz skrót LL do włączania i
wyłączania palety Layers. BTW, do pliku acad.lsp możesz też wkleić
inne funkcje z których często korzystasz.

Pozdr,
--
ŁK
Lukasz Kozicki
 

Re: [acad] skrót klawiszowy do makra

Postprzez Lagod » gru 30, 2009 12:41

> OK. ZrĂłb tak. W katalogu C:\Documents and Settings\%USERNAME%\Dane
> aplikacji\Autodesk\AutoCAD 2010\R18.0\enu\Support (lub podobnym)
> zapisz plik acad.lsp (plik o takiej nazwie, jeśli istnieje, jest
> automatycznie wczytywany przez AutoCADA przy uruchamianiu). W tym
> pliku zdefiniuj nową komendę LAYONOFF:

Doskonale-działa.
Właśnie chciałem LL :-)
BArdzo dziękuje. Pozdrawiam starorocznie.

--
____________________________________________________________MAT_______
Lagod
 


Powrót do pl.comp.cad

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników