Calculate area in Meter Square (2024)

Visual LISP, AutoLISP and General Customization

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Showonly | Search instead for

Did you mean:

Calculate area in Meter Square

13 REPLIES 13

SOLVED

Back to AutoCAD Customization Category

Back to Topic Listing

Reply

Topic Options

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Printer Friendly Page
  • Back to Topic Listing
  • Previous
  • Next

Message 1 of 14

Calculate area in Meter Square (1)

Anonymous

6682 Views, 13 Replies

‎10-26-201602:39 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201602:39 AM

Calculate area in Meter Square

This lisp is used to Calculate the area of an object in square feet.

1. Please Edit it to calculate in Square meter.
2. Please Edit it to calculate for multiple objects.

;;; AreaText.LSP ver 3.0;;; Command name is AT;;; Select a polyline and where to place the text;;; Sample result: 2888.89 SQ. FT.;;; As this is a FIELD it is updated based on the FIELDEVAL;;; or the settings found in the OPTIONS dialog box;;; By Jimmy Bergmark;;; Copyright (C) 2007-2010 JTB World, All Rights Reserved;;; Website: www.jtbworld.com;;; E-mail: info@jtbworld.com;;; 2007-09-05 - First release;;; 2009-08-02 - Updated to work in both modelspace and paperspace;;; 2010-10-29 - Updated to work also on 64-bit AutoCAD;;; Uses TEXTSIZE for the text height(defun Get-ObjectIDx64 (obj / util) (setq util (vla-get-Utility (vla-get-activedocument (vlax-get-acad-object)))) (if (= (type obj) 'ENAME)(setq obj (vlax-ename->vla-object obj))) (if (= (type obj) 'VLA-OBJECT) (if (> (vl-string-search "x64" (getvar "platform")) 0) (vlax-invoke-method util "GetObjectIdString" obj :vlax-False) (rtos (vla-get-objectid obj) 2 0) ) ))(defun c:AT (/ entObject entObjectID InsertionPoint ad) (vl-load-com) (setq entObject (vlax-ename->vla-object(car (entsel))) entObjectID (Get-ObjectIDx64 entObject) InsertionPoint (vlax-3D-Point (getpoint "Select point: ")) ad (vla-get-ActiveDocument (vlax-get-acad-object)) ) (vla-addMText (if (= 1 (vla-get-activespace ad)) (vla-get-modelspace ad) (if (= (vla-get-mspace ad) :vlax-true) (vla-get-modelspace ad) (vla-get-paperspace ad) ) ) InsertionPoint 0.0 (strcat "%<\\AcObjProp Object(%<\\_ObjId " entObjectID ">%).Area \\f \"%pr2%lu2%ct4%qf1 SQ. FT.\">%" )))

Solved!Go to Solution.

Solved by gpcattaneo. Go to Solution.

Report

1Like

Reply

  • Back to Topic Listing
  • Previous
  • Next

13 REPLIES 13

Message 2 of 14

Calculate area in Meter Square (2)

Calculate area in Meter Square (3)ВeekeeCZ

in reply to:Anonymous

‎10-26-201603:07 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201603:07 AM

You can try this one... from my archive..

Spoiler

(defun c:PLArea (/ acsp ss e ptList ID StrField txt p) (vl-load-com) (command "_.undo" "_be") (setq acsp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))) (if (setq ss (ssget ;(progn;(initget 1 "Y N") ;(setq ans (getkword "\nProcess All Polylines [Yes/No]: "));(if (eq "Y" ans) ;"_X" ":L";)) '((0 . "*POLYLINE") ;(8 . "A-AREA-BDRY") (-4 . "&") (70 . 1)(410 . "Model")))) (repeat (sslength ss) (setq e (ssname ss 0) sum '(0 0) verts (cdr (assoc 90 (entget e)))) (setq ptList (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget e)))) (foreach x ptList (setq sum (mapcar '+ x sum))) (setq ID (itoa (vla-get-objectid (vlax-ename->vla-object e)))) (setq StrField (strcat "%<\\AcObjProp Object(%<\\_ObjId " ID ">%).Area \\f \"%lu2\">%")) (vla-put-AttachmentPoint (setq txt (vla-addMText acsp (setq p (vlax-3d-point (mapcar '/ sum (list verts verts)))) 0 StrField)) acAttachmentPointMiddleCenter) (vla-put-InsertionPoint txt p) (ssdel e ss) )(princ "\0 Objects found:")) (command "_.undo" "_e") (princ))

Just be careful if you have some more complex shapes (typically "C" shape) -- label may be outside the closed area.

Report

0Likes

Reply

Message 3 of 14

Calculate area in Meter Square (4)

Anonymous

in reply to:ВeekeeCZ

‎10-26-201603:30 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201603:30 AM

Yes,

This is what i wanted exactly, Thanks

Can you add Unit "m2" For me in this lisp?

Report

Message 4 of 14

Calculate area in Meter Square (5)

Calculate area in Meter Square (6)ВeekeeCZ

in reply to:Anonymous

‎10-26-201604:32 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201604:32 AM

@Anonymous wrote:

Yes,

This is what i wanted exactly, Thanks

Can you add Unit "m2" For me in this lisp?

ok...

Spoiler

(defun c:PLArea (/ acsp ss e ptList ID StrField txt p) (vl-load-com) (command "_.undo" "_be") (setq acsp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))) (if (setq ss (ssget ;(progn;(initget 1 "Y N") ;(setq ans (getkword "\nProcess All Polylines [Yes/No]: "));(if (eq "Y" ans) ;"_X" ":L";)) '((0 . "*POLYLINE") ;(8 . "A-AREA-BDRY") (-4 . "&") (70 . 1)(410 . "Model")))) (repeat (sslength ss) (setq e (ssname ss 0) sum '(0 0) verts (cdr (assoc 90 (entget e)))) (setq ptList (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget e)))) (foreach x ptList (setq sum (mapcar '+ x sum))) (setq ID (itoa (vla-get-objectid (vlax-ename->vla-object e)))) (setq StrField (strcat "%<\\AcObjProp Object(%<\\_ObjId " ID ">%).Area \\f \"%lu2\">%" "m2")) (vla-put-AttachmentPoint (setq txt (vla-addMText acsp (setq p (vlax-3d-point (mapcar '/ sum (list verts verts)))) 0 StrField)) acAttachmentPointMiddleCenter) (vla-put-InsertionPoint txt p) (ssdel e ss) )(princ "\0 Objects found:")) (command "_.undo" "_e") (princ))

Report

0Likes

Reply

Message 5 of 14

Calculate area in Meter Square (7)

Anonymous

in reply to:ВeekeeCZ

‎10-26-201605:09 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201605:09 AM

It is not working on circles.

Report

0Likes

Reply

Message 6 of 14

Calculate area in Meter Square (8)

Calculate area in Meter Square (9)Kent1Cooper

in reply to:Anonymous

‎10-26-201607:20 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201607:20 AM

@Anonymous wrote:

It is not working on circles.

It's not written to do that. Curiously, your original code describes itself as only for Polylines, but in fact works on other entity types, too [even Lines! -- it puts 0.00 in for the area].

Here is one that reports in square meters. But it also says it's just for Polylines. Maybe you can easily take the part of it that determines the text content and transfer that into your code in Post 1 [and change the description in that, to not be in terms of only Polylines].

Kent Cooper, AIA Calculate area in Meter Square (10)

Report

0Likes

Reply

Message 7 of 14

Calculate area in Meter Square (11)

Calculate area in Meter Square (12)ВeekeeCZ

in reply to:Anonymous

‎10-26-201608:20 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201608:20 AM

@Anonymous wrote:

It is not working on circles.

Spoiler

(vl-load-com)(defun c:PLArea (/ adoc acsp ss e ptList ID StrField txt p) (setq acsp (vla-get-modelspace (setq adoc (vla-get-activedocument (vlax-get-acad-object))))) (vla-startundomark adoc) (if (setq ss (ssget ;(progn;(initget 1 "Y N") ;(setq ans (getkword "\nProcess All Polylines [Yes/No]: "));(if (eq "Y" ans) ;"_X" ":L";)) '((-4 . "<OR") (0 . "CIRCLE") (-4 . "<AND") (0 . "*POLYLINE") (-4 . "&") (70 . 1) (-4 . "AND>") (-4 . "OR>") ))) (repeat (sslength ss) (setq e (ssname ss 0) sum '(0 0) verts (cond ((cdr (assoc 90 (entget e)))) (1))) (setq ptList (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget e)))) (foreach x ptList (setq sum (mapcar '+ x sum))) (setq ID (itoa (vla-get-objectid (vlax-ename->vla-object e)))) (setq StrField (strcat "%<\\AcObjProp Object(%<\\_ObjId " ID ">%).Area \\f \"%lu2\">%" "m2")) (vla-put-AttachmentPoint (setq txt (vla-addMText acsp (setq p (vlax-3d-point (mapcar '/ sum (list verts verts)))) 0 StrField)) acAttachmentPointMiddleCenter) (vla-put-InsertionPoint txt p) (ssdel e ss) ) (princ "\n0 Objects found:")) (vla-endundomark adoc) (princ))

Report

0Likes

Reply

Message 8 of 14

Calculate area in Meter Square (13)

Calculate area in Meter Square (14)gpcattaneo

in reply to:ВeekeeCZ

‎10-26-201601:15 PM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201601:15 PM

@ВeekeeCZ wrote:

Just be careful if you have some more complex shapes (typically "C" shape) -- label may be outside the closed area.

Try this...

Calculate area in Meter Square (15)

A2.lsp

Report

3Likes

Reply

Message 9 of 14

Calculate area in Meter Square (16)

Calculate area in Meter Square (17)ВeekeeCZ

in reply to:gpcattaneo

‎10-26-201602:00 PM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-26-201602:00 PM

@gpcattaneo, I mustadmitI'm impressed!! Nice solution!

-- haven't dig into algorithm much -- do you somehow test if a text is really inside?

I tried a little test... not really hard, these are the only shapes I've drawn...

http://autode.sk/2dXLZB5

Report

0Likes

Reply

Message 10 of 14

Calculate area in Meter Square (18)

Calculate area in Meter Square (19)F.Camargo

in reply to:gpcattaneo

‎10-28-201603:48 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎10-28-201603:48 AM

@gpcattaneo wrote:
@ВeekeeCZ wrote:

Just be careful if you have some more complex shapes (typically "C" shape) -- label may be outside the closed area.

Try this...

Calculate area in Meter Square (20)

Fantastic, Gian!!

It will be better if the texts were as a field.Calculate area in Meter Square (21)

Fabricio

Report

0Likes

Reply

Message 11 of 14

Calculate area in Meter Square (22)

Calculate area in Meter Square (23)gpcattaneo

in reply to:ВeekeeCZ

‎11-01-201609:46 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎11-01-201609:46 AM

Thanks Calculate area in Meter Square (24)

@ВeekeeCZ

Increase the value of "step1"on very narrow polygons.

@F.Camargo

The field version...

A2.lsp

Report

1Like

Reply

Message 12 of 14

Calculate area in Meter Square (25)

Calculate area in Meter Square (26)F.Camargo

in reply to:gpcattaneo

‎11-01-201602:04 PM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎11-01-201602:04 PM

Just amazing Gian!!
Thank you

Report

0Likes

Reply

Message 13 of 14

Calculate area in Meter Square (27)

Anonymous

in reply to:Anonymous

‎07-31-201707:58 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎07-31-201707:58 AM

I tried this lisp it is very useful to me

but..why the result values are too big

how can I reduce the size of this lisp text

Report

0Likes

Reply

Message 14 of 14

Calculate area in Meter Square (28)

Calculate area in Meter Square (29)gpcattaneo

in reply to:Anonymous

‎07-31-201708:38 AM

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report

‎07-31-201708:38 AM

Change the TEXTSIZE system variable.

Report

0Likes

Reply

Calculate area in Meter Square (30)

Calculate area in Meter Square (31)

Reply

Topic Options

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Printer Friendly Page
  • Back to Topic Listing
  • Previous
  • Next
Calculate area in Meter Square (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Nicola Considine CPA

Last Updated:

Views: 5443

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Nicola Considine CPA

Birthday: 1993-02-26

Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

Phone: +2681424145499

Job: Government Technician

Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.