Thread View: pl.comp.cad
9 messages
9 total messages
Started by Lagod
Wed, 16 Dec 2009 12:19
[acad] skrót klawiszowy do makra
Author: Lagod
Date: Wed, 16 Dec 2009 12:19
Date: Wed, 16 Dec 2009 12:19
7 lines
1012 bytes
1012 bytes
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_______
Re: [acad] skrót klawiszowy do makra
Author: Lukasz Kozicki
Date: Thu, 17 Dec 2009 23:22
Date: Thu, 17 Dec 2009 23:22
17 lines
1301 bytes
1301 bytes
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
Re: [acad] skrót klawiszowy do makra
Author: Lagod
Date: Mon, 28 Dec 2009 13:11
Date: Mon, 28 Dec 2009 13:11
16 lines
1442 bytes
1442 bytes
> 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_______
Re: [acad] skrót klawiszowy do makra
Author: Lukasz Kozicki
Date: Mon, 28 Dec 2009 23:51
Date: Mon, 28 Dec 2009 23:51
22 lines
1768 bytes
1768 bytes
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/AutoCAD%202010%20User%20Documentation/index.html?url=WS73099cc142f4875513fb5cd10c4aa30d6b-7b45.htm,topicNumber=d0e393548 Pozdr, -- ŁK
Re: [acad] skrót klawiszowy do makra
Author: Lagod
Date: Tue, 29 Dec 2009 12:22
Date: Tue, 29 Dec 2009 12:22
10 lines
1329 bytes
1329 bytes
> 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_______
Re: [acad] skrót klawiszowy do makra
Author: Lukasz Kozicki
Date: Tue, 29 Dec 2009 12:48
Date: Tue, 29 Dec 2009 12:48
17 lines
1512 bytes
1512 bytes
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
Re: [acad] skrót klawiszowy do makra
Author: Lagod
Date: Tue, 29 Dec 2009 15:33
Date: Tue, 29 Dec 2009 15:33
19 lines
1665 bytes
1665 bytes
> 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_______
Re: [acad] skrót klawiszowy do makra
Author: Lukasz Kozicki
Date: Tue, 29 Dec 2009 20:36
Date: Tue, 29 Dec 2009 20:36
41 lines
2189 bytes
2189 bytes
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
Re: [acad] skrót klawiszowy do makra
Author: Lagod
Date: Wed, 30 Dec 2009 10:41
Date: Wed, 30 Dec 2009 10:41
12 lines
1506 bytes
1506 bytes
> 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_______
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads