Saludos @LEO_SCORPIO24
Aquí te adjunto una rutina que he creado para dar respuesta a tu consulta. Probado para el archivo adjunto. Espero que te sea de ayuda. Cualquier consulta sobre la rutina estaré atento, con mucho gusto.
P.d. Antes de aplicarla, debes de completar el área de sombreado para el Corte....
;-----------------------------------------------------------------------------------------
;;;Acr:Routine Autolisp by calderg1000@gmail.com; V01 22-05-24
;;;Creada para dar respuesta en el foro de ACAD en español
;;;Calcula el area de corte y relleno de las secciones transversales en el archivo adjunto
;;;___
(defun c:Acr (/ sl ln j cg lp sh i a la ac ar pt k)
(princ "\nSeleccione las Secciones para calcular el A_corte y A_Relleno...")
(setq sl (ssget '((0 . "line") (8 . "C-ROAD-PROF-TTLB"))))
(initcommandversion)
(command "_.join" sl "")
(setq ln
(vl-remove-if
'listp
(mapcar
'cadr
(ssnamex (ssget "_a" '((0 . "lwpolyline") (8 . "C-ROAD-PROF-TTLB"))))
)
)
)
(foreach j ln
(setq jv (vlax-ename->vla-object j)
cg (osnap (vlax-curve-getStartPoint j) "gcen")
)
(setq lp
(mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget j)))
)
(setq sh (ssget "_wp" lp '((0 . "hatch") (8 . "c?"))))
(repeat (setq i (sslength sh))
(setq a (vlax-get (vlax-ename->vla-object (ssname sh (setq i (1- i)))) 'area)
la (cons a la)
)
)
(setq ac (strcat "Area de Corte= " (rtos (car la) 2 2))
ar (strcat "Area de Relleno= " (rtos (cadr la) 2 2))
pt (mapcar '- cg '(0. 3.3 0.))
)
(foreach k (list ac ar)
(entmakex (list '(0 . "text")
(cons 10 pt)
(cons 1 k)
(cons 7 "MtXpl_Freestyle_Scri")
(cons 40 0.5)
(cons 72 1)
(cons 11 pt)
)
)
(setq pt (mapcar '- pt '(0. 1.0 0.)))
)
)
)
Carlos Calderon G

>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.