Including the drawing of the Line within it, as I interpreted the request:
(defun C:LMC ; = Line with Multiple offset-style Copies
(/ offpt offdist offqua end1 end2 base)
(command "_.line" pause pause "")
(setq
offpt (getpoint "\nPick on side to make Copies: ")
offdist (getdist "\nDistance between Copies: ")
offqua (getint "\nNumber of Copies: ")
end1 (vlax-curve-getStartPoint (entlast))
end2 (vlax-curve-getEndPoint (entlast))
base
(polar
offpt
(angle
offpt
(inters end1 end2 offpt (polar offpt (+ (angle end1 end2) (/ pi 2)) 1) nil)
); angle
offdist
); polar & base
); setq
(repeat offqua
(command "_.copy" (entlast) "" "none" base "_none" offpt)
); repeat
(princ)
); defun
(vl-load-com)
Minimally tested, and it could use the usual enhancements such as Undo begin-end wrapping, and could have others added, such as remembering your spacing and number of copies.
Kent Cooper, AIA