How do I PERMANENTLY AND FOREVER turn off the View Cube and Navigation bar? They keep popping up even though I've turned them both off every which way I can.
My first setting would be to go to Workspace Settings and set to Automatically Save Workspace Changes. Then type in NAVVCUBE and turn it off. Then NAVBAR and turn off. I have found to turn it off from the command line helps in retaining it turned off.
If there are ever any system variables that I prefer to have on way or another and they seem to keep changing I add them to my acaddoc.lsp file. This way, anytime I open a drawing, if it brings with it any non-preferred settings, or if they change for whatever other reason, the acaddoc.lsp file takes care of it for me. If they still come back on after that, then you have a custom program somewhere turning them back on.
I'm subscribing in case anyone figures it out.
I've tried everything, and as far as I can tell it's not possible to permanently disable the Navbar (never tried the Navcube as I use it) What "triggers" it for me is changing workspaces even though I've systematically went through every workspace and every profile thoroughly forward and backward to make sure the NAVBAR is turned off and the settings saved in every possible configuration. Sometimes it stays off for a few days, sometimes it will come back within the same session. I've also got it in my acaddoc lisp, but that only makes sure it's off on startup.
nestly2,
Have you tried adding a system variable reactor that looks for changes in the navbar variable and if changed puts them back to what you want?
I have no experience with reactors. I'm willing to give it a try, but I also think when you turn the darn thing off... it should just stay off LOL
In response to the above two comments add the following to your favorite acaddoc.lsp (or whatever else you run in each document).
(or pmr:SysVar
(progn
(setq pmr:SysVar (vlr-sysvar-reactor nil '((:vlr-sysVarChanged . pmr:SysVarReactor))))
(vlr-add pmr:SysVar)
)
)
(defun pmr:SysVarReactor (reactorObject lst / ac doc )
(if (= (strcase (car lst)) "NAVBARDISPLAY")
(if (= (getvar "navbardisplay") 1)
(progn
(setq ac (vlax-get-acad-object))
(setq doc (vla-get-activedocument ac))
(vla-sendcommand doc "navbardisplay 0 ")
)
)
)
(princ)
)
I had to use the vla-sendcommand as AutoCAD didn't like using the setvar or command (as I think the system variable isn't truely changed until the reactor is over). As a side note, now I can't get my navbar back 😉 .
Thanks for the code, unfortunately it still doesn't keep the navbar off
In the demo below, Each time I open AutoCAD it opens with the navbar closed, but whenever I switch profiles, the navbar turns itself on. After manually closing it once, it will remain off no matter how many times I switch profiles within the session, but as soon as I close/reopen AutoCAD, switching profiles will turn it back on. Similar behavior switching workspaces.
When you initially switch profiles inside AutoCAD, check for the active workspace. AutoCAD will look to restore the last-saved workspace name, but if its not available its likely working in a default, unsaved/non-loaded workspace - hence the navbar being turned on. If you then switch back to the previous workspace, its still looking for that last workspace name which is now valid, and being restored the navbar setting is per that workspace.
As far as I can tell, AutoCAD doesn't seem to have any trouble remembering which workspace should be active for the profile, even on first profile switch. I kinda get what you're saying, but that doesn't seem to be the problem... or at least I don't know what to do differently to fix it.
Try the following code. I added changes to the workspace and profile variables to the reactor. The profile doesn't seem to trigger anythign as it is one of those read-only variables that changes silently, but the workspace does work. If the profile changes the workspace it catches it and turns the navbar back off. I tried it a few times and it seems like it might be closer to working for you. Let me know what else triggers it and we'll see what we can do.
(or pmr:SysVar (progn (setq pmr:SysVar (vlr-sysvar-reactor nil '((:vlr-sysVarChanged . pmr:SysVarReactor)))) (vlr-add pmr:SysVar) ) ) (defun pmr:SysVarReactor (reactorObject lst / ac doc ) (if (or (= (strcase (car lst)) "NAVBARDISPLAY") (= (strcase (car lst)) "WSCURRENT") (= (strcase (car lst)) "CPROFILE")) (if (= (getvar "navbardisplay") 1) (progn (setq ac (vlax-get-acad-object)) (setq doc (vla-get-activedocument ac)) (vla-sendcommand doc "navbardisplay 0 ") ) ) ) (princ) )
Same as before, Switching profiles turns on the navbar on the first profile change.... UNLESS I manually change workspaces prior to switching profiles. Maybe adding a workspace switch to the AutoCAD shortcut would do the trick?
Well, it appears dgorsman had it right. Adding a workspace switch to the startup shortcut prevents the Navbar from turning itself on (even without the reactor loaded) I don't really prefer to have a designated workspace, rather I'd rather always have AutoCAD startup in the same profile/workspace that was active on last shutdown, so guess I'll have to decide which poison I prefer. 😉
Have you tried a script?
This is the script I use to turn some features off. However, there is a bug that causes the navbar to appear randomly, but no one has said much about it.
MENUCTL 0
DTEXTED 1
SELECTIONAREA 0
VTENABLE 0
SELECTIONPREVIEW 0
SELECTIONCYCLING 0
VPCONTROL OFF
NAVVCUBEDISPLAY 0
NAVBARDISPLAY 0
ROLLOVERTIPS 0
I've never had a problem after I figured out that the variable NAVVCUBEDISPLAY is stored in the drawing file itself, and it can only be used in model space. So, I just put this into my ACADDOC.lsp:
(if(= (getvar "CTAB") "Model") (setvar "NAVVCUBEDISPLAY" 1))
Granted, this only works if you open drawings that were saved in model space last, but that is how our files are generally stored here - so this works for me. Otherwise, you would need a reactor based autolisp function like those kindly offered by dgorsman and p_mcknight.
Hmmm, if I ever get irritated with my setup again I might have to try one of these- thanks guys!
Go to Options. Select the 3D Modeling tab. Uncheck both boxes in the area of Display the ViewCube in the Display Tools in Viewport Box.
Can't find what you're looking for? Ask the community or share your knowledge.