Notes on the philosophy of CUI

Notes on the philosophy of CUI

Anonymous
Not applicable
8,074 Views
231 Replies
Message 1 of 232

Notes on the philosophy of CUI

Anonymous
Not applicable
Most of us used to use Acad.mns as the root of our menu structure, and then
MenuLoad (partial) the rest of our menus. So this was the structure:

-Acad.mns
--Express.mns
--Custom.mns
--Office.mns

However, the CUI has flipped our tidy lives. And the tendency is to try to
shoehorn the CUI into how we've always done things. I propose an
alternative, taking advantage of the Enterprise CUI in the process.

It is no longer necessary to make Acad.cui the root of structure. Think
about it; we did that before so that we could always insure that at least
Acad's menu structure was there. But CUI does some undesired things if you
continue this approach. More will be said on that later. Instead, I
recommend making Custom.cui the main .cui file, and your Office.cui the
Enterprise .cui file.

-Custom.cui (Main)
-Office.cui (Enterprise)
--Acad
--Express

Why?

> Well, the Custom.cui can be modified by the user to their heart's content
> in most shops. So that's a good starting place. As CAD Managers we don't
> want the users mucking with the Acad.cui, but if you leave it as the main
> .cui file, it is going to get mucked up.

> With the Custom.cui as the main .cui file, the users can make their own
> workspaces, and stand a reasonable chance that their customizations make
> the next round of hardware/software upgrades. Far easier to backup/migrate
> the user's Custom.cui, IMHO, than worrying about a mucked up Acad.cui
> file.

> Making the Office.cui the Enterprise .cui file is an obvious choice. It
> will be read-only inside AutoCAD to the users, and any workspaces defined
> in the Office.cui are available to the user.

> If you need to run a test environment, say, a "vanilla" AutoCAD profile,
> and your normal profile, you are actually forced (!) not to use Acad.cui
> as you main .cui file. The reason for this is that you need the Acad.cui
> to be the main .cui file for the vanilla profile, but if you leave the
> Acad.cui as the main .cui file in your normal profile, changes you make to
> the CUI will be evident in the vanilla profile. The largest visible effect
> is that your Custom/Office.mnl files will execute in the vanilla profile,
> since the Custom/Office.cui files are MenuLoaded in the main Acad.cui
> file. This will "pollute" the Visual LISP environment in your nominally
> vanilla profile.

> And speaking of profiles, as a CAD Manager you can setup another profile
> that makes the Office.cui the main .cui file so that you, the CAD Manager,
> can edit the file!

I hope that this post helps you in your efforts with the CUI.


--
R. Robert Bell
0 Likes
8,075 Views
231 Replies
Replies (231)
Message 81 of 232

Anonymous
Not applicable
Ok, I've got 2006 up and running. All of my menus have been converted over
to
the new CUI. Ok, they are all loaded and working properly. Question is how
do I
merge all the menus. All I've got up is Arch and Stru....now I need to merge
the others:
Mech, Elec and Civl....see image.

--
Gary Fowler - Architect
gdfowler@hotmail.com


"R. Robert Bell" wrote in message
news:4838060@discussion.autodesk.com...
Most of us used to use Acad.mns as the root of our menu structure, and then
MenuLoad (partial) the rest of our menus. So this was the structure:

-Acad.mns
--Express.mns
--Custom.mns
--Office.mns

However, the CUI has flipped our tidy lives. And the tendency is to try to
shoehorn the CUI into how we've always done things. I propose an
alternative, taking advantage of the Enterprise CUI in the process.

It is no longer necessary to make Acad.cui the root of structure. Think
about it; we did that before so that we could always insure that at least
Acad's menu structure was there. But CUI does some undesired things if you
continue this approach. More will be said on that later. Instead, I
recommend making Custom.cui the main .cui file, and your Office.cui the
Enterprise .cui file.

-Custom.cui (Main)
-Office.cui (Enterprise)
--Acad
--Express

Why?

> Well, the Custom.cui can be modified by the user to their heart's content
> in most shops. So that's a good starting place. As CAD Managers we don't
> want the users mucking with the Acad.cui, but if you leave it as the main
> .cui file, it is going to get mucked up.

> With the Custom.cui as the main .cui file, the users can make their own
> workspaces, and stand a reasonable chance that their customizations make
> the next round of hardware/software upgrades. Far easier to backup/migrate
> the user's Custom.cui, IMHO, than worrying about a mucked up Acad.cui
> file.

> Making the Office.cui the Enterprise .cui file is an obvious choice. It
> will be read-only inside AutoCAD to the users, and any workspaces defined
> in the Office.cui are available to the user.

> If you need to run a test environment, say, a "vanilla" AutoCAD profile,
> and your normal profile, you are actually forced (!) not to use Acad.cui
> as you main .cui file. The reason for this is that you need the Acad.cui
> to be the main .cui file for the vanilla profile, but if you leave the
> Acad.cui as the main .cui file in your normal profile, changes you make to
> the CUI will be evident in the vanilla profile. The largest visible effect
> is that your Custom/Office.mnl files will execute in the vanilla profile,
> since the Custom/Office.cui files are MenuLoaded in the main Acad.cui
> file. This will "pollute" the Visual LISP environment in your nominally
> vanilla profile.

> And speaking of profiles, as a CAD Manager you can setup another profile
> that makes the Office.cui the main .cui file so that you, the CAD Manager,
> can edit the file!

I hope that this post helps you in your efforts with the CUI.


--
R. Robert Bell
0 Likes
Message 82 of 232

Anonymous
Not applicable
The image doesn't really help all that much.Yes, we can see those two menu
items, but having the CUI editor up would have been much more useful.

What do you intend by the phrase "merge all the menus"?

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4841940@discussion.autodesk.com...
Ok, I've got 2006 up and running. All of my menus have been converted over
to
the new CUI. Ok, they are all loaded and working properly. Question is how
do I
merge all the menus. All I've got up is Arch and Stru....now I need to merge
the others:
Mech, Elec and Civl....see image.
0 Likes
Message 83 of 232

Anonymous
Not applicable
Thanks for the help, I'm lost.
I just want all of the menus across the top.
They all all loaded and working properly...but do not show up as in 2005.

--
Gary Fowler - Architect
gdfowler@hotmail.com


"R. Robert Bell" wrote in message
news:4841941@discussion.autodesk.com...
The image doesn't really help all that much.Yes, we can see those two menu
items, but having the CUI editor up would have been much more useful.

What do you intend by the phrase "merge all the menus"?

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4841940@discussion.autodesk.com...
Ok, I've got 2006 up and running. All of my menus have been converted over
to
the new CUI. Ok, they are all loaded and working properly. Question is how
do I
merge all the menus. All I've got up is Arch and Stru....now I need to merge
the others:
Mech, Elec and Civl....see image.
0 Likes
Message 84 of 232

Anonymous
Not applicable
CUI, CUI! Not shots of the menubar. ;^)

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4841962@discussion.autodesk.com...
Thanks for the help, I'm lost.
I just want all of the menus across the top.
They all all loaded and working properly...but do not show up as in 2005.
0 Likes
Message 85 of 232

Anonymous
Not applicable
Ok I got it to work.
Will explain how I did it later....working on a lsp routine to autonate it.

It was not finding the files.

v:/arch/custom_architettura/stru/stru
v:/arch/custom_architettura/mech/mech
v:/arch/custom_architettura/elec/elec
v:/arch/custom_architettura/civl/civl

--
Gary Fowler - Architect
gdfowler@hotmail.com


"R. Robert Bell" wrote in message
news:4841980@discussion.autodesk.com...
CUI, CUI! Not shots of the menubar. ;^)

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4841962@discussion.autodesk.com...
Thanks for the help, I'm lost.
I just want all of the menus across the top.
They all all loaded and working properly...but do not show up as in 2005.
0 Likes
Message 86 of 232

Anonymous
Not applicable
Man is this hard to get use to...........

--
Gary Fowler - Architect
gdfowler@hotmail.com


"Gary Fowler" wrote in message
news:4841999@discussion.autodesk.com...
Ok I got it to work.
Will explain how I did it later....working on a lsp routine to autonate it.

It was not finding the files.

v:/arch/custom_architettura/stru/stru
v:/arch/custom_architettura/mech/mech
v:/arch/custom_architettura/elec/elec
v:/arch/custom_architettura/civl/civl

--
Gary Fowler - Architect
gdfowler@hotmail.com


"R. Robert Bell" wrote in message
news:4841980@discussion.autodesk.com...
CUI, CUI! Not shots of the menubar. ;^)


--
R. Robert Bell


"Gary Fowler" wrote in message
news:4841962@discussion.autodesk.com...
Thanks for the help, I'm lost.
I just want all of the menus across the top.
They all all loaded and working properly...but do not show up as in 2005.
0 Likes
Message 87 of 232

Anonymous
Not applicable
To get pulldowns to show, you do not need to merge menus (with the transfer tab...).
You need to pick a workspace, then the "edit workspace" button on the right pane.
Then drag and drop pulldowns into the menus section.
Its all about drag and drop in the CUI editor

Gary Fowler
|>Man is this hard to get use to...........
|>
|>--
|>Gary Fowler - Architect
|>gdfowler@hotmail.com
|>
|>
|>"Gary Fowler" wrote in message
|>news:4841999@discussion.autodesk.com...
|>Ok I got it to work.
|>Will explain how I did it later....working on a lsp routine to autonate it.
|>
|>It was not finding the files.
|>
|>v:/arch/custom_architettura/stru/stru
|>v:/arch/custom_architettura/mech/mech
|>v:/arch/custom_architettura/elec/elec
|>v:/arch/custom_architettura/civl/civl
|>
|>--
|>Ga
|>ry Fowler - Architect
|>gdfowler@hotmail.com
|>
|>
|>"R. Robert Bell" wrote in message
|>news:4841980@discussion.autodesk.com...
|>CUI, CUI! Not shots of the menubar. ;^)

James Maeding
Civil Engineer and Programmer
jmaeding - athunsaker - com
0 Likes
Message 88 of 232

Anonymous
Not applicable
In addition to James' comments, you are using Acad.cui as you main .cui
file. Not what I recommend.

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4842020@discussion.autodesk.com...
Man is this hard to get use to...........
0 Likes
Message 89 of 232

Anonymous
Not applicable
Thanks, I'm just a slow learner. I'm also having trouble will my 2005 tool
pallettes...but that will have to wait.
How do you export a workspace?

This is some of the legecy 2005 code that I will have to modify:

[code]
MODIFY ARCH_INITIALIZE ROUTINE


(defun ARCH:ALERT (/ alertcad1 alertcad2 alertcad3 alertcad4 arch_alertmsg)
(ALERTWAV)
(terpri)
(setq ALERTCAD1 "/////////////////////////\n")
(setq ALERTCAD2 " PROGRAM IS\n")
(setq ALERTCAD3 " NOT LOADED\n")
(setq ALERTCAD4 "/////////////////////////\n")
(setq ARCH_ALERTMSG (strcat ALERTCAD1 ALERTCAD2 ALERTCAD3 ALERTCAD4))
(alert ARCH_ALERTMSG)
(progn (if (= (findfile "STRU.mnu") nil)
(command "menuunload" "STRU"))
(if (= (findfile "MECH.mnu") nil)
(command "menuunload" "MECH"))
(if (= (findfile "ELEC.mnu") nil)
(command "menuunload" "ELEC")))
(princ))





(defun ARCH ()
(ARCH:DOSLIBLOADER)
(ARCH:ARCH_REGISTRY)
(cond
((= (atoi (substr (getvar "acadver") 1 2)) 14)
(alert "ARCH Program no longer supports AutoCAD 14"))
((>= (distof (substr (getvar "acadver") 1 4)) 15.0)
(progn (setq SCF (getvar "dimscale"))
(princ (load (strcat ARCH#SUPF "ARCH_SUBROUTINES")
"\n*** ------- Subroutines Not Loaded. ------
***"))
(princ (load (strcat ARCH#CUSF ARCH#CUSN ".lsp")
"\n*** ----- Customized File Not Loaded.-----
***"))
(progn (if (= (getvar "snapunit") 0)
(progn (command "snapunit" "0.125,0.125")
(princ "\n*** - Snapunit reset from 0,0 to
1/8,1/8 - ***\n")))
;to fix bad snapunit value
(if (= (getvar "dimscale") 0)
(progn (setvar "dimscale" 1)
(princ "\n*** -- dimscale value reset from 0 to
1 -- ***\n")))
;to fix bad dimscale value
)
(cond ((= (menugroup "ARCH") nil) ;Loading needs to go in this
order
(progn (ARCH:STARTUP) ;Loaded from ARCH_SUBROUTINES
(ARCH:RESETVARS) ;Loaded from Custom File standard
setvars
(ARCH:RESETENVS) ;Loaded from Custom File standard
setenvs
(ARCH:CUSTOMIZED_HKEY-STARTUP)
;Loaded from Custom File HKEY variables that must be set!!!
;;(ARCH:F_S-VAR) ;Loaded from ARCH_SUBROUTINES
recording setvars to reset
(princ "\n*** ---------- Startup
Complete ---------- ***")
(C:MODE)
;;(command "menuload" "ARCH.mnu")
(cond ((and (>= (distof (substr (getvar "acadver")
1 4)) 15.0)
(< (distof (substr (getvar "acadver")
1 4)) 16.0))
(command "menuload" (strcat ARCH#SUPF
"V_15/ARCH.mnu")))
((>= (distof (substr (getvar "acadver") 1
4)) 16.1)
(command "menuload" (strcat ARCH#SUPF
"V_16/ARCH.mnu"))))
(PlaceARCHMenu)
(PlaceWindow)
(PlaceARCHMenu))))))
(dos_splash (strcat ARCH#DIRL "ARCH\\IMAGES\\" "ARCH.bmp") 1))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceARCHMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+ARCH.pop1"))
(setq CNT 25)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PROG Menu Loader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PROG (/ prog)
(cond ((and (>= (distof (substr (getvar "acadver") 1 4)) 15.0)
(< (distof (substr (getvar "acadver") 1 4)) 16.0))
(setq prog (strcat ARCH#SUPF "V_15/PROG.mnu")))
((>= (distof (substr (getvar "acadver") 1 4)) 16.0)
(setq prog (strcat ARCH#SUPF "V_16/PROG.mnu"))))
(progn
(if (/= PROG nil)
(progn (command "menuunload" "PROG" "menuload" PROG)
(PlacePROGMenu)
(princ "\n*** ---------- PROG Menu Loaded ---------- ***")))
(if (= PROG nil)
(ARCH:ALERT-I
"MsgBox \"
Arch Program© Alert
--------------------------------------------------------------------------------------------
PROG Program is Not Loaded!\"")))
;;(MENUWAV)
(princ))
(defun PlacePROGMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+PROG.pop1"))
(setq CNT 25)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STRU Menu Loader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun STRU (/ stru)
(setq STRU (findfile (strcat ARCH#CUSF "STRU/" "STRU.mnc")))
(progn
(if (/= STRU nil)
(progn (command "menuunload" "STRU" "menuload" STRU)
(PlaceSTRUMenu)
;;(command "toolbar" "STRU.STRU_Program" "show")
(command "toolbar" "STRU.STRU_Program" "float" "800,52" "1")
(princ "\n*** ---------- STRU Menu Loaded ---------- ***")))
(if (= STRU nil)
(ARCH:ALERT-I
"MsgBox \"
Arch Program© Alert
--------------------------------------------------------------------------------------------
STRU Program is Not Loaded!\"")))
;;(MENUWAV)
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceSTRUMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+STRU.pop1"))
(setq CNT 25)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MECH Menu Loader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun MECH (/ mech)
(setq MECH (findfile (strcat ARCH#CUSF "MECH/" "MECH.mnc")))
(progn
(if (/= MECH nil)
(progn (command "menuunload" "MECH" "menuload" MECH)
(PlaceMECHMenu)
;;(command "toolbar" "MECH.MECH_Program" "show")
(command "toolbar" "MECH.MECH_Program" "float" "800,104" "1")
(princ "\n*** ---------- MECH Menu Loaded ---------- ***")))
(if (= MECH nil)
(ARCH:ALERT-I
"MsgBox \"
Arch Program© Alert
--------------------------------------------------------------------------------------------
MECH Program is Not Loaded!\"")))
;;(MENUWAV)
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceMECHMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+MECH.pop1"))
(setq CNT 25)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELEC Menu Loader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ELEC (/ elec)
(setq ELEC (findfile (strcat ARCH#CUSF "ELEC/" "ELEC.mnc")))
(progn
(if (/= ELEC nil)
(progn (command "menuunload" "ELEC" "menuload" ELEC)
(PlaceELECMenu)
;;(command "toolbar" "ELEC.ELEC_Program" "show")
(command "toolbar" "ELEC.ELEC_Program" "float" "800,156" "1")
(princ "\n*** ---------- ELEC Menu Loaded ---------- ***")))
(if (= ELEC nil)
(ARCH:ALERT-I
"MsgBox \"
Arch Program© Alert
--------------------------------------------------------------------------------------------
ELEC Program is Not Loaded!\"")))
;;(MENUWAV)
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceELECMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+ELEC.pop1"))
(setq CNT 25)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CIVL Menu Loader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun CIVL (/ civl)
(setq CIVL (findfile (strcat ARCH#CUSF "CIVL/" "CIVL.mnc")))
(progn
(if (/= CIVL nil)
(progn (command "menuunload" "CIVL" "menuload" CIVL)
(PlaceCIVLMenu)
;;(command "toolbar" "CIVL.CIVL_Program" "show")
(command "toolbar" "CIVL.CIVL_Program" "float" "800,208" "1")
(princ "\n*** ---------- CIVL Menu Loaded ---------- ***")))
(if (= CIVL nil)
(ARCH:ALERT-I
"MsgBox \"
Arch Program© Alert
--------------------------------------------------------------------------------------------
CIVL Program is Not Loaded!\"")))
;;(MENUWAV)
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceCIVLMenu (/ CNT)
(setq CNT 1)
(while (< CNT 24)
(if (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
(progn (if (> CNT 2)
(setq CNT (1- CNT))
(setq CNT 2))
(menucmd (strcat "p" (itoa CNT) "=+CIVL.pop1"))
(setq CNT 25)))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Place Window
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun PlaceWindow (/ n)
(setq N 1)
(menucmd "p10=-")
(while (menucmd (strcat "P" (itoa n) ".1=?")) (SETQ N (1+ N)))
(setq N (- N 1))
(menucmd (strcat "p" (itoa n) "=+ACAD.pop10")))








































MODIFY ARCH_SUBROUTINES ROUTINE


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:STRU ()
(ARCH:SETDIALMODE "Stru")
(progn (if (= (menugroup "STRU") nil)
(STRU)
;;ARCH_Initialize.fas
))
(progn (if (/= (menugroup "STRU") nil)
(progn (STRUIT)
;;(command "toolbar" "STRU.STRU_Program" "hide")
;;(command "toolbar" "STRU.STRU_Program" "show")
)))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:MECH ()
(ARCH:SETDIALMODE "Mech")
(ARCH:SETIM22MODE "Duct")
(progn (if (= (menugroup "MECH") nil)
(MECH)
;;ARCH_Initialize.fas
))
(progn (if (/= (menugroup "MECH") nil)
(progn (MECHIT)
;;(command "toolbar" "MECH.MECH_Program" "hide")
;;(command "toolbar" "MECH.MECH_Program" "show")
)))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:ELEC ()
(ARCH:SETDIALMODE "Elec")
(progn (if (= (menugroup "ELEC") nil)
(ELEC)
;;ARCH_Initialize.fas
))
(progn (if (/= (menugroup "ELEC") nil)
(progn (ELECIT)
;;(command "toolbar" "ELEC.ELEC_Program" "hide")
;;(command "toolbar" "ELEC.ELEC_Program" "show")
)))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:CIVL ()
(ARCH:SETDIALMODE "Civl")
(progn (if (= (menugroup "CIVL") nil)
(CIVL)
;;ARCH_Initialize.fas
))
(progn (if (/= (menugroup "CIVL") nil)
(progn (CIVLIT)
;;(command "toolbar" "CIVL.CIVL_Program" "hide")
;;(command "toolbar" "CIVL.CIVL_Program" "show" "1")
)))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:PROG ()
(ARCH:SETDIALMODE "Prog")
(progn (if (= (menugroup "PROG") nil)
(PROG)
;;ARCH_Initialize.fas
))
(princ))











;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ARCH:DISCIPLINE ()
(mode_tile "stru" 1)
(mode_tile "mech" 1)
(mode_tile "elec" 1)
(mode_tile "civl" 1)
(progn (if (/= (menugroup "STRU") nil)
(progn (ARCH:DISPLAY-DRAW "stru")
(mode_tile "stru" 0)
(mode_tile "strux" 1)))
(if (/= (menugroup "MECH") nil)
(progn (ARCH:DISPLAY-DRAW "mech")
(mode_tile "mech" 0)
(mode_tile "mechx" 1)))
(if (/= (menugroup "ELEC") nil)
(progn (ARCH:DISPLAY-DRAW "elec")
(mode_tile "elec" 0)
(mode_tile "elecx" 1)))
(if (/= (menugroup "CIVL") nil)
(progn (ARCH:DISPLAY-DRAW "civl")
(mode_tile "civl" 0)
(mode_tile "civlx" 1)))))







;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;; Find Lisp Routine for Loader Function
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ARCH:LOAD (FIND)
(cond
((findfile FIND) (load FIND))
(t
(progn
(menucmd "GARCH.ID_ARCH=~")
(ARCH:ALERT-I
"MsgBox \"
File could not be Found.
--------------------------------------------------------------------------------------------
This Routine could not be found on the network...
Please notify Gary D. Fowler to correct the problem.\"")
(princ "\n*** ///////// Program CANCELLED ///////// ***")))))
;;;
;;;usage (ARCH:LOAD (strcat ARCH#CUSF "LAYS/" "ARCH_LockDown.lsp"))










;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ARCH Startup
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ARCH:STARTUP ()
(cond ((= (findfile (strcat ARCH#SUPF "ARCH_SECURE.VLX")) nil) (C:ACADX))
;;((/= (findfile (strcat ARCH#SUPF "ARCH_SECURE.VLX")) nil) (load
"ARCH_SECURE"))
)
;;(C:SECURE)
(cond
((/= (menugroup "ARCH") nil)
(progn (cond
((>= (distof (substr (getvar "acadver") 1 4)) 15.0)
(progn (vl-load-com) ;needs to be loaded first to run reactor
(vlr-docmanager-reactor ()
'((:vlr-documentBecameCurrent . modeexe))))))
(ARCH:FINDACAD#PATH)
(setq ARCH#LREA
(vl-registry-read
"HKEY_CURRENT_USER\\Software\\Arch
Program\\Defaults\\Lays\\Reactor"))
;;default reactor setting needs to be here
(cond ((and (>= (distof (substr (getvar "acadver") 1 4)) 15.0)
(< (distof (substr (getvar "acadver") 1 4)) 16.0))
(ARCH:MODEMACROLOADER)))
(princ "\n*** ----- Arch Program© for AutoCAD® ----- ***")
(princ
(strcat "\n*** --- Copyright " ARCH#YEAR " - Gary D Fowler ---
***")))))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;







































MODIFY ARCHITETTURA ROUTINE



(cond ((>= (distof (substr (getvar "acadver") 1 4)) 15.0)
(if (/= (menugroup "ARCH") nil)
(ARCH:SaveFilePath))))











;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;; Architettura Registry Setup
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:AAA ()
;;(AAA)
(ARCH-REGISTRY)
(progn (if (= (findfile (strcat ARCH#CUSF "STRU\\" "STRU.mnu")) nil)
(command "menuunload" "STRU"))
(if (= (findfile (strcat ARCH#CUSF "MECH\\" "MECH.mnu")) nil)
(command "menuunload" "MECH"))
(if (= (findfile (strcat ARCH#CUSF "ELEC\\" "ELEC.mnu")) nil)
(command "menuunload" "ELEC"))
(if (= (findfile (strcat ARCH#CUSF "CIVL\\" "CIVL.mnu")) nil)
(command "menuunload" "CIVL")))
(princ))




































MODIFY ARCH.MNL ROUTINE



;;; Following is a list of AutoCAD, Express Tools, and user-defined files in
;;; the order they are loaded when you first start the program. Go to
AutoCAD
;;; Help and search for "support file loading" (including quotes) and the
;;; top result is "Order of support file loading" which nets the following:
;;;
;;; acad2000.lsp AutoCAD
;;; acad.rx User
;;; acad.lsp User
;;; acad2000doc.lsp AutoCAD
;;; acetutil.fas Express Tools
;;; acaddoc.lsp User
;;; mymenu.mnc User
;;; mymenu.mnl User
;;; acad.mnc AutoCAD
;;; acad.mnl AutoCAD
;;; acetmain.mnc Express Tools
;;; acetmain.mnl Express Tools
;;; s::startup User











;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;; Menu Start Function
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ARCH:CHECKACADSTARTUP ()
(cond ((/= (menugroup "ARCH") nil)
(progn (if (/= ARCH#SUPF nil)
(progn (PlaceARCHMenu)))
(if (not PlaceARCHMenu)
(progn (command "menuunload" "ARCH.mnu")
(prompt "\n*** ---- ARCH.lsp could not be
found. ---- ***"))))))
(princ))
;;(ARCH:CHECKACADSTARTUP)










;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;; AutoCAD Drawing File STARTUP
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if (= (atoi (substr (getvar "acadver") 1 2)) 14)
(alert "Arch Program no longer supports AutoCAD 14"))
;;;
(if (>= (atoi (substr (getvar "acadver") 1 2)) 15)
(defun-q
ARCH::STARUP
()
(ARCH:DOSLIBLOADER)
(setq ARCH#CHKV (atoms-family 1))
;;(gc) ;Forces a garbage collection, which frees up unused memory
;;(mem) ;Displays the current state of memory in AutoLISP
(progn (if (= (getvar "snapunit") 0)
(progn (command "snapunit" "0.125,0.125")
(princ "\n*** - Snapunit reset from 0,0 to 1/8,1/8 -
***\n")))
;to fix bad snapunit value
(if (= (getvar "dimscale") 0)
(progn (setvar "dimscale" 1)
(princ "\n*** -- dimscale value reset from 0 to 1 --
***\n")))
;to fix bad dimscale value
)
(ARCH:STARTUP) ;Loaded from ARCH_SUBROUTINES
(PlaceARCHMenu) ;Loaded from ARCH_INITIALIZE
(ARCH:MENU-STARTUP) ;grayout menu controls
(ARCH:RESETVARS) ;Loaded from Custom File standard setvars
(ARCH:RESETENVS) ;Loaded from Custom File standard setenvs
(ARCH:CUSTOMIZED_HKEY-STARTUP) ;Loaded from Custom File HKEY variables
that must be set!
;;(ARCH:F_S-VAR) ;Loaded from ARCH_SUBROUTINES recording setvars to
reset
;;(ARCH:COMMANDS) ;to record commands
;;(ARCH:RECORDS)
(C:MODE) ;modemacro line info
(ARCH:LOAD (strcat ARCH#UTIF "ARCH_SaveVariable.lsp"))
(princ "\n*** ---------- Startup Complete ---------- ***")
(ARCH:endTimer)
(princ)))
(setq S::Startup (append S::Startup ARCH::STARUP))
[/code]
















--
Gary Fowler - Architect
gdfowler@hotmail.com


"James Maeding" wrote in message
news:4842046@discussion.autodesk.com...
To get pulldowns to show, you do not need to merge menus (with the transfer
tab...).
You need to pick a workspace, then the "edit workspace" button on the right
pane.
Then drag and drop pulldowns into the menus section.
Its all about drag and drop in the CUI editor

Gary Fowler
|>Man is this hard to get use to...........
|>
|>--
|>Gary Fowler - Architect
|>gdfowler@hotmail.com
|>
|>
|>"Gary Fowler" wrote in message
|>news:4841999@discussion.autodesk.com...
|>Ok I got it to work.
|>Will explain how I did it later....working on a lsp routine to autonate
it.
|>
|>It was not finding the files.
|>
|>v:/arch/custom_architettura/stru/stru
|>v:/arch/custom_architettura/mech/mech
|>v:/arch/custom_architettura/elec/elec
|>v:/arch/custom_architettura/civl/civl
|>
|>--
|>Ga
|>ry Fowler - Architect
|>gdfowler@hotmail.com
|>
|>
|>"R. Robert Bell" wrote in message
|>news:4841980@discussion.autodesk.com...
|>CUI, CUI! Not shots of the menubar. ;^)

James Maeding
Civil Engineer and Programmer
jmaeding - athunsaker - com
0 Likes
Message 90 of 232

Anonymous
Not applicable
What difference does it make what it is called?

--


Rick Moore
Barnes Gromatzky Kosarek Architects
www.bgkarchitects.com


"R. Robert Bell" wrote in message
news:4842068@discussion.autodesk.com...
In addition to James' comments, you are using Acad.cui as you main .cui
file. Not what I recommend.

--
R. Robert Bell


"Gary Fowler" wrote in message
news:4842020@discussion.autodesk.com...
Man is this hard to get use to...........
0 Likes
Message 91 of 232

Anonymous
Not applicable
Hi Rick.

Read my initial post in this thread for my reasons.

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842084@discussion.autodesk.com...
What difference does it make what it is called?
0 Likes
Message 92 of 232

Anonymous
Not applicable
I did. The enterprise cui is the one you don't want mucked with, and the
main cui will be mucked with by the user. It doesn't matter what they are
called as long as it's not the same name, I use enterprise.cui and acad.cui.
I don't see a need for a partial cui for customization, except for add on
programs like Express tools or Toolpac. Is there something I'm missing?

--


Rick Moore
Barnes Gromatzky Kosarek Architects
www.bgkarchitects.com


"R. Robert Bell" wrote in message
news:4842125@discussion.autodesk.com...
Hi Rick.

Read my initial post in this thread for my reasons.

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842084@discussion.autodesk.com...
What difference does it make what it is called?
0 Likes
Message 93 of 232

Anonymous
Not applicable
If you use Acad.cui as the main cui, you cannot get back to a vanilla
profile. This can be important in some shops. Also, if Acad.cui is partially
loaded in the enterprise cui, it is read-only and the user cannot muck it up
so easily.

The Custom.cui is installed by default for each user, and is empty. So if
they make interface changes it is only going to affect the Custom.cui & not
Acad.cui.

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842165@discussion.autodesk.com...
I did. The enterprise cui is the one you don't want mucked with, and the
main cui will be mucked with by the user. It doesn't matter what they are
called as long as it's not the same name, I use enterprise.cui and acad.cui.
I don't see a need for a partial cui for customization, except for add on
programs like Express tools or Toolpac. Is there something I'm missing?
0 Likes
Message 94 of 232

Anonymous
Not applicable
This is what I have - the enterprise.cui has no partial cui's. Any changes
made to acad.cui do not affect the enterprise.
If for some reason I needed to get back to the default acad.cui I would copy
a clean one out of the
C:\Program Files\AutoCAD 2006\UserDataCache\Support folder.

If you have an enterprise cui and a main cui, I'm wondering why one would
partially load the original acad.cui at all?

--


Rick Moore
Barnes Gromatzky Kosarek Architects
www.bgkarchitects.com


"R. Robert Bell" wrote in message
news:4842144@discussion.autodesk.com...
If you use Acad.cui as the main cui, you cannot get back to a vanilla
profile. This can be important in some shops. Also, if Acad.cui is partially
loaded in the enterprise cui, it is read-only and the user cannot muck it up
so easily.

The Custom.cui is installed by default for each user, and is empty. So if
they make interface changes it is only going to affect the Custom.cui & not
Acad.cui.

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842165@discussion.autodesk.com...
I did. The enterprise cui is the one you don't want mucked with, and the
main cui will be mucked with by the user. It doesn't matter what they are
called as long as it's not the same name, I use enterprise.cui and acad.cui.
I don't see a need for a partial cui for customization, except for add on
programs like Express tools or Toolpac. Is there something I'm missing?
0 Likes
Message 95 of 232

Anonymous
Not applicable
I guess PNG attachments are still on the fritz

--


Rick Moore
Barnes Gromatzky Kosarek Architects
www.bgkarchitects.com
0 Likes
Message 96 of 232

Anonymous
Not applicable
As Robert says, it can be very important in some shops, including ours.
Since users will sometimes share computers, I don't want a user getting on a
computer and finding 3/4ths of the buttons missing from one of the standard
toolbars. I really want the default buttons to be available to all users on
a computer. If a person wants to remove half the buttons from a standard
toolbar, they can create a new personal toolbar that has their desired
buttons and just turn off the standard toolbar.

Using the Custom.cui as the Main allows this to happen.

Douglas Bowers, AIA
Director of CAD Technology
Bloodgood Sharp Buster Architects and Planners
0 Likes
Message 97 of 232

Anonymous
Not applicable
To avoid mucking up the Acad.cui file. I need a profile that does not load
anything but straight, vanilla, and unaltered AutoCAD. If Acad.cui is left
as main, that isn't going to happen.

And the only way to accommodate that particular profile, _while also
supporting the normal environment's profile_, is to make sure Acad.cui is
partial to the enterprise .cui file. Which leaves Custom.cui as a logical
choice for the main .cui file.

My enterprise .cui file does *not* have everything transferred from the
Acad.cui, i.e. I started with a legacy .mns file named MW which used to be
partially loaded in pre-2600.

That way I don't need to worry if I transferred all the stuff from Acad.cui,
or AcETMain.cui, or whatever. Those are simply partially loaded in my MW.cui
file. The only work I need to do to get stuff from those partial .cui files
was to setup a default workspace with the menus and standard toolbars.
Simple as pie.

You can correct me if I'm wrong, but if you've transferred all of Acad.cui
into your enterprise .cui file, what will happen when Acad.cui is updated,
i.e. a new release?

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842196@discussion.autodesk.com...
This is what I have - the enterprise.cui has no partial cui's. Any changes
made to acad.cui do not affect the enterprise.
If for some reason I needed to get back to the default acad.cui I would copy
a clean one out of the
C:\Program Files\AutoCAD 2006\UserDataCache\Support folder.

If you have an enterprise cui and a main cui, I'm wondering why one would
partially load the original acad.cui at all?
0 Likes
Message 98 of 232

Anonymous
Not applicable
And mine
0 Likes
Message 99 of 232

Anonymous
Not applicable
(Wow, this post got on the wrong part of the thread!)

--
R. Robert Bell


"R. Robert Bell" wrote in message
news:4842203@discussion.autodesk.com...
To avoid mucking up the Acad.cui file. I need a profile that does not load
anything but straight, vanilla, and unaltered AutoCAD. If Acad.cui is left
as main, that isn't going to happen...
0 Likes
Message 100 of 232

Anonymous
Not applicable
Interesting stuff, still trying to figure out how I want to handle this.
I was under the impression that anything customized in the main cui would be
migrated into the new one in the next release

--


Rick Moore
Barnes Gromatzky Kosarek Architects
www.bgkarchitects.com


"R. Robert Bell" wrote in message
news:4842203@discussion.autodesk.com...
To avoid mucking up the Acad.cui file. I need a profile that does not load
anything but straight, vanilla, and unaltered AutoCAD. If Acad.cui is left
as main, that isn't going to happen.

And the only way to accommodate that particular profile, _while also
supporting the normal environment's profile_, is to make sure Acad.cui is
partial to the enterprise .cui file. Which leaves Custom.cui as a logical
choice for the main .cui file.

My enterprise .cui file does *not* have everything transferred from the
Acad.cui, i.e. I started with a legacy .mns file named MW which used to be
partially loaded in pre-2600.

That way I don't need to worry if I transferred all the stuff from Acad.cui,
or AcETMain.cui, or whatever. Those are simply partially loaded in my MW.cui
file. The only work I need to do to get stuff from those partial .cui files
was to setup a default workspace with the menus and standard toolbars.
Simple as pie.

You can correct me if I'm wrong, but if you've transferred all of Acad.cui
into your enterprise .cui file, what will happen when Acad.cui is updated,
i.e. a new release?

--
R. Robert Bell


"Rick Moore" wrote in message
news:4842196@discussion.autodesk.com...
This is what I have - the enterprise.cui has no partial cui's. Any changes
made to acad.cui do not affect the enterprise.
If for some reason I needed to get back to the default acad.cui I would copy
a clean one out of the
C:\Program Files\AutoCAD 2006\UserDataCache\Support folder.

If you have an enterprise cui and a main cui, I'm wondering why one would
partially load the original acad.cui at all?
0 Likes