Obszary robocze mogą być używane do sterowania wyświetlaniem menu rozwijanych na pasku menu. Menu rozwijane można jednak zamieniać programowo (na przykład gdy użytkownik wczytuje aplikację, która wymaga dodatkowego menu rozwijanego).
Ponieważ program zawiera kaskadowe menu rozwijane, rzadko występuje potrzeba wymiany menu. Ponadto wymiana menu może ujemnie wpływać na spójność interfejsu użytkownika. Jednakże, korzystając z poleceń $, można wymieniać menu rozwijane i podmenu. Innym rozwiązaniem oprócz wymiany menu są odwołania względne (lub globalne). Przy użyciu tej metody można wstawić nowe menu przed znanym menu, a następnie usunąć znane menu.
Dla celów wymiany menu rozwijane noszą nazwy od P1 do P16. Można zmienić tytuł, który pojawia się na pasku menu, zastępując ten wiersz menu poleceniem $Pn=. Można użyć specjalnego polecenia $Pn=* z dowolnego polecenia, aby rozwinąć menu przypisane aktualnie do aliasu POPn w celu większej elastyczności podczas ruchu urządzenia wskazującego.
W poniższym przykładzie makra pokazano zastąpienie menu rozwijanego w położeniu P3 przez menu o nazwie new3 w grupie adaptacji o nazwie MYMENU.
$P3=mymenu.new3
W programie AutoCAD taką samą operację można przeprowadzić za pomocą funkcji menucmd języka AutoLISP:
(menucmd "P3=mymenu.new3")
Można użyć specjalnego polecenia $Pn=* z jakiegokolwiek makra, aby wyświetlić menu aktualnie przypisane do obszaru POPn.
Wymiana menu odbywa się przez aktywowanie menu bezpośrednio z innego menu. Wymiana menu może być realizowana w następujących elementach interfejsu:
Składnia dla wymiany częściowych menu jest następująca:
$section=customizationgroup.menuname
Prawidłowe nazwy przekrojów to B1-4, A1-4, P0-16, T1-4
Nazwa grupy adaptacji w żądanym pliku ustawień (CUIx)
Główna etykieta lub alias
Należy pamiętać o następujących zagadnieniach:
Funkcję AutoLISP menucmd (niedostępną w programie AutoCAD LT) można wykorzystać do wstawiania i usuwania menu rozwijanego. Składnia jest podobna do używanej przy wymianie menu rozwijanych z tą różnicą, że z lewej strony funkcji przypisania występuje menu rozwijane, przed które ma być wstawione nowe menu. Prawa strona przypisania to znak plus (+), po którym następuje nazwa grupy adaptacji, kropka i alias menu, jak pokazano poniżej:
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
Menu można również wstawić przy użyciu składni Pn=. Poniższe makro wstawia menu po menu P5:
$P5=+Gmymenu.new3
To samo makro można zaimplementować za pomocą języka AutoLISP, wykonując następujące czynności:
(menucmd "P5=+Gmymenu.new3")
Używając tej metody do wstawiania menu, należy pamiętać, że nie można mieć pewności, że zostanie ono umieszczone w położeniu P6, jak można by oczekiwać. Są dwie przyczyny takiego stanu.
Składnia usuwania menu jest następująca:
Gcustomizationgroup.menuname=-
Przy usuwaniu menu za pomocą języka AutoLISP używana jest następująca składnia:
(menucmd "Gcustomizationgroup.menuname=-")
W poniższym przykładzie usuwane jest menu NEW3 będące członkiem grupy MyMenu.
$Gmymenu.new3=-"
Składnia użyta w poprzednim przykładzie wygląda następująco w języku AutoLISP:
(menucmd "Gmymenu.new3=-")
Jak można było się spodziewać, powyższy format jest lepszy niż format Pn=, ponieważ usuwa tylko wyszczególnione menu. W poniższym przykładzie menu jest usuwane z położenia P4.
$P4=-
Składnia użyta w poprzednim przykładzie wygląda następująco w języku AutoLISP:
(menucmd "P4=-")
Paski narzędzi są zazwyczaj wyświetlane za pomocą obszarów roboczych. Pasek narzędzi można także wyświetlić za pomocą polecenia -PASEKN. Należy użyć następującej składni w odpowiedzi na monit Podaj nazwę paska narzędzi lub [WSZYSTKO]: .
customizationgroup.toolbaralias
Taka składnia udostępnia pasek narzędzi identyfikowany jako grupa_adaptacji.alias_paska_narzędzi.
Jeśli grupa adaptacji jest wyłączona, program domyślnie przechodzi do głównego pliku ustawień (CUIx).