You might try this. You may have to add (vl-load-com) before it works.
Code:
(defun c:AHP ( / findspace SPACE PLSelection CurrentSpace CurrentPattern cntPLSelection CurrentObject CurrentHatch)
;; Get current space
;; Function developed by Peter Jamtgaard
(defun FINDSPACE (/ *DOC*)
(vl-load-com)
(setq *DOC* (vla-get-activedocument (vlax-get-acad-object)))
(setq SPACE (if (= 1 (vla-get-activespace *DOC*))
(vla-get-modelspace *DOC*) ;we're in modelspace
(if (= (vla-get-mspace *DOC*) :vlax-true)
(vla-get-modelspace *DOC*) ;we're in modelspace
;thru paperspace VPort
(vla-get-paperspace *DOC*) ;we're in paperspace
)
)
)
)
;; Add field of area via MText
;; Partly taken from Tom Beauford
;; http://forums.augi.com/showpost.php?p=1120809&postcount=4
(defun AddArea (Object / LowerLeftCorner
UpperRightCorner AreaString
FieldString PntList InsPoint
CurrentText
)
(vla-getboundingbox
Object
'LowerLeftCorner
'UpperRightCorner
)
(if (vlax-property-available-p Object 'Area)
(progn
(setq FieldString (strcat
"%<\\AcObjProp Object(%<\\_ObjId "
(itoa (vla-get-objectid object))
">%).Area \\f \"%lu2%pr0%qf1%ps[±, ft²]%th44\">%"
) ; 1=1 foot
PntList (mapcar 'vlax-safearray->list
(list LowerLeftCorner UpperRightCorner)
)
InsPoint (list (/ (+ (caar PntList) (caadr PntList)) 2.0)
(/ (+ (cadar PntList) (cadadr PntList)) 2.0)
)
CurrentText (vla-addmtext
(findspace)
(vlax-3d-point InsPoint)
0
FieldString
)
)
)
)
)
;; Main Function
(if (progn
(prompt "\nSelect polylines: ")
(setq PLSelection (ssget '((0 . "LWPOLYLINE,POLYLINE") (70 . 1)))
CurrentSpace (findspace)
CurrentPattern (getvar 'HPNAME)
)
)
(progn
(repeat (setq cntPLSelection (sslength PLSelection))
(setq CurrentObject (vlax-ename->vla-object
(ssname
PLSelection
(setq cntPLSelection (1- cntPLSelection))
)
)
CurrentArea (vla-get-area CurrentObject)
)
(setq CurrentHatch
(vla-addhatch
CurrentSpace acHatchPatternTypePredefined
CurrentPattern :vlax-true
AcHatchObject
)
)
(vla-appendouterloop
CurrentHatch
(vlax-safearray-fill
(vlax-make-safearray vlax-vbobject '(0 . 0))
(list CurrentObject)
)
)
(vla-put-PatternScale CurrentHatch (getvar 'HPSCALE))
(AddArea CurrentObject)
)
)
)
)