;;; ACAD.MNL (Also duplicated as ACADFULL.MNL for Windows.) ;;; Copyright (C) 1992, 1993, 1994 by Autodesk, Inc. ;;; ;;; Permission to use, copy, modify, and distribute this software ;;; for any purpose and without fee is hereby granted, provided ;;; that the above copyright notice appears in all copies and ;;; that both that copyright notice and the limited warranty and ;;; restricted rights notice below appear in all supporting ;;; documentation. ;;; ;;; AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. ;;; AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF ;;; MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. ;;; DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE ;;; UNINTERRUPTED OR ERROR FREE. ;;; ;;; Use, duplication, or disclosure by the U.S. Government is subject to ;;; restrictions set forth in FAR 52.227-19 (Commercial Computer ;;; Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) ;;; (Rights in Technical Data and Computer Software), as applicable. ;;; ;;; AutoLISP routines used by the AutoCAD Release 13 Standard Menu. ;;; ;;; This file is loaded automatically following the menu ACAD. (princ ;|ACAD_MNL_1|;"\nAutoCAD Release 13 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 ;|ACAD_MNL_2|;"\n** Command not allowed unless TILEMODE is set to 1 (On) **") (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 *error* *error* *merrmsg* ai_tiles_cmde (getvar "CMDECHO") ai_tiles_g (getvar "GRIDMODE") ) (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 ;|ACAD_MNL_3|;"_L") (command "_.UNDO" "_M") (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 "_.UNDO" "_E") ) (T (command "_.UNDO" "_M") (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) (command "_.UNDO" "_E") ) ) (setq *error* m:err m:err nil) (setvar "CMDECHO" ai_tiles_cmde) (princ) ) ;;;=== Tablet Swap Functions === (defun ai_tab1 () (setq T_Menu (read (ai_popmenucfg "T_Menu"))) (if (= (logand 1 T_Menu) 1) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (- T_Menu 1)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_4|;"\nAlternate tablet area 1 unloaded.") ) (menucmd "T1=TABLET1") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_5|;"\nThis area is for your personal applications and menu items.\n") ) ) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (+ T_Menu 1)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_6|;"\nAlternate tablet area 1 loaded. ") ) (menucmd "T1=TABLET1ALT") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_7|;"\nThis area is for your personal applications and menu items.\n") ) ) ) (princ) ) (defun ai_tab2 () (setq T_Menu (read (ai_popmenucfg "T_Menu"))) (if (= (logand 2 T_Menu) 2) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (- T_Menu 2)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_8|;"\nAlternate tablet area 2 unloaded. ") ) (menucmd "T2=TABLET2") (if old_wv (setvar "WORLDVIEW" old_wv)) (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_9|;"\nCommands operate transparently: VPOINT and DVIEW in Worldview mode.\n") ) ) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (+ T_Menu 2)))) (setq old_wv (getvar "WORLDVIEW")) (setvar "WORLDVIEW" 0) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_10|;"\nAlternate tablet area 2 loaded. ") ) (menucmd "T2=TABLET2ALT") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_11|;"\nZoom and other commands issue CTRL-C's: VPOINT and DVIEW in current UCS mode.\n") ) ) ) (princ) ) (defun ai_tab3 () (setq T_Menu (read (ai_popmenucfg "T_Menu"))) (if (= (logand 4 T_Menu) 4) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (- T_Menu 4)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_12|;"\nAlternate tablet area 3 unloaded. ") ) (menucmd "T3=TABLET3") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_13|;"\nSelect Imperial units from the Numeric menu.\n") ) ) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (+ T_Menu 4)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_14|;"\nAlternate tablet area 3 loaded. ") ) (menucmd "T3=TABLET3ALT") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_15|;"\nSelect Metric units from the Numeric menu.\n") ) ) ) (princ) ) (defun ai_tab4 () (setq T_Menu (read (ai_popmenucfg "T_Menu"))) (if (= (logand 8 T_Menu) 8) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (- T_Menu 8)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_16|;"\nAlternate tablet area 4 unloaded. ") ) (menucmd "T4=TABLET4") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_17|;"\nObject snap modes issue overrides: commands do NOT repeat.\n") ) ) (progn (ai_putmenucfg "T_Menu" (itoa (setq T_Menu (+ T_Menu 8)))) (if (< (getvar "EXPERT") 4) (princ ;|ACAD_MNL_18|;"\nAlternate tablet area 4 loaded. ") ) (menucmd "T4=TABLET4ALT") (if (< (getvar "EXPERT") 1) (princ ;|ACAD_MNL_19|;"\nObject snap modes issue running modes: commands repeat.\n") ) ) ) (princ) ) ;;;=== General Utility Functions === ;;; ai_popmenucfg -- retrieve parameter from cfg settings ;;; is a string specifiying the parameter (defun ai_popmenucfg (param) (set (read param) (getcfg (strcat "CfgData/Menu/" param))) ) ;;; ai_putmenucfg -- store parameter in cfg settings ;;; is a string specifiying the parameter ;;; is the value for that parameter (defun ai_putmenucfg (param cfgval) (setcfg (strcat "CfgData/Menu/" param) cfgval) ) (defun *merr* (msg) (setq *error* m:err m:err nil) (princ) ) (defun *merrmsg* (msg) (princ msg) (setq *error* m:err m:err nil) (princ) ) (defun c:rectang ( / cmde pt1 pt2) (setq m:err *error* *error* *merr* cmde (getvar "CMDECHO") ) (setvar "CMDECHO" 0) (setq pt1 (getpoint ;|ACAD_MNL_20|;"\nFirst corner: ") pt2 (getcorner pt1 ;|ACAD_MNL_21|;"\nOther corner: ") ) (command "_.PLINE" "_non" pt1 "_non" (list (car pt1) (cadr pt2)) "_non" pt2 "_non" (list (car pt2) (cadr pt1)) "_C" ) (setvar "CMDECHO" cmde) (setq *error* m:err m:err nil) (princ) ) ;|ACAD_MNL_28|; (defun ai_showedge_alert () (alert ;|ACAD_MNL_26|;"Invisible edges will be shown after next Regeneration.") (princ) ) (defun ai_hideedge_alert () (alert ;|ACAD_MNL_27|;"Invisible edges will be HIDDEN after next Regeneration.") (princ) ) ;;;=== Menu Functions === (defun ai_rootmenus () (setq T_MENU 0) (menucmd "S=S") (menucmd "S=ACAD.S") (princ) ) (defun ai_fms ( / fmsa fmsb) (setq m:err *error* *error* *merr*) (if (getvar "TILEMODE") (setvar "TILEMODE" 0)) (setq fmsa (vports) fmsb (nth 0 fmsa)) (if (member 1 fmsb) (if (> (length fmsa) 1) (command "_.MSPACE") (progn (command "_.MVIEW") (while (eq 1 (logand 1 (getvar "CMDACTIVE"))) (command pause) ) (command "_.MSPACE") ) ) ) (setq *error* m:err m:err nil) (princ) ) (defun c:ai_propchk ( / a) (setq m:err *error* *error* *merr*) (if (not (setq a (ssget "I"))) (setq a (ssget)) ) (if (> (sslength a) 1) (progn (if (not ddchprop) (load "ddchprop") ) (setq *error* m:err m:err nil) (ddchprop a) ) (progn (if (not ddmodify) (load "ddmodify") ) (setq *error* m:err m:err nil) (ddmodify (ssname a 0)) ) ) (princ) ) (defun ai_onoff (var) (setvar var (abs (1- (getvar var)))) (princ) ) ;;; Pop menu Draw/ Dim/ Align Text/ Centered ;;; Toolbar Dimensions/ Align Text/ Centered (defun ai_dim_cen (/ ai_sysvar ai_dim_ss) (setq ai_sysvar (getvar "cmdecho")) (setvar "cmdecho" 0) (cond ((setq ai_dim_ss (ssget "P")) (command "_dimoverride" "_dimjust" 0 "" ai_dim_ss "" "_dimtedit" ai_dim_ss "_h") ) (T nil) ) (setvar "cmdecho" ai_sysvar) (princ) ) ;;; Set alternate tablet menus based on cfg settings (defun set_alt_tabs () ;; check for active tablet areas (setq T_Menu (read (ai_popmenucfg "T_Menu"))) (mapcar '(lambda (x y z) (if (= (logand x T_Menu) x) (progn (menucmd (strcat "T" y "=TABLET" y "ALT")) (if (/= "" (getcfg "CfgData/Editor/TabletMenusActive")) (eval z) ) ) ) ) '(1 2 4 8) '("1" "2" "3" "4") '( (princ ;|ACAD_MNL_6|;"\nAlternate tablet area 1 loaded. ") (princ ;|ACAD_MNL_10|;"\nAlternate tablet area 2 loaded. ") (princ ;|ACAD_MNL_14|;"\nAlternate tablet area 3 loaded. ") (princ ;|ACAD_MNL_18|;"\nAlternate tablet area 4 loaded. ") ) ) (if (and (/= "" (getcfg "CfgData/Editor/TabletMenusActive")) (/= 0 T_Menu) ) (terpri) ) (setq set_alt_tabs nil) ) ;; If no Tablet menu data exists, insert defaults (if (or (not (setq T_Menu (ai_popmenucfg "T_Menu"))) (= "" T_Menu) ) ;; check for hardware lock (if (/= "" (getvar "_linfo")) (ai_putmenucfg "T_Menu" "4") (ai_putmenucfg "T_Menu" "0") ) ) ;;; Restore alternate tablets upon menu load (set_alt_tabs) (setvar "MENUCTL" 1) ;; Load AutoVision menu if AutoVision is installed, and we are on Windows. (if (and (wcmatch (getvar "platform") "*Windows*") (AutoVisionPresent) ) (progn (setq filedia (getvar "FILEDIA")) (setq cmdecho (getvar "CMDECHO")) (setvar "FILEDIA" 0) (setvar "CMDECHO" 0) (command "_.MENUUNLOAD" "autovis") (command "_.MENULOAD" "autovis") (menucmd "P7=+autovis.pop1") (setvar "FILEDIA" filedia) (setvar "CMDECHO" cmdecho) ) ) (princ ;|ACAD_MNL_25|;"loaded.") (princ)