;;; ACAD.MNL ;;; Copyright (C) 1993 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 this permission notice appear in ;;; all supporting documentation. ;;; ;;; THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED ;;; WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR ;;; PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED. ;;; ;;; AutoLISP routines used by the AutoCAD Release 12 Standard Menu. ;;; ;;; This file is loaded automatically following ACAD.MNX. In turn, ;;; it sets up an autoloader and other routines by loading ACADR12.LSP. (princ "\nAutoCAD Release 12 menu utilities ") ;;;=== Icon Menu Functions === ;;; View -> Layout -> Tiled Viewports... (defun ai_tiledvp_chk () (setq m:err *error* *error* *merrmsg*) (if (= (getvar "TILEMODE") 0) (progn (princ "\n** Command not allowed unless TILEMODE is set to 1 (On) **") (princ) ) (progn (menucmd "I=icon_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 "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 () (if (null T_MENU) (setq T_MENU 0) ) (if (= (logand 1 T_MENU) 1) (progn (setq T_MENU (- T_MENU 1)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 1 unloaded.") ) (menucmd "T1=TABLET1") (if (< (getvar "EXPERT") 1) (princ "\nSelect from the AutoCAD AME menu and AutoShade tablet menus.\n") ) ) (progn (setq T_MENU (+ T_MENU 1)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 1 loaded. ") ) (menucmd "T1=TABLET1ALT") (if (< (getvar "EXPERT") 1) (princ "\nThis area is for your personal applications and menu items.\n") ) ) ) (menucmd (strcat "s=HEADER" (itoa T_MENU))) (princ) ) (defun ai_tab2 () (if (null T_MENU) (setq T_MENU 0)) (if (= (logand 2 T_MENU) 2) (progn (setq T_MENU (- T_MENU 2)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 2 unloaded. ") ) (menucmd "T2=TABLET2") (if old_wv (setvar "WORLDVIEW" old_wv)) (if (< (getvar "EXPERT") 1) (princ "\nCommands operate transparently: VPOINT and DVIEW in Worldview mode.\n") ) ) (progn (setq T_MENU (+ T_MENU 2)) (setq old_wv (getvar "WORLDVIEW")) (setvar "WORLDVIEW" 0) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 2 loaded. ") ) (menucmd "T2=TABLET2ALT") (if (< (getvar "EXPERT") 1) (princ "\nZoom and other commands issue CTRL-C's: VPOINT and DVIEW in current UCS mode.\n") ) ) ) (menucmd (strcat "s=HEADER" (itoa T_MENU))) (princ) ) (defun ai_tab3 () (if (null T_MENU) (setq T_MENU 0) ) (if (= (logand 4 T_MENU) 4) (progn (setq T_MENU (- T_MENU 4)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 3 unloaded. ") ) (menucmd "T3=TABLET3") (if (< (getvar "EXPERT") 1) (princ "\nSelect American units from the Numeric menu.\n") ) ) (progn (setq T_MENU (+ T_MENU 4)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 3 loaded. ") ) (menucmd "T3=TABLET3ALT") (if (< (getvar "EXPERT") 1) (princ "\nSelect Metric units from the Numeric menu.\n") ) ) ) (menucmd (strcat "s=HEADER" (itoa T_MENU))) (princ) ) (defun ai_tab4 () (if (null T_MENU) (setq T_MENU 0) ) (if (= (logand 8 T_MENU) 8) (progn (setq T_MENU (- T_MENU 8)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 4 unloaded. ") ) (menucmd "T4=TABLET4") (if (< (getvar "EXPERT") 1) (princ "\nObject snap modes issue overrides: commands do NOT repeat.\n") ) ) (progn (setq T_MENU (+ T_MENU 8)) (if (< (getvar "EXPERT") 4) (princ "\nAlternate tablet area 4 loaded. ") ) (menucmd "T4=TABLET4ALT") (if (< (getvar "EXPERT") 1) (princ "\nObject snap modes issue running modes: commands repeat.\n") ) ) ) (menucmd (strcat "s=HEADER" (itoa T_MENU))) (princ) ) ;;;=== General Utility Functions === (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 "\nFirst corner: ") pt2 (getcorner pt1 "\nOther corner: ") ) (command "_.PLINE" pt1 "_non" (list (car pt1) (cadr pt2)) pt2 "_non" (list (car pt2) (cadr pt1)) "_C" ) (setvar "CMDECHO" cmde) (setq *error* m:err m:err nil) (princ) ) (defun c:ai_peditm (/ m:p0 m:p1) (setq m:err *error* *error* *merr*) (defun m:p0 (/ m:s1 m:e1 m:e2 m:e3) (menucmd"S=X") (menucmd"S=PSEL") (while (not m:s1) (if (setq m:s1 (ssget)) (progn (setq m:e1 (ssname m:s1 0) m:e2 (entget m:e1) m:e3 (cdr (assoc 0 m:e2)) ) (if (= m:e3 "POLYLINE") (m:p1) (if (member m:e3 '("LINE" "ARC")) (progn (command "_.PEDIT" m:e1 pause) (menucmd "S=X") (menucmd "S=P0") ) (progn (terpri) (princ "Entity selected is not a polyline.") (terpri) (setq m:s1 nil) ) ) ) ) ) ) ) (defun m:p1 (/ m:a) (menucmd"S=X") (if (= (setq m:a (cdr (assoc 70 m:e2))) nil) (menucmd"S=P0") (progn (setq m:a (/ m:a 2)) (if (>= m:a 8) (menucmd"S=P16") (if (< m:a 4) (menucmd"S=P0") (menucmd"S=P8") ) ) ) ) (command "_.PEDIT" m:e1) ) (m:p0) (setq *error* m:err m:err nil) (princ) ) ;;;=== Menu Functions === (defun ai_rootmenus () (setq T_MENU 0) (menucmd "S=X") (menucmd "S=S") (menucmd "T2=TABLET2") (menucmd "T3=TABLET3") (menucmd "T4=TABLET4") (princ) ) (if (not (load "acadr12.lsp" nil)) (progn (princ "loading error.") (princ "\nacadr12.lsp not found. AutoLoader is not enabled. ") (princ "Other utilities ") ) (progn (ai_loadaverendr) (ai_aloadame) (ai_asegrey "~") ) ) (setvar "MENUCTL" 1) (princ "loaded.") (princ)