Found in my old library
(defun C:DCP(/ *error* ang ccl clr clt dist step istep dym dyp i n-divide next-divide-pt osm pag pal pmd pt1 pt2 ss stp)
(defun *error* (msg) ; create standard error handler
(command "._undo" "_end")
(command)
(cond ((not msg)) ; normal exit, no error
((member msg '("Function cancelled" "quit / exit abort"))) ; escape
((princ (strcat "\nError: " msg)) ; display fatal error
(cond (*debug* (vl-bt))))) ; if in debug mode, dump backtrace
(setvar 'cmdecho 1) ; restore environments
(if osm
(setvar 'osmode osm)
)
(if clr
(setvar 'clayer clr)
)
(if ccl
(setvar 'cecolor ccl)
)
(if clt
(setvar 'celtype clt)
)
(if pal
(setvar 'polarang pal)
)
(if pag
(setvar 'polaraddang pag)
)
(if stp
(setvar 'snaptype stp)
)
(if pmd
(setvar 'polarmode pmd)
)
(if dym
(setvar 'dynmode dym)
)
(if dyp
(setvar 'dynprompt dyp)
)
(princ)
)
(command "._undo" "_begin")
(setvar 'cmdecho 0)
(setq dym (getvar 'dynmode))
(setvar 'dynmode 3)
(setq dyp (getvar 'dynprompt))
(setvar 'dynprompt 1)
(setq clr (getvar 'clayer))
(setvar 'clayer "0")
(setq ccl (getvar 'cecolor))
(setvar 'cecolor "BYLAYER")
(setq clt (getvar 'celtype))
(setvar 'celtype "BYLAYER")
(setq osm (getvar 'osmode))
(setvar 'osmode 0)
(setq pal (getvar 'polarang))
(setvar 'polarang 45.0)
(setq pag (getvar 'polaraddang))
(setvar 'polaraddang "0;45;90;135;180;225;270;315")
(setq stp (getvar 'snaptype))
(setvar 'snaptype 1)
(setq pmd (getvar "polarmode"))
(setvar 'polarmode 6)
(command "._ucs" "_w")
(setq ss (ssadd))
(setq ss (ssget))
(setq orig (getpoint "\nSpecify base point: "))
(setq pt1 (getpoint "\nStart point: "))
(setq pt2 (getpoint pt1 "\nEnd point: "))
(setq dist (distance pt1 pt2))
(setq ang (angle pt1 pt2))
(setq num (getint "\nNumber of copies: "))
(setq step (/ dist (1+ num)))
(setq istep step)
(setq i 1)
(while (<= i num)
(setq inspt (polar pt1 ang istep))
(command "._copybase" orig ss "")
(command "._pasteclip" inspt)
(setq istep (+ istep step))
(setq i (1+ i))
)
(*error* nil)
(princ)
)
~'J'~