Za pomocą ciągów makr poleceń można poinstruować program AutoCAD, które polecenia i zmienne systemowe należy wykonać, wraz z oczekiwanymi danymi wejściowymi dozwolonymi w wierszu polecenia. W ciągu makr poleceń można również umieszczać znaki specjalne, wyrażenia języka DIESEL i elementy kodu programowania AutoLISP.
Można tworzyć niestandardowe ciągi makr poleceń, które ułatwiają:
Ciągi makr poleceń można definiować i edytować za pomocą:
Ciągiem makr poleceń określa się szereg poleceń i oczekiwanych opcji oraz wartości o specjalnej składni, który przypomina dane wejściowe wprowadzane w wierszu polecenia programu AutoCAD. Podczas interakcji z elementem interfejsu użytkownika, takim jak przycisk na wstążce lub pozycja menu skrótów, uruchamiany jest ciąg makr poleceń. Składnia makra polecenia może być bardzo prosta i zawierać jedną nazwę polecenia (np. OKRĄG) lub bardziej złożona, uwzględniająca znaki specjalne (np. ^C^C_.okrąg \1).
Poniżej wymieniono znaki specjalne najczęściej używane w ciągach makr poleceń:
Poniżej przedstawiono uruchamianie polecenia OKRĄG i rysowanie okręgu o promieniu 5 z poziomu wiersza polecenia programu AutoCAD oraz wygląd tych samych danych wejściowych w postaci ciągu makr poleceń:
Sekwencja w wierszu polecenia | Odpowiednik w składni ciągu makr poleceń |
---|---|
Command: CIRCLE Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: Specify radius of circle or [Diameter] <2.5000>: 5 |
CIRCLE; \ 5; |
Tak może wyglądać wynikowy ciąg makr poleceń:
|
|
Poprzedni ciąg makr można było również zapisać w następującej postaci bez średników, ponieważ spacja w makrze ma takie samo znaczenie jak naciśnięcie klawisza spacji w wierszu polecenia programu AutoCAD:
^C^C_.circle \5
W kolejnym przykładzie przedstawiono użycie polecenia MOCORO do skopiowania, a następnie obrócenia skopiowanych obiektów z poziomu wiersza polecenia programu AutoCAD oraz wygląd odpowiedniej sekwencji poleceń w postaci ciągu makra polecenia:
Sekwencja w wierszu polecenia | Odpowiednik w składni ciągu makr poleceń |
---|---|
Command: MOCORO Select objects: Specify opposite corner: Select objects: Base point: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: C Second point of displacement/Undo/<eXit>: Second point of displacement/Undo/<eXit>: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: R Second Point or Rotation angle: [Move/Copy/Rotate/Scale/Base/Undo]<eXit>: |
MOCORO; \ \ ; \ C; \ ; R; \ ; |
Tak może wyglądać wynikowy ciąg makr poleceń:
|
|
Po kliknięciu przycisku w interfejsie użytkownika przypisane do tego przycisku makro jest wykonywane w bieżącym kontekście programu. Oznacza to, że makro spróbuje odpowiedzieć na bieżący monit. Aby mieć pewność, że podczas wykonywania makra żadne polecenie nie jest aktywne, makro należy poprzedzić sekwencją polecenia ^C. Wprawdzie pojedyncze naciśnięcie klawiszy ^C wystarczy, aby anulować większość poleceń, jednak aby wrócić do wiersza polecenia z polecenia wymiarowania, należy nacisnąć klawisze ^C^C, a naciśnięcie klawiszy ^C^C^C jest niezbędne w zależności od bieżących opcji polecenia -WARSTWA. Naciśnięcie ^C^C anuluje większość sekwencji poleceń i dlatego jest zalecaną sekwencją.
Polecenia, które są częścią programu AutoCAD lub produktów opartych na programie AutoCAD, powinny być poprzedzone znakiem kropki (.). Znak kropki umożliwia korzystanie z poleceń standardowych, nawet jeśli ich definicje zostały usunięte za pomocą polecenia UNDEF. Ten środek ostrożności zapewnia przewidywalność makra podczas używania na innych komputerach korzystających z tego samego pliku adaptacji (CUIx).
Każdy znak w makrze jest istotny, nawet spacja. Spacja jest interpretowana jako naciśnięcie klawisza spacji, które może spowodować wystąpienie spacji w danych wejściowych, lub jako naciśnięcie klawisza Enter. Wynik jest taki sam jak w przypadku użycia polecenia lub zmiennej systemowej w wierszu polecenia.
Podczas pierwszego tworzenia makra użytkownik zazwyczaj korzysta z nazw poleceń i wartości opcji w języku produktu, który jest mu znany. Każde polecenie i opcja ma lokalną i globalną nazwę umożliwiającą używanie makr w innych językach obsługiwanych przez produkt. Obsługa języków innych niż angielski nie wymaga znacznego dodatkowego nakładu pracy użytkownika. Wystarczy poprzedzić każde polecenie lub opcję znakiem podkreślenia (_). Znak podkreślenia sygnalizuje programowi, że nazwę polecenia lub wartość opcji należy przed ich wykonaniem przetłumaczyć na lokalny język produktu.
Opcja trybu wyboru pojedynczego obiektu anuluje standardowe powtarzanie monitu Wybierz obiekty w poleceniach edycji. Po wskazaniu obiektu i odpowiedzi na monity polecenie zostaje zakończone.
Ilustruje to następujący przykład:
^C^C._erase single
To makro kończy bieżące polecenie i uruchamia polecenie WYMAŻ w trybie wyboru pojedynczego obiektu. Gdy makro zostanie uruchomione, można wybrać pojedynczy obiekt lub kliknąć pusty obszar na rysunku, a następnie określić wybór okna/okna przecinającego. Wszystkie obiekty wybrane za pomocą tych metod zostaną usunięte.
Po utworzeniu makra zalecane jest jego kilkakrotne użycie przed przejściem do innego polecenia. W makrze użyj gwiazdki wiodącej (*), aby wskazać, że polecenie w makrze powinno być powtarzane aż do naciśnięcia klawisza Esc, lub uruchom inne makro rozpoczynające się od znaków ^C.
Makra w następujących przykładach powtarzają polecenia:
*^C^C._move Single *^C^C._copy Single *^C^C._erase Single *^C^C._stretch Single Crossing *^C^C._rotate Single *^C^C._scale Single
Niektóre makra należy zakończyć w określony sposób. Polecenie TEKST wymaga na przykład naciśnięcia klawisza Enter zamiast klawisza spacji, aby zakończyć działanie polecenia, a niektóre polecenia wymagają więcej niż jednego naciśnięcia klawisza spacji lub klawisza Enter do zakończenia ich działania.
Ten problem można rozwiązać dzięki dwóm konwencjom.
Porównanie makr:
ucs ucs ;
W pierwszym przykładzie uruchamiane jest polecenie LUW, a ponieważ wiersz kończy się spacją, symulowane jest naciśnięcie klawisza spacji. Wyświetlany jest następujący monit:
Określ początek LUW lub [Powierzchnia/nAZwana/OBiekt/popRzedni/Widok/Globalny/X/Y/Z/Ośz] <Globalny>:
W drugim przykładzie uruchamiane jest polecenie LUW, symulowane jest naciśnięcie klawisza spacji, a następnie symulowane jest naciśnięcie klawisza Enter akceptujące wartość domyślną (Globalny).
Znaki w makrach są wyświetlane w wierszu polecenia tak, jakby zostały wpisane przy użyciu klawiatury. Takie powielenie wyświetlania to tzw. echo. Wyświetlanie „echa” makra można wyłączyć za pomocą zmiennej systemowej MENUECHO. Jeśli echa i monity z danych wprowadzonych do elementu zostaną włączone, ^P przed nazwą makra wyłączy je tymczasowo. Można również użyć znaków ^Q w makrze, aby pominąć wyświetlanie wszystkich monitów i danych z historii wiersza polecenia.