Start BC with custom registry settings

I want make two shortcut for BC, one for default like notebook resolution and one for full HD monitor.

I need change only two things:

1/ (bug)FIX "PROPERTIES show floating 20 100 300 500" - BC very often "forgetting" save/remeber last two value (300 400) and reseting it to 0 0, this causes the properties bar start "minimized" (300 100) and I must allways it resize by hand.

2/ position of command line ("COMMANDLINE show floating 592 555 654 126") - I use bottom right floating position, if I forget it move to "vissible" area in notebook resolution, before unplugging monitor I must change position direct in registry, if I want it see in notebook. Or when I work at notebook and then plug monitor I must move it by hand to right bottom position.


I try use profiles, but... it's unconfortable, if I change antyhing I must change it also in second profile...

 

Is way how change this two registry entry?

Comments

  • I had a line in my on_doc_load.lsp - (SETVAR "EXPLSTBLK" "112,50,150,300"), which used to correct the block explorer when its column widths got jumbled in earlier versions.
    It doesn't happen any more and I just noticed Explstblk seems to have become an unknown variable, so I have just removed it.

    If you can find what the variables are for your two issues, you can have them as stand alone lisps, menu items, in the startup routine, or even in script files.

  • Thanks. I try find it direct SETVAR / Variable name or ? : ? / Variable(s) to list <*>: ... but I don't find it here.

  • try (setenv "key" "val")

  • In command line?

    : setenv
    Unable to recognize command "SETENV". Please try again.

  • You can create,set and get custom environment items though lisp with (SETENV "KEY" "VAL")  (GETENV "KEY")
    using these with  Johns idea of a startup lisp routine, you may be able to achieve your goal, just a thought

  • Juraj,

    Are you including the parenthesis before SETENV?  Without the parenthesis Bricscad tries to run an internal command.  With the parenthesis Bricscad recognizes the line as a lisp command.  Be sure to include the closing parenthesis, too.

     

    To list all the non-hidden system variables from within Bricscad you can type    SETVAR    at the command line [no parentheses], then enter    ?    , then enter    *    . 

    To see what's stored in the registry run regedit then use the find command to look for    ATTREQ   .  On my computer this is a variable that is only used by Autocad and Bricscad.  If you have multiple users set up there will be a set of values for each user. 

     

  • @Martin: I try it, but PROPERTIES is not here. May be it "hidden"system variable?

  • It looks like the methods for storing and changing modeless dialog box size and location have changed over time.  When the size and location were stored in a variable SETENV was the correct way to change the values.  Current versions of Bricscad store this information in the registry.  vla-registry-read and vla-registry-write are the lisp commands to read and write to the registry. 

  • I don't known if I do it right, but I insert line "(vl-registry-write "HKEY_CURRENT_USER\Software\Bricsys\Bricscad\V11\en_US\Profiles\Default\Toolbars" "PROPERTIES" "hide floating 1577 115 300 500")" to "c:\Program Files (x86)\Bricsys\Bricscad V11\Support\on_doc_load.lsp" and it not work.

  • try replacing each  backsdlash with two backslashes.  To read the registry value:

    (vl-registry-read "HKEY_CURRENT_USER\\Software\\Bricsys\\Bricscad\\V11\\en_US\\Profiles\\Default\\Toolbars" "PROPERTIES")

    Writing would be similar. 

     

  • I try (vl-registry-write "HKEY_CURRENT_USER\\Software\\Bricsys\\Bricscad\\V11\\en_US\\Profiles\\Default\\Toolbars" "PROPERTIES" "show floating 1577 115 300 500") but it not work. ;I

    ...but I thinking if is possible use it at moment when starting BricsCAD and load on_doc_load.lsp, because this information about position is already loaded from register...

This discussion has been closed.

Howdy, Stranger!

It looks like you're new here. Click one of the buttons on the top bar to get involved!