Full-screen Shortcut for AutoCAD

I wanted a full-screen shortcut like Internet Exploder, Firefox and other web browsers, just for having a good look at a drawing on the whole screen with no distractions.

The Cleanscreen command is a good start but it didn’t go far enough for me, so I hacked it and added a few things to it. Now my full-screen has only the Top window bar with the quick-access menu and nothing else. Just this …

AutoCAD - Quick Acces toolbar only

… the thin edge of the window itself and wall-to wall CAD.

  • F11 –> Absolutely everything disappears. Full-on full screen
  • F11 again –> all the toolbars, status bar, menus come back to their rightful place

How?

AutoCAD-CUI-Macro windowOpen the CUI Editor and follow the instructions in AutoCAD’s help system – F1 –> search for “To create or modify a shortcut key”. Their well-illustrated explanation saves me cobbling one together. The only thing I’ll add to their instructions is that you can narrow your search of commands by typing any (that’s cool) part of the command’s name in the search box in the Command List section of the CUI window (bottom-left).

I dragged the “Clean Window” command onto the Shortcut Keys node. This is the command I started with before I broke perfected it. Click on the Macro line of the command section on the right in the CUI window (highlighted in red), then click on the […] box that appears on the right (trust me, it appears).

… then paste this code in the Long String Editor (actually, read to the end of this post because there is a better version below. I left this here for history’s sake)

$M=$(if,$(and,$(getvar,CleanScreenState),1),^C^C_CleanScreenOFF _commandline _MenuBar 1 statusbar 1,^C^C_CleanScreenON _commandlinehide _MenuBar 0 statusbar 0)

It is important to note that the spaces in the command list are significant so make sure you select all of it at once. The spaces (and commas, as it turns out) are the same as pressing the enter-key to execute the command. The observant amongst you will notice there are a few more characters in the screenshot. My original code needed a bit of a tidy-up.

If you haven’t already, assign a key to the shortcut, as per Help’s instructions. I used F11. Why? It is the same shortcut for most Internet browsers to go full-screen. For once, I’d like AutoCAD’s User eXperience to match something from the real world. Don’t get me started on that. Find. Replace. 3 Tab stops. Why?

That’s the practical part, done.

How it Works

For those of you who love to know how it works, here it is in its 3 parts. It is a Diesel (see AutoCAD –> F1) Macro. Notice that there are 3x commas in the if command which wraps the macro. The format of this macro is basically [Test], [Do if True], [Do if False]. Here is the same macro on 3 lines

$M=$(if,$(and,$(getvar,CleanScreenState),1),

^C^C_CleanScreenOFF _commandline _MenuBar 1 statusbar 1,

^C^C_CleanScreenON _commandlinehide _MenuBar 0 statusbar 0)

Working through the macro, this is what it does

  • the first part checks to see whether you’re in Cleanscreen mode or not.
  • the rest of the macro is in two halves, Cleanscreen on, Cleanscreen off
  • wherever you see ^C^C_ that means Ctrl-C, twice. This exits any lingering previous commands. My original code had a few superfluous Ctrl-C’s.
  • CleanScreenOFF returns the menus etc. that the CleanScreenON command in the 2nd half of the macro hides
  • commandline restores the command line which is hidden by commandlinehide
  • MenuBar 1 and MenuBar 0 restore / hides the file-menu bar at the top for old farts like me who have grown attached to it.
  • statusbar 1 and statusbar 0 show and hide the status bar which is right at the bottom of the AutoCAD window.
  • as yet I haven’t figured out how to show and hide the Model / Paper Space tabs.

Remove any of the above combinations if they don’t suit you. Don’t forget the ^C^C_ at the start and the trailing space. Feel free to add anything to the macro and also please add it here to the comments.

**Update** I figured out how to show & hide the Model / Paper Space tabs.

AutoCAD Model & Layout Tabs

Add the code below to the bottom of your acadXXXXdoc.lsp (XXXX is the version of AutoCAD you are using). I found it in C: – Program Files – Autodesk – AutoCAD 2011 – Support**Update**  My bad – you are not meant to modify these files. Find (or if it doesn’t exist, create) a file called acaddoc.lsp. See the link in the previous sentence for where to create this, depending on how specific you want it to be. By default AutoCAD will walk the support paths list looking for it. Basically, just put it somewhere in your support path, perhaps in the same place as the one you’re not meant to modify.

The following LISP code sets up the commands to show and hide the Model / Paper Space tabs. You can actually use the commands anytime you want. Use Notepad or a similar plain text editor. DO NOT USE WORD !! Make a backup first, just in case. Watch out you don’t miss any brackets – they are annoyingly important)

(DEFUN C:MLTABSON ()
(setenv "ShowTabs" "1") () (PRINC)
)
(DEFUN C:MLTABSOff ()
(setenv "ShowTabs" "0") () (PRINC)
)

Before these lines at the end of the acaddoc.lsp file (or add them if they don’t exist):

;(princ "loaded.")
;; Silent load.
(princ)

The new macro to paste in the Long String Editor is:

$M=$(if,$(and,$(getvar,CleanScreenState),1),^C^C_CleanScreenOFF _commandline _MenuBar 1 statusbar 1 MLTABSON,^C^C_CleanScreenON _commandlinehide _MenuBar 0 statusbar 0 MLTABSOFF)

Here’s a tip conveniently placed at the end to see who dived in and who read the whole post before tinkering … Open a text editor and copy-paste your macro code at various crucial stages. This will give you an easy way to go back if you miss a space, comma or just generally mess it up.

Advertisements

One Version of the Truth

One truth amongst many representations of the same truth

One truth amongst many representations of the same truthThere should only ever be One Version of the Truth in any documentation system,in anything that involves the management of data, especially where the data is timely and subject to change. This I decree to be CADmandment Number One. To continue the Biblical reference, shunning this is the the root of all documentation evil. Most problems you will have with a data or documentation system can eventually be traced back to this root cause. ok, that’s enough of the Biblical references.

Ignoring this CADmandment will slowly and inevitably break your Documentation System.

As a system gets more complex (have you ever known one to get simpler?) a disconcerting number of the changes you make will inevitably have loose-ends,  inconsistencies, duplicates, orphans and WTF-was-I-thinking moments. The gap between what is documented and what is actually there will inevitably widen, as will the cracks in your documentation system. Documentation Systems crack and break at the joins. As an aside, remember – anything new also counts as a change.

I use the word inevitable here a lot. Initially it was an unconscious decision. I think it was a good one so I’m sticking with it. It is the natural order for things to flow along the path of least resistance. This is true for water and electricity and it is true for people also. One Version of the Truth is all about laying the foundation to make success inevitable, not failure. If you make it harder to succeed than fail then fail, you inevitably will. The system should be your servant – not the other way around. It is of your making. More on that another day. Oh, if you don’t have a documentation system – make one. Now.

What is One Version of The Truth ?

Do not store any information more than once.

Ever.

What – you want more? ok but this is gunna be a long one. I promise that my future rants will be (mostly) more concise but this is The Big One. There is a fair bit of industry-specific jargon here which I will soon (I hope) write a glossary for. If the magic has happened (ie. I wrote them) then the jargonese should link to a explanation of said jargon. One day. I promise. Rightyo, this is what it all boils down to…

There should only be one root-source,

one fountain of knowledge.

You may certainly derive a report from The Truth at any time but never treat this report as you would the original Truth. That report is an out-of-date and disconnected snapshot of The Truth from the moment it is generated. Spreadsheets, Cable Schedules etc are (usually) reports generated from the source of the truth – the schematic drawings. The reports should be clearly identified as such. They should be consciously labelled with the exact time they were generated so nobody ever forgets that this report was, at best, a snapshot of the truth. If you are looking for the truth for now then you must either regenerate this report or look elsewhere (in the racks, for instance, where the Real Truth lies). If the message that “This Is A Report From This Time” is explicit then it removes an inevitable gaping opportunity for misunderstanding.

Have you have ever wondered why a lot of wiremen prefer to work from schematics rather than cable schedules? It is because they implicitly know how the process (usually) works – the schematic gets updated then, later, the cable schedule (sometimes, eventually…) gets updated. They also know that if the cable schedule is generated manually (by a human scanning drawings) then it will inevitably contain tragic and expensive mistakes. It just does. They know this because they have seen it countless times.

This is of, course, not true if the cable schedule is indeed the oracle, the owner of the information. Then any drawings you have are simply reports of the cable schedule. That said, those drawings should be overviews only, deferring the details to the cable schedule which is the rightful owner of the nitty-gritty information.

Again – all reports should be clearly labelled as such so they are not assumed to be the original source. Sooner or later some poor Innocent will update them and then disaster will ensue. Suddenly the drawings and the cable schedules say different things and nobody knows which one is right or wrong. Odds are they are both wrong in the own peculiar ways.

Many things we do every day break the First CADmandment. Offsheet drawing references (manually adding a pointer from one drawing to the next) break this rule really, really badly. They never get updated. Manually cross-referenced room and rack layouts versus their respective schematics (also often versus the cable schedule) is probably the second-most prominent example of this. Stop and have a think about it – I bet you can name a scary number of everyday things you / we  I do that violate this rule. When you think of them, please add them to the comments below.

By making one place only the source of the truth you can easily find the real truth, and the source for the real truth – there should only be one place where you know you need to look to find the truth. Then, and only then, can you change the truth and be sure it will be, indisputably, the new truth.

Should we stop breaking the First CADmandment right now ?

My short answer is … YES! … eventually but you won’t be able to stop suddenly. Rome didn’t burn in a day. You / We / I will need to evolve our behaviour and practices – indeed our Documentation Systems – towards a model that reduces, if not eliminates, violations of CADmandment Number One, The One Version of The Truth. Strive for it. It is a difficult goal but it is, as far as a Documentation System goes, the most important goal. It is also probably one of the hardest goals. Oh, yay!

This is CADmandment Number One for a bloody good reason. Ignore it at your peril. If you choose to dismiss this CADmandment then you may as well dismiss the rest of my rants on this site. Seriously. This is the one problem that will cost you more time, heartache, swearing, tantrums (oh, that’s just me?) via inconsistencies, conflicts and mistakes, than anything else I have discovered so far. These stuff-ups always happen at the worst possible time. Oh, yes, You Know It.

Oh, and while I’m at it – forget about updating any information in reports – you’re shuffling deckchairs on the Titanic – today. That report is literally history. Generate a new report from the real information – the Truth.

Yes, I know this Article sounds pretty bullish and know-it-all. Take it from me – I don’t know it all. I will endeavour to not make it a habit but I make no apologies for this here and now. This CADmandment Number one is really important.  As an aside, a special thank-you to Catherine Eibner for introducing me to this concept. She knows stuff – lots of stuff.

So, do you agree, disagree or did I just confuse you? Please let me know your thoughts via a comment below.

More Reading:

http://en.wikipedia.org/wiki/Don%27t_Repeat_Yourself

http://en.wikipedia.org/wiki/Single_Source_of_Truth

http://www.computerworld.com/s/article/88349/Business_Intelligence_One_Version_of_the_Truth?taxonomyId=009

What would You like me to write about ?

Halp !

ok Folks, we’re in this together. What would you like me to address on this blog of ours? I’m looking for your feedback.

  • Did I miss anything ?
  • Got any burning questions?
  • Did I mention a CADcept I haven’t yet defined ?
  • Am I not making sense at all? Actually, please comment on the post that doesn’t make sense so we can keep those thoughts focused.

Please add a comment below with your suggestions and I will follow them up. All of them. Especially yours.

Do you want a discussion forum on this site?

Please leave a comment here or send me a message on my contact page if you would like me to start a discussion forum here on all things Broadcast Systems Design and Documentation.

If I set up a forum you would need to register or use OpenID (which is a much better idea) to post on it. If you don’t know what OpenID is, follow the link – it is a great innovation.

If I get a few starters I’ll set one up.