Setting up a uniform/shared customized CAD environment in an office

Hi guys,

I'm the new CAD coordinator for my office and i want your tips, ideas and advices for updating our Settings & Customization shared setup.
The thing is, we have 10+ people drawing using Bricscad and everybody currently has everything installed and setup locally, mostly with default settings, which makes it hard to maintain a uniform CAD environment for everybody.
I'm looking to have uniformity for :

  • CAD libraries
  • Custom menus and tool palettes
  • Some Bricscad variables
    and manage it all with the least possible amount of manual user intervention.

To put you guys in context :

  • The office has been using V13 Bricscad since its launch. (so a lot of new Bricscad features are yet unknown to a lot of people)
  • We are now switching to V21 and it is our chance to re-install everything and start fresh on settings and customization good practices.
  • We do have a local server drive (or shared folder?) which contains all our shared CAD libraries.
  • I do reasonably master AutoLISP coding so i can implement a lot of automations this way. I already had everybody setup their OnDocLoad.lsp to auto load all my lisp routines and functions which are available on our shared folder. I think it could be a good way to update some local files over time using a comparison routine upon drawing opening.

I have a lot to read to master all of this (BricsCAD articles are a great help), but what tips would you give me regarding :

  • Using and updating Partial CUI File
  • User Profile Manager for intial setup
  • Using and updating custom menus and tool palettes for everyone
  • Setting up only some intial Bricscad variables and leave the rest as default and then let the user customize its own environment...
  • What part of Bricscad settings should directly refer to our shared drive folders.
  • What part of the setup should definitely stay copied locally to avoid unintentionnal modification of our default customization element (such as plotstyles)

Thanks a lot!

Comments

  • ALANH
    edited May 2021

    The obvious is remove the menus and custom programs from local to a server, we still run multiple users only 1 Cuix etc and only 1 copy of lisps, the only exception was our field team but hey had two icons one for field one for in office , they ran laptops.

    You can write a lisp to set all the paths trusted locations etc etc. It takes a few minutes and all done.

    I would make a change to a menu the next time the user logged in they had a current version with lisp same thing for Autoload stuff. Pretty easy to shutdown and reopen.

    You can set up on a server all sorts of lock out in particular save can be blocked make the file read only, but you can change as you have read/write rights.

    It took very little time to do a full cad upgrade and the end user had the same as before we added scripts for their desired toolbars, each had a individual one.

    Happy to provide the setup lisp.

  • Hi @ALANH,
    Thanks a lot for sharing.
    Yes i would be interested in your setup lisps. I'm sure i will find great ideas.

  • An Example

    ; resets the paths usefull for update versions of Autocad
    ; by A Houston 2011
    ; This sets a reference to the install path of your product
    ; the gets are their for info maybe other use
    ; use this to find other settings
    ;(vlax-dump-object (vla-get-files (vla-get-preferences (vlax-get-Acad-object))) T)

    (vl-load-com)
    (defun setpaths ( / files doc)
    ; make temp directory
    (if (vl-file-directory-p "C:\Acadtemp\")
    (Princ "Acadtemp exists")
    (vl-mkdir "C:\AcadTEMP\")
    )

    (setq files (vla-get-files (vla-get-preferences (vlax-get-Acad-object))))

    ; savepath
    ;(vla-get-AutoSavepath files)
    (vla-put-AutoSavepath files "C:\AcadTemp")

    ; custom icons
    ;(vla-get-CustomIconPath files))
    (vla-put-CustomIconPath files "L:\Autodesk\ICONS")

    ; custom menu
    ;(vla-get-Menufile files))
    ;(vla-put-Menufile files "C:\Users\2013xxx")

    ; printers config
    ;(vla-get-PrinterConfigPath files)
    (vla-put-PrinterConfigPath files "L:\AutoDESK\Plotting\Plot Styles 2011")

    ; printers style sheet
    ;(vla-get-PrinterStyleSheetPath files)
    (vla-put-PrinterStyleSheetPath files "L:\AutoDESK\Plotting\Plot Styles")

    ; printer drv's
    ;(vla-get-PrinterDescPath files)
    (vla-put-PrinterDescPath files "L:\AutoDESK\Plotting\Drv")

    ; print spooler
    ;(vla-get-PrintSpoolerPath files)
    (vla-put-PrintSpoolerPath files "C:\AcadTemp\")

    ; template path
    ;(vla-get-TemplateDwgPath files)
    (vla-put-TemplateDwgPath files "L:\Autodesk\c3d Templates")

    ; template location
    ;(vla-get-QnewTemplateFile files)
    (vla-put-QnewTemplateFile files "L:\Autodesk\c3d Templates\xxxx-2019.dwt")

    ;make new support paths exist + new
    (setq paths (vla-get-SupportPath files))
    (setq XXXXpaths "L:\autodesk\supportfiles;L:\autodesk\lisp;L:\autodesk\fonts;")
    (setq newpath (strcat XXXXpaths paths))
    (vla-put-SupportPath files newpath)

    ; Tempdirectory
    ;(vla-get-TempFilePath files))
    (vla-put-TempFilePath files "C:\AcadTemp\")

    ; PlotLogFilePath = "C:\Documents and Settings\ah02490.XXXX-AD\localsettings\application data\autodesk\c3d 2011\enu\"
    (vla-put-PlotLogFilePath files "C:\AcadTemp\")

    ; LogFilePath = "C:\Documents and Settings\ah02490.XXXX-AD\localsettings\application data\autodesk\c3d 2011\enu\"
    (vla-put-LogFilePath files "C:\AcadTemp\")

    ; xref temp path
    ;(vla-get-TempXrefPath files))
    (vla-put-TempXrefPath files "C:\AcadTemp\")

    ; end use of files

    (setq oldtrust (getvar 'trustedpaths))
    (setq newtrust (strcat oldtrust ";" "L:\Autodesk..."))
    (setvar 'trustedpaths newtrust)

    (princ "All Done")
    ) ; defun

    (setpaths)

    (alert "Run user script for toolbars")

    ; exit quitely

  • Hi guys,
    Just in case anybody is ever interested, here is what i came up :

    I first realized that the User Profile manager now automatically records all Program settings with a wildcard %USERPROFILE% for any local directory, which eases the use of Profiles to export a custom environnement. All support directories are specified this way, plus multiple other custom Program settings, without the use of any LISP code.

    I then edited the main CUI to customize the menus, ribbon and toolbars as we wanted. The main CUI was then renamed and exported.
    We used partial CUIs for all external customization such as Express toolbars and other 3rd party app.

    All shared Support files are saved on the server.

    All local files that must be copied are all in a single directory which is copied on every C drive and referenced in the Bricscad Support paths through the User Profile.

    All is left to do on every install is :

    • copy the single local folder (also containing the customized main CUI) on the new computer's C drive
    • install Bricscad
    • Launch the Bricscad profile manager app, select the exported customized UserProfile.arg, set current and launch Bricscad.

    Voilà

  • @1LandSurveyor said:
    Launch the Bricscad profile manager app, select the exported customized UserProfile.arg, set current and launch Bricscad.

    You could even avoid this step if you add a shortcut (or modify the existing shortcut) and add /p UserProfile.arg as command line parameter. That will import the profile on first run, or just switch to it if it already exists.

  • Like Owen our laptops have 2 icons a remote and a office icon Just copy desktop icon and right click look under "properties" can change the label as well. Edit the Target. Used with Autocad this way for years.

  • Scott McKenzie
    edited June 2021

    When I was managing a BricsCAD installation at a local office I too built a script which did a couple of things. When loaded and run it checked that the support paths required for blocks, programs, printers etc. were loaded. It then loaded some standard programs / menus and set a few settings like backups, save paths. The installation used was quite simple, the first support file search path added was that of the folder which contained my setup script (saved on the server) on_load.lsp which is a default file loaded each time that BricsCAD is started. Down the line I expanded this file to handle instances such as users swapping computers and allowing them to carry their settings with them (stored profiles on the server in a user's directory and load these based on the user's loginname). The best part was once BricsCAD was installed and this one directory set all I had to do was type (load "on_doc_load") and restart BricsCAD once, all settings were applied, all company programs loaded, the user's profile set, etc. then I went back to my drafting work and left the new user up to their tasks. When I needed to implement a change to the entire office (including people working remotely in the Arctic and connecting via VPN) all I had to do was edit the on_load.lsp file to implement my changes and put a little alert message box in on_doc_load.lsp asking them to restart their session twice ( the first time loads the settings, the second saves the settings to their profile). I used a registry flag to make sure they weren't nagged by a popup message, these two lsp files were saved in the same folder on the server.

  • @Scott McKenzie : thanks for sharing! It seems similar to what @ALANH proposed earlier.
    I could have used LISP as well. I thought of it from the start...
    The thing is, I got impressed by the flexibility and simplicity of using a UserProfile. For a single «massive» deployment, the 2 solutions offer the same level of simplicity and achieve the same results.
    Afterward, i now realize that the LISP solution may although be more reliable on the long run, for futur deployment on newer versions, since my successors may not be able to recycle my earlier version of Bricscad customized UserProfile to a newer version, as opposed to simply re-use and adapt the LISP file.

  • ALANH
    edited July 2021

    I used the lisp method we had 8pc's, would load Autocad, then just run the lisp, I had a script for each user which had their toolbar choices, as they were different. Then would make and set a workspace as user name, this was really handy a few times Autocad crashed big time. So could rebuild quickly, ignoring install time, (about 30 minutes) normally made changes before handing over new box, about ten minutes at most.

    We had extra software as well to load so it took around 1.5 hours to fully build a new pc. IT wanted to do deployment but they never got around to it.