こんな感じでどうでしょう?
コマンド名はcls
2個のオブジェクトの交点リストの作成には、下記にあるLispを使用しました。
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lsp-intersection-line-pline/td-p/5653563
--------------------------------------------------------
;切断基準と切断するオブジェクトそれぞれを選択し、切断
(defun c:cls (/ ss1 ss2 j k ptlst pt #osmode)
(prompt "\n切断基準となる線orポリラインを選択:")
(setq ss1 (ssget '(( 0 . "LINE,LWPOLYLINE"))))
(prompt "\n切断する線orポリラインを選択:")
(setq ss2 (ssget '(( 0 . "LINE,LWPOLYLINE"))))
(setq ptlst nil)
(setq j 0 k 0)
(repeat (sslength ss1)
(repeat (sslength ss2)
(setq ptlst (append (In2ob (ssname ss1 j) (ssname ss2 k)) ptlst))
(setq k (1+ k))
)
(setq j (1+ j))
(setq k 0)
)
(setq #osmode (getvar "osmode"))
(command-s "osmode" "0")
(command-s "IsolateObjects" "p" "")
(repeat (/ (length ptlst) 3)
(setq pt (list (car ptlst)
(cadr ptlst)
(caddr ptlst)))
(command "break" pt "f" pt pt)
(setq ptlst (cdddr ptlst))
)
(command-s "UnIsolateObjects")
(command-s "osmode" #osmode)
(princ)
)
;2個のオブジェクトの交点リストを返す
(defun In2ob (en1 en2 / flg ptsa)
(vl-load-com)
(setq int (vLa-intersectwith (vLax-ename->vLa-Object en1)
(vLax-ename->vLa-Object en2)
acextendnone))
(setq flg (vlax-safearray-get-u-bound (vlax-variant-value int) 1))
(if (= flg -1)
(setq ptsa nil)
(setq ptsa (vLax-safearray->List (vLax-variant-vaLue int)))
)
)