Листинг 4.13. Фрагмент файла «acad.mnl»
;;; AutoLISP routines used by the AutoCAD Standard Menu.
;;; This file is loaded automatically following the menu ACAD.
(princ "\nAutoCAD menu utilities ")
;;;=== Icon Menu Functions ===
;;; View -> Layout -> Tiled Viewports...
(defun ai_tiledvp__chk (new) (setq m:err *error* *error* *merrmsg*)
(if (= (getvar "TILEMODE") 0)
(progn
(princ "\n** Command not allowed in a Layout **")
(princ)
)
(progn
(if new
(menucmd "I=ACAD.IMAGE_VPORTI")
(menucmd "I=IMAGE_VPORTI")
)
(menucmd "I=*")
)
) (setq *error* m:err m:err nil)
(princ)
)
(defun ai__tiledvp (num ori / ai_tiles_g ai__tiles_cmde) (setq m:err *еrrоr* *error* *merrmsg* ai__tiles_cmde (getvar "CMDECHO") ai_tiles_g (getvar "GRIDMODE") )
(ai__undo_push)
(setvar "CMDECHO" 0)
(setvar "GRIDMODE" 0)
(cond ((= num 1)
(command "_.VPORTS" "_SI")
(setvar "GRIDMODE" ai_tiles_g)
)
( (< num 4)
(command "_.VPORTS" "_SI")
(command "_.VPORTS" num ori)
(setvar "GRIDMODE" ai_tiles_g)
) ( (= ori nil)
(command "_.VPORTS" "_SI")
(command "_.VPORTS" num)
:(setvar "GRIDMODE" ai_tiles_g)
)
((=ori "_L")
(command "_.VPORTS" "_SI")
(command "_.VPORTS" "2" "")
(setvar "CVPORT" (car (cadr (vports))))
(command "_.VPORTS" "2" "")
(command "_.VPORTS" "_J" "" (car (cadr (vports)))) (setvar "CVPORT" (car (cadr (vports)))) (command "_.VPORTS" "3" "__H") (setvar "GRIDMODE" ai_tiles__g) (setvar "CVPORT" (car (cadddr (vports)))) (setvar "GRIDMODE" ai_tiles_g) (setvar "CVPORT" (car (cadddr (vports)))) (setvar "GRIDMODE" ai_tiles_g) (setvar "CVPORT" (car (cadddr (vports)))) (setvar "GRIDMODE" ai_tiles__g) )
(command "_.VPORTS" "_SI")
(command "__.VPORTS" "2" "")
(command "_.VPORTS" "2" "")
(setvar "CVPORT" (car (caddr (vports))))
(command "_.VPORTS" "_J" "" (car (caddr (vports))))
(setvar "CVPORT" (car (cadr (vports))))
(command "_.VPORTS" "3" "_H")
(setvar "GRIDMODE" ai_tiles_g)
(setvar "CVPORT" (car (cadddr (vports) ) ) )
(setvar "GRIDMODE" ai_tiles_g)
(setvar "CVPORT" (car (cadddr (vports))))
(setvar "GRIDMODE" ai_tiles_g)
(setvar "CVPORT" (car (cadddr (vports))))
(setvar "GRIDMODE" ai_tiles_g)
) )
(ai_undo_pop)
(setq *error* m:err m:err nil) (setvar "CMDECHO" ai_tiles__cmde)
(princ)
Из листинга видно, что это обычный файл, который может загружать необходимые описания функций или выполнять некоторые выражения на языке AutoLISP (просматривается аналогия с файлом «acaddoc.lsp», который загружается при открытии нового рисунка). Поэтому пользователь, создавая свой файл меню (например, «mynew.mnu»), может написать файл «mynew.mnl», в который включить необходимые LISP-программы или LISP-выражения. Такой файл следует поместить в ту же папку, что и файл меню, и они будут загружаться один за другим.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.