Jump to content
ElCidCampeador

VBA Autocad: How to find lines?

Recommended Posts

ElCidCampeador

I'm trying to write a VBA code that searches in a general drawing all lines that have a specific length and slope. Then, every time it finds that line in the drawing, it will write next to a specific text, for example "line". Do you think it's possibile? Any idea? Thanks

Share this post


Link to post
Share on other sites
Tyke

In principle what you want to do is perfectly possible.

 

You search the current drawing filtering on lines to create a selection set. Then loop through the selection set and write your text at your desired position.

Share this post


Link to post
Share on other sites
BIGAL

As VBA

 

Dim FilterDXFCode(0) As Integer
Dim FilterDXFVal(0) As Variant

FilterDXFCode(0) = 0
FilterDXFVal(0) = "LINE"


Set SS = ThisDrawing.SelectionSets.Add("Linelens")
SS.Select acSelectionSetAll, , , FilterDXFCode, FilterDXFVal
For Cntr = 0 To SS.Count - 1

'now get the length etc and do something

As lisp

(setq ss (ssget (list (cons 0 "Line"))))
(repeat (setq x (sslength ss))
(setq obj (vlax-ename->vla-object (ssname  ss (setq x (- x 1)))))
(vla-get-length obj)
(princ "\n")
)

Share this post


Link to post
Share on other sites
maratovich
Do you think it's possibile?

Can.

Write all the requirements, and attach an example.

Share this post


Link to post
Share on other sites
ElCidCampeador

Thank you all! It works...!

Share this post


Link to post
Share on other sites
BIGAL

What worked ? You dont have to post the code just how, others may want the same answer.

Share this post


Link to post
Share on other sites
ElCidCampeador

I used your idea Bigal, vba

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×