@Automohan Adapted to your request
Modify table style "legend" so that text height for is set to 0.6.
(defun c:htl ( / ss layername searchlayers e i eo ss _area arealist doc pt1 area_table)
(setq ss (ssget '((0 . "hatch"))) searchlayers '("AGGREGATE BASE COURSE" "SUBBASE" "EMBANKMENT") arealist (list))
(foreach layername searchlayers
(setq i -1 _area 0.0)
(while (< (setq i (1+ i)) (sslength ss))
(setq e (ssname ss i) eo (vlax-ename->vla-object e))
(cond
((wcmatch(vla-get-layer eo) layername)
(setq _area (+ _area (vla-get-area eo)))
)
)
)
(setq arealist (append arealist (list _area)))
)
(setq
doc (vla-get-activedocument (vlax-get-acad-object))
pt1 (vlax-3d-point (getpoint "\nPick top left table insertion point: "))
area_table (vla-addtable (vla-get-modelspace doc) pt1 1 2 1 1)
area_table (vlax-ename->vla-object (entlast))
)
(vla-put-titlesuppressed area_table :vlax-true)
(vla-put-headersuppressed area_table :vlax-true)
(setq i -1)
(while (< (setq i (1+ i)) (length arealist))
(vla-insertrows area_table i 1.4 1)
(vla-setcellvalue area_table i 0 (nth i searchlayers))
(vla-setcellvalue area_table i 1 (rtos (nth i arealist)2 2))
)
(vla-setcolumnwidth area_table 0 15)
(vla-setcolumnwidth area_table 1 5)
(vla-deleterows area_table (1-(vla-get-rows area_table)) 1)
(setq i -1 )
(while (< (setq i (1+ i)) (vla-get-rows area_table))
(vla-setrowheight area_table i 1.4)
)
(princ)
)
Miljenko Hatlak

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.