Jump to content

Recommended Posts

Posted (edited)

Hi everybody,

 

I'm new with autocad. Actually it's my first time I need to write a VBA procedure for autocad. That's the reason why I'm posting this thread.

 

I have blocks with attribute. In one of this attribute I want to insert an expression that calculates a polyline area.

 

Doing it manually works. the expression is:

"%%).Area>%" where 2130001176 is the ObjectID of the specific poly.

 

I tried to insert the expression via vba with this code:

attArr = oBlkRef.GetAttributes

attArr(3).TextString = "%%).Area>%"

 

It doesn't work and the value (corresponding to the poly area) is not calculated. Only "####" is shown as value.

 

Any idea how to insert the expression via VBA?

Edited by aleair
error
Posted

I think you need 2 extra line

 

area ="%%).Area>%"

 

attArr(3).TextString = area

attarr(3).update

 

found this

Sub Example_Area()
   ' This example creates a polyline object and
   ' then uses the area property to find the
   ' area of that polyline.
   
   Dim plineObj As AcadLWPolyline
   Dim points(0 To 5) As Double
   Dim plineArea As Double
   ' Establish the points for the Polyline
   points(0) = 3: points(1) = 7
   points(2) = 9: points(3) = 2
   points(4) = 3: points(5) = 5
   
   ' Create the polyline in modelspace
   Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
   
   ' Close the polyline and update display of it
   plineObj.Closed = True
   plineObj.Update
   ZoomAll
   
   ' Get the area of the polyline
   plineArea = plineObj.Area
   
   MsgBox "The area of the new Polyline is: " & plineArea, vbInformation, "Area Example"
End Sub

Posted

found solution, thanks.

 

Attrib.TextString = "%%).Area \f " & Chr(34) & "%lu2" & Chr(34) & ">%"

where Cstr(id) is poly objectID

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...