I was able to get it, I'm sure it's not the most elegant or simple way, but it gets the job done. it just needs a loop with the same spacing, to apply it to each line, around the section.
(defun VxGetInters (Fst Nxt Mde / IntLst PntLst)
(setq IntLst (vlax-invoke Fst "IntersectWith" Nxt Mde))
(cond
(IntLst
(repeat (/ (length IntLst) 3)
(setq PntLst (cons
(list
(car IntLst)
(cadr IntLst)
(caddr IntLst)
)
PntLst
)
IntLst (cdddr IntLst)
)
)
(reverse PntLst)
)
(T nil)
)
)
(defun c:cargar ( / lineamedia linea2 linea3 lineader lineaizq fline midptder pt1 pt2 bordo l1endpt pdist )
(setvar "UserI1" (getvar "OSMode"))
(setvar 'osmode 0)
(setq bordo (getreal "\nBurden-spacing: "))
(setq lineamedia (entsel "\nSelect line to charge"))
(setq lineader (car (entsel "\nSelect right line")))
(setq lineaizq (car (entsel "\nSelect left line")))
(command "_copy" lineamedia "" "0,0" "0,0")
(setq linea2 (entlast))
(setq linea2v (vlax-ename->vla-object linea2)
startpt (vlax-curve-getStartPoint linea2v))
(command "_rotate" linea2 "" startpt 90)
(setq lineaderv (vlax-ename->vla-object lineader)
midptder (vlax-curve-getPointAtDist lineaderv 1.0 ))
(command "_move" linea2 "" startpt midptder)
(setq linea2v (vlax-ename->vla-object linea2))
(setq lineaizqv (vlax-ename->vla-object lineaizq))
(setq intpts (VxGetInters linea2v lineaizqv acExtendNone))
(mapcar '(lambda (l) (if (MeIsPointOnObjects l linea2v lineaizqv) (vlax-invoke (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) 'AddPoint l ) ) ) intpts );
(setq pt1 (cdr (assoc 10 (entget (entlast)))));get coord
(command "_erase" (entlast) "");erase point
(command "_pline" midptder pt1 "")
(setq linea3 (entlast))
(setq linea3v (vlax-ename->vla-object linea3))
(setq dist (Vla-Get-Length linea3v))
(setq dist2 (/ bordo dist))
(setq pdist (vlax-curve-getPointAtDist lineaderv dist2 ))
(command "_move" linea2 "" midptder pdist)
(setq lineamedia2 (car lineamedia))
(setq lineamediav (vlax-ename->vla-object lineamedia2))
(setq intpts (VxGetInters linea2v lineamediav acExtendNone))
(mapcar '(lambda (l) (if (MeIsPointOnObjects l linea2v lineamediav) (vlax-invoke (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) 'AddPoint l ) ) ) intpts );
(setq pt2er (entlast))
(setq pt2 (cdr (assoc 10 (entget (entlast)))));get coord
(setq l1endpt (vlax-curve-getEndPoint lineamediav))
(command "_pline" pt2 l1endpt "")
(setq fline (entlast))
(command "_pedit" fline "_W" 0.2 "")
(command "_erase" linea2 linea3 pt2er "")
(setvar "OSMode" (getvar "UserI1"))
(princ)
)
(defun MeIsPointOnObjects (Pnt Fob Nob) (and (vlax-curve-getParamAtPoint Fob Pnt) (vlax-curve-getParamAtPoint Nob Pnt) ) )