A lisp version
Code:
; simple circle trim
; 1st pick is always trimmed
; by Alan H April 2017
(defun ah:ctrim ( / obj1 obj2 intpt rad ang pt)
(setq obj1 (vlax-ename->vla-object (car (entsel "\nPick line1"))))
(setq obj2 (vlax-ename->vla-object (car (entsel "\nPick line2"))))
(setq intpt (vlax-invoke obj2 'intersectWith obj1 acExtendThisEntity))
(setq rad 20.0) ; put rad factor here
(setq ang (angle
(vlax-safearray->list (vlax-variant-value (vla-get-startpoint obj1)))
(vlax-safearray->list (vlax-variant-value (vla-get-endpoint obj1)))
))
(setq pt (polar intpt ang (/ rad 2.0)))
(command "circle" intpt rad)
(setq circobj (entlast))
(command "trim" circobj "" "near" pt "")
(command "erase" circobj "")
) ; defun
(ah:ctrim)