This code is more like pseudo code, that is bare bones with no error checking.
Create a DWG with a column drawn in it. Lower left of column is 0,0
Column width is one unit and height is 3 units. I actually drew a column full size
& then scaled it down to one unit wide. Then stretched it to 3 units high.
I named the file COLUMN-01.dwg
This routine will insert the column to your entered dimensions.
You may want to use a different insert point and different beginning size for the
block but the process is still the same.
I'm sure Mark has some more advice for you. And better looking code for sure.
But this may get you started.
(defun c:column (/ col len pt1 wdth y-scale)
;; in this example Block Column-01 has a width of one unit and
;; a height of 3 units
;; uncomment the next line & delete the override
;(setq COL (getstring "\nEnter style of column to be used: "))
(setq col "COLUMN-01") ; override for testing
(setq wdth (getdist "\n\nEnter width of column in inches: "))
(setq pt1 (getpoint "\nPick Bottom Left of Column : "))
(setq len (getdist pt1 "\nPick or Enter Length of Column : "))
;; calc y scale based on block is 3 units high
(setq y-scale (/ len 3.0))
(command "-INSERT" col pt1 wdth y-scale 0.0)
(princ)
)
PS if you want to pick the top of column first, you can calc the bottom insert point or
just draw you block column dwg with the upper left at 0,0