432 lines
12 KiB
Plaintext
432 lines
12 KiB
Plaintext
;;; 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
|
|
;;; <param> 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
|
|
;;; <param> is a string specifiying the parameter
|
|
;;; <cfgval> 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)
|