Thanks ymg
I updated and it is very usefull
(defun c:BRL ( / en enfpoint enty extnd lngth strtpnt)
(While
(setq ent (entsel))
(setq enty (car ent))
(setq Lngth (vlax-curve-getdistatparam enty (vlax-curve-getendparam enty)))
(if
(> 12000 (setq *NewLength (cond ( (getint (strcat "\nWhat is New Length < " (itoa (setq *NewLength (cond ( *NewLength ) ( 7000 )))) " >?: "))) ( *NewLength ))))
(setq *NewLength *NewLength)
(setq *NewLength (cond ( (getint (strcat "\nThere is no BAR more than 12000mm, Are you sure Bar length is < " (itoa (setq *NewLength (cond ( *NewLength ) ( 7000 )))) " >?: "))) ( *NewLength )))
)
(setq extnd (/ (- *NewLength Lngth) 2))
(setq StrtPnt (vlax-curve-getStartPoint enty))
(setq EnfPoint (vlax-curve-getEndPoint enty))
(vl-cmdf "_.Zoom" "Object" ent "")
(vl-cmdf "_.lengthen" "Delta" extnd StrtPnt EnfPoint "")
(vl-cmdf "_.Zoom" "Previous" )
(princ)
)
)