Just keep practicing is the best solution. The answer to align is just that there is a ALIGN command, pick objects, pick 1st point object, pick 1st point for align, repeat for second point, press Enter and it should happen. Read the prompts that come up.
Pretty much, DCL isn't an easy a graphical interface, it works well on a grid but variable things like centre text it struggles with. Have to calculate things.
One thing I did do once was to create an alphabet of vector images and use each vector in an image to create text, which gives the result you want... however this was a lot of work to draw them all out, and untested in BricsCAD - it should work but might not. Also allowed for image buttons - click on the text to do stuff, text and background of every (colour book) colour.
How important is it to get this text centred in AutoCAD and BricsCAD and compared to the work required to make it work is it worth the effort?
The ALIGN command is pretty great, once you start working in 3D, there is also a 3DALIGN command.
You might want to check out MYCADSITE, to help you with all manner of newbie issues,
and a very well designed introductory course for free.
It worked for me 16 years ago when I was self instructing.
Yes normally I would edit in a viewport, but I also edit in modelspace, if you have everything setup, shouldn't be a problem.
Each situation is different, but over the years, for my workload, which varies in disciplines and scope, annotative hasn't worked out well all of the time.
Setting up Sysvars correctly helps.
That code works perfectly.
So, if you have a layer named "Layer_to_be_Renamed"
then the script will change the layer name to "New_Layer_Name".
The question is: what would you like the code to do exactly?
Do you want to type the old layer, then type the new layer?
Here's what you could do: Command LAYREN1
;; type old layer name, then type new layer name
(defun c:layren1 ( / old new )
(layren (setq old (getstring "\nOld layer name: ")) (setq new (getstring "\nNew layer name: ")))
(princ)
)
(defun layren ( old new / enx obj )
(if
(if (and (setq obj (tblobjname "layer" old))
(setq enx (entget obj))
)
(entmod (subst (cons 2 new) (assoc 2 enx) enx))
)
(progn
(princ (strcat
"\nLayer \""
old
"\" got renamed to \""
new
"\""
))
)
)
)
But again, what do you want the code to do? How do you want it to work?
I prefer in most situations to place annotations in paperspace. If annotative scales are needed for some reason, check out SELECTIONANNODISPLAY and set to 0 I believe.
Often I can get in the correct ViewPort by clicking, but if the main one activates instead, use Ctrl+R to cycle through them.
Change viewports with multiple viewports in one layout