TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: kruuger on May 08, 2015, 05:39:41 AM

Title: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 05:39:41 AM
hello
how many of you are piss...angry because of annoying icons on status bar at autocad 15/16.

is someone interesting to wrote a small dialog with buttons or images to switch status ? image attached.
not sure how many can be replicate but neeeeed to try. new interface was totally broken with stupid "improvements".

kruuger
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 07:08:00 AM
regular buttons and dcl.
k.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: huiz on May 08, 2015, 09:57:34 AM
Maybe it is possible to create a CUIx?

A dialog can be always on top but if you switch to Word or another application the dialog is still visible.

Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: dgorsman on May 08, 2015, 10:03:25 AM
Meh.  I've  got much more difficult things to deal with than pictures vs. text.  Gotta be flexible, no telling what the software is going to look like in a couple of years or which other software will be required to use.

Make a CUIx with command definitions.  Then you can dump those to toolbar, menu, or my first preference - a Ribbon panel.  Tear off the panel and use it as a super-toolbar.  Problem solved, on to the next.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 10:06:29 AM
Maybe it is possible to create a CUIx?

A dialog can be always on top but if you switch to Word or another application the dialog is still visible.
not sure what do you mean ? in cuix we create toolbar with icons. that's not what i want.
dialog will be always closed. with simple shortcut we open DCL, set buttons as require and close dialog.
OpenDcl can deal with dock pallete.
kruuger
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 10:08:23 AM
Meh.  I've  got much more difficult things to deal with than pictures vs. text.  Gotta be flexible, no telling what the software is going to look like in a couple of years or which other software will be required to use.

Make a CUIx with command definitions.  Then you can dump those to toolbar, menu, or my first preference - a Ribbon panel.  Tear off the panel and use it as a super-toolbar.  Problem solved, on to the next.
ribbon is crap, not efficient for me.
how you can indicate let say ortho status on toolbar ? it is again icon.
k.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: dgorsman on May 08, 2015, 10:09:54 AM
ribbon is crap

Respectfully disagree.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ChrisCarlson on May 08, 2015, 10:11:28 AM
You can refresh the toolbar images but the toolbar is effectively being killed off after AutoCAD started shipping with toolbar - "0" system variable along with the menubar - "0" system variable. I love the ribbon, the contextual aspect of it has been exponentially beneficial.

Whats the issue with the status bar?
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 10:15:53 AM
Whats the issue with the status bar?
http://forums.autodesk.com/t5/autocad-2013-2014-2015-2016/autocad-2015-status-bar-icons/td-p/4920488
k.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ChrisCarlson on May 08, 2015, 10:51:51 AM
A tool bar or DCL wouldn't be a proper fix as toolbars can only be docked to the 4 borders of the drawing window.

A good fix would be to learn the keyboard shortcuts of each status bar button and set statusbar variable to 0
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 08, 2015, 12:00:58 PM
You could use a keyboard overlay (http://www.amazon.com/4Keyboard-Autodesk_Autocad_sticker_keyboard-AUTODESK-AUTOCAD-KEYBOARD/dp/B001DXC4UC) with the text variants.  :-D
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 06:55:20 PM
 
A good fix would be to learn the keyboard shortcuts of each status bar button and set statusbar variable to 0
i know most of them. I prefer keyb shortcuts.
I don't want to use this to switch them but rather to visually check (with quick glance) if all of them are with correct state when autocad going crazy.
k.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 08, 2015, 06:56:45 PM
You could use a keyboard overlay (http://www.amazon.com/4Keyboard-Autodesk_Autocad_sticker_keyboard-AUTODESK-AUTOCAD-KEYBOARD/dp/B001DXC4UC) with the text variants.  :-D
It will holds on monitor over the icons??  :-D
k.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 08, 2015, 07:11:51 PM
An alternative solution:

Code: [Select]
(setvar 'modemacro "$(if,$(=,$(getvar,gridmode),1),\"GRID | \",\"\")$(if,$(<,$(getvar,osmode),16384),\"OSNAP | \",\"\")$(if,$(=,$(getvar,orthomode),1),\"ORTHO | \",\"\")")
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: hmspe on May 08, 2015, 07:45:11 PM
You could look at AcadStatButton.zip in the freebies section at manusoft.com.  Not sure if it works with the latest Autocad but I used it successfully with Autocad before I switched to Bricscad a few years ago. 
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 09, 2015, 02:52:25 PM
Another solution, if you have Express Tools:

Code - Auto/Visual Lisp: [Select]
  1. (defun status-text-callback ( rtr arg / str )
  2.     (if
  3.         (member (strcase (car arg) t)
  4.            '(
  5.                 "constraintinfer"
  6.                 "snapmode"
  7.                 "gridmode"
  8.                 "orthomode"
  9.                 "autosnap"
  10.                 "osmode"
  11.                 "3dosmode"
  12.                 "ucsdetect"
  13.                 "dynmode"
  14.                 "lwdisplay"
  15.                 "transparencydisplay"
  16.                 "qpmode"
  17.                 "selectioncycling"
  18.                 "annomonitor"
  19.             )
  20.         )
  21.         (if
  22.             (= ""
  23.                 (setq str
  24.                     (vl-string-trim " "
  25.                         (apply 'strcat
  26.                             (mapcar '(lambda ( x ) (apply '(lambda ( a b c ) (if (and b (a b)) c "")) x))
  27.                                 (list
  28.                                     (list (lambda ( x ) (= 01 x))                (getvar 'constraintinfer)    " [INFER] ")
  29.                                     (list (lambda ( x ) (= 01 x))                (getvar 'snapmode)            " [SNAP] ")
  30.                                     (list (lambda ( x ) (= 01 x))                (getvar 'gridmode)            " [GRID] ")
  31.                                     (list (lambda ( x ) (= 01 x))                (getvar 'orthomode)          " [ORTHO] ")
  32.                                     (list (lambda ( x ) (= 08 (logand 00008 x))) (getvar 'autosnap)           " [POLAR] ")
  33.                                     (list (lambda ( x ) (= 00 (logand 16384 x))) (getvar 'osmode)             " [OSNAP] ")
  34.                                     (list (lambda ( x ) (= 00 (logand 00001 x))) (getvar '3dosmode)         " [3DOSNAP] ")
  35.                                     (list (lambda ( x ) (= 16 (logand 00016 x))) (getvar 'autosnap)          " [OTRACK] ")
  36.                                     (list (lambda ( x ) (= 01 x))                (getvar 'ucsdetect)           " [DUCS] ")
  37.                                     (list (lambda ( x ) (< 00 x))                (getvar 'dynmode)              " [DYN] ")
  38.                                     (list (lambda ( x ) (= 01 x))                (getvar 'lwdisplay)            " [LWT] ")
  39.                                     (list (lambda ( x ) (= 01 x))                (getvar 'transparencydisplay)  " [TPY] ")
  40.                                     (list (lambda ( x ) (< 00 x))                (getvar 'qpmode)                " [QP] ")
  41.                                     (list (lambda ( x ) (< 00 x))                (getvar 'selectioncycling)      " [SC] ")
  42.                                     (list (lambda ( x ) (< 00 x))                (getvar 'annomonitor)           " [AM] ")
  43.                                 )
  44.                             )
  45.                         )
  46.                     )
  47.                 )
  48.             )
  49.             (acet-ui-status)
  50.             (acet-ui-status str "Text Status Bar")
  51.         )
  52.     )
  53.     (princ)
  54. )
  55. (
  56.     (lambda nil
  57.         (vl-load-com)
  58.             (if (= "status-text-reactor" (vlr-data obj))
  59.                 (vlr-remove obj)
  60.             )
  61.         )
  62.         (setq status-text-reactor
  63.             (vlr-sysvar-reactor "status-text-reactor"
  64.                '(
  65.                     (:vlr-sysvarchanged . status-text-callback)
  66.                 )
  67.             )
  68.         )
  69.         (status-text-callback nil '("osmode"))
  70.     )
  71. )
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 09, 2015, 03:56:06 PM
An alternative solution:

Code: [Select]
(setvar 'modemacro "$(if,$(=,$(getvar,gridmode),1),\"GRID | \",\"\")$(if,$(<,$(getvar,osmode),16384),\"OSNAP | \",\"\")$(if,$(=,$(getvar,orthomode),1),\"ORTHO | \",\"\")")
nice but already got some info there. also modemacro was affected but stupid status bar changes.
not sure if you was able to try 2015/2016 but when switching between model and paper macro line flickering  left/right/left/right back and forth. it is really annoying.

Another solution, if you have Express Tools:
:)  well done. will play with your version, finish my button variant and see which one is more comfortable.

thanks
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 09, 2015, 06:04:51 PM
An alternative solution:
Code: [Select]
(setvar 'modemacro "$(if,$(=,$(getvar,gridmode),1),\"GRID | \",\"\")$(if,$(<,$(getvar,osmode),16384),\"OSNAP | \",\"\")$(if,$(=,$(getvar,orthomode),1),\"ORTHO | \",\"\")")
nice but already got some info there. also modemacro was affected but stupid status bar changes.
not sure if you was able to try 2015/2016 but when switching between model and paper macro line flickering  left/right/left/right back and forth. it is really annoying.

I agree, this solution was not ideal - I was mainly trying to offer something different  :-)

Another solution, if you have Express Tools:
:)  well done. will play with your version, finish my button variant and see which one is more comfortable.

thanks

Thanks kruuger  :-)

Presumably your solution is modal since you are using DCL?

Or are you using OpenDCL to display the buttons using a modeless dialog?
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 09, 2015, 06:33:42 PM
Presumably your solution is modal since you are using DCL?

Or are you using OpenDCL to display the buttons using a modeless dialog?
now dcl. little rusty in opendcl. will see how it works.
thanks for last code. it is big help.
kruuger
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: trogg on May 09, 2015, 10:47:33 PM
Another solution, if you have Express Tools:

Lee,
By accident, after loading in your lisp (which is cool BTW) I did a left click hold and drag "Lasso" selection and it triggers this LISP to pop up. What is making it do that?

Is there a system variable that changes while a lasso selection happens?

Thanks
~Greg
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 10, 2015, 06:12:35 AM
Presumably your solution is modal since you are using DCL?

Or are you using OpenDCL to display the buttons using a modeless dialog?
now dcl. little rusty in opendcl. will see how it works.
thanks for last code. it is big help.
kruuger

You're most welcome kruuger  :-)

Another solution, if you have Express Tools:
By accident, after loading in your lisp (which is cool BTW) I did a left click hold and drag "Lasso" selection and it triggers this LISP to pop up. What is making it do that?

Is there a system variable that changes while a lasso selection happens?

I can't seem to replicate this behaviour: with all of the monitored system variables disabled (and hence the dialog not displayed), the dialog does not then appear when a Lasso selection is invoked; similarly, with one or more system variables enabled but with the dialog closed manually, the dialog does not then re-appear when a Lasso selection is used in my testing.

You can monitor which system variable is changing by adding (princ arg) on a new line between lines 52 & 53.

Aside, note that since acet-ui-status displays a modeless dialog, the dialog may remain open continuously during the drawing session.

I'm glad you like the code Greg  :-)
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 10, 2015, 07:25:34 AM
Attached is another possible solution  :-)
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 11, 2015, 07:28:02 AM
You could look at AcadStatButton.zip in the freebies section at manusoft.com.  Not sure if it works with the latest Autocad but I used it successfully with Autocad before I switched to Bricscad a few years ago.
thanks hmspe. i'm not familiar with C++ but i will look at this.
kruuger
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: kruuger on May 11, 2015, 07:42:11 AM
Attached is another possible solution  :)
i kneew it, there will be dynamic draw version :)
really nice !!!
kruuger





Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 11, 2015, 07:53:47 AM
Attached is another possible solution  :)
i kneew it, there will be dynamic draw version :)
really nice !!!
kruuger

I thought you in particular might like it  :wink:

Thanks kruuger :-)
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ChrisCarlson on May 11, 2015, 10:51:10 AM
Code - Auto/Visual Lisp: [Select]
  1. (:vlr-sysvarchanged . status-text-callback)

Set's it to run anytime a sysvar is changed, do you know why pan/zoom via mouse (which changes the viewsize sysvar if done through cmd line) does not trigger any known reactors?
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: Lee Mac on May 11, 2015, 12:03:03 PM
Code - Auto/Visual Lisp: [Select]
  1. (:vlr-sysvarchanged . status-text-callback)

Set's it to run anytime a sysvar is changed, do you know why pan/zoom via mouse (which changes the viewsize sysvar if done through cmd line) does not trigger any known reactors?

Indeed - the :vlr-sysvarchanged event is triggered for most but not every system variable - this is unfortunately how it was implemented.
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ribarm on May 11, 2015, 02:06:38 PM
Yes Lee is right, this might be of interest...

http://www.theswamp.org/index.php?topic=49063.0

http://www.theswamp.org/index.php?topic=49065.0

Unfortunately, recently I wanted to acquire DI command with transparent REGEN and I didn't find solution yet...
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ribarm on May 12, 2015, 12:16:04 AM
Ha, it seems that I've found solution that is general for transparent REGEN... It's this : when you reach maximum zoom level or pan level, you just enter 3DORBIT transparently like this _'3DO, and after that you just hit ENTER... REGEN command will be initiated and you can continue to pan or zoom... Good trick...

HTH, M.R.
 :lol:
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ChrisCarlson on May 12, 2015, 07:18:37 AM
Not entirely, as the :vlr-command* will fire on "_'3DO" not the change in viewctr
Title: Re: Replicate status bar TEXT not icons - autocad 2015/2016
Post by: ribarm on May 12, 2015, 08:01:56 AM
I was talking for working with any command... For example, you start LINE command, input start point and then you want to finish line, but you panned or zoomed and ending point you want to reach is still outside of visible screen... Maximum or minimum zoom level is reached or limits of panning... And what do you do : type _'3DO and hit ENTER... REGEN was triggered and you can continue to pan or zoom while LINE command is still active... You can now reach your desired end point destination and complete LINE command without any problems... I've also noticed that actually if you enter 3D visual style before you issue command and then start it, you can zoom or pan continuously while command active, you don't even need to enter transparent _'3DO, you can work as you wish as much as you want... So you actually don't need REGEN reactor or similar function in memory of CAD... This should be working with any built-in command only thing is that when you have DWG full with various 3D and 2D entities CAD will slow down, so you may experience some problems while working...