One of the things that might initially baffle a CAD Manager or power user when investigating switching from AutoCAD to BricsCAD is how to set up the startup routines. Head over to CAD Panacea for R.K. McSwain’s concise, handy description of how to do it.
Due to BricsCAD’s high level of compatibility, you can maintain a common folder or set of folders containing LISP and other custom files for both applications. That way, you don’t need to do double maintenance during the transition period. I’ve done this successfully in a highly complex custom environment. Some code and other adjustments were required in places, but all but a handful of my hundreds of AutoCAD LISP files worked as-is in BricsCAD with zero effort.
Having added your AutoCAD custom folder(s) to BricsCAD’s search path, I suggest you make a common startup LISP file (e.g. rename your old acaddoc.lsp to something like CADStartupDoc.lsp) and have tiny stub startup LISP files for each application (acaddoc.lsp and on_doc_load.lsp) that each loads the common startup file.
You can add error checking and messaging if you like, but if you have control of your environment you probably won’t even need that. If you find you do need any application-specific code, you can just add it or load it from the acaddoc.lsp or on_doc_load.lsp stubs as appropriate.
Be sure to also add a blank acad.lsp for acad and On_start_default.lsp for bcad that do nothing. So acaddoc,lsp and On_doc_load_default.lsp load with each drawing, and you may wonder how to then have code that just loads once per session which is what acad.lsp would normally do. The answer is to have a section of code in the acaddoc.lsp which only runs if a session wide global variable is nil. After that, its skipped. So you would have:
(IF (NOT STARTUP-HAS-RUN)
(princ "\nRunning Initial Startup...")
; do session startup stuff here
(SETQ STARTUP-HAS-RUN 1)
then you only have to maintain one startup file, not an acaddoc.lsp and acad.lsp.
You should always have the acad.lsp there though, as you don’t want acad finding a bad acad.lsp some other place.
With ACADLSPASDOC=0, the acad.lsp and on_start_default.lsp + on_start.lsp are loaded only once, at CAD startup, for the initial drawing, while acaddoc.lsp and on_doc_load_default.lsp + on_doc_load.lsp load unconditionally with each drawing.
Thanks for telling how set up startup routines. It really helped me lot. I follow your blogs. Keep posting such blogs.