Anuncios

The Autodesk Community Forums has a new look. Read more about what's changed on the Community Announcements board.

Get Stretched Entity in an active document of AutoCAD c#

Anonymous

Get Stretched Entity in an active document of AutoCAD c#

Anonymous
No aplicable

Dear Folks,

Could you Please help me any one on the subjected need.

In a Opened active DWG file, I want to find the Stretched Entities and those to be added to a Collection using c#.Net.

Please note that, the Stretch will be done by User.

 

Thanks 

Alex Andrews.

0 Me gusta
Responder
879 Vistas
7 Respuestas
Respuestas (7)

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> I want to find the Stretched Entities

>> the Stretch will be done by User

What type of entities are your referring to?

 

Default AutoCAD geometry like line, polyline, arc, ... does not have a property called "stretched", so if you stretch a line from 100 length to 120 length this item does not know that you used "_STRETCH" to make it longer.

If you are using other objects, then please let us know which ones.

 

Just as idea: block-insertions have scale-factors, if you use these scale-factors instead of stretching you are able to later find all block-insertions with a scale-factor <> 1,1,1

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta

Anonymous
No aplicable

Hi ,

Here User may Stretch any kind of Entities but not really Block Reference. Specifically we are going to find DIMENSION Entities only. So I want to Collect all the Stretched DIMENSION Entities done by the User.

 

Thanks

Alex Andrews.

0 Me gusta

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> any kind of Entities

As I wrote, a line does not know if it was stretched or not.

So from AutoCAD itself you never can do something like "select each line I had stretched".

 

In a complete application you might watch the creation process and watch stretch commands, then, when the command was started set an event-handler for modified objects, give these entities a flag, e.g. using XData or Dictionaries and write your own selectionset builder that searches for these flagged entities.

But take care, when an entity was stretched while your app was not active, the flag will not be set for such items.

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta

Anonymous
No aplicable

Hi Alfred,

I tried the below approach, However I unable to Catch the STRETCH event whenever User is Triggering. As explained before I wanted to Collect Stretched objects.

@Gilles Chanteau

Do you have any idea on this?

 

Regards

Alex Andrews.

0 Me gusta

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> I tried the below approach

Not sure, what you mean by "below approach".

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta

Anonymous
No aplicable

Still I did'nt get any replies or Soln's

0 Me gusta

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> did'nt get any replies or Soln's

Because there does not exist any solution (without catching the commands that do stretching)?

An entity in AutoCAD does not know if it was stretched or not, so you can't select them.

Even the event won't help if you get a drawing from anyone else, a line does not know it's history, does not know, how it was created or modified, so also not, if it was stretched or not.

 

As I wrote, you might catch the events (e.g. object modified, command started, command ended) so you get the entities handled by the activate command while the user is working. But when an object was stretched at any previous command you can't get them into a selection.

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta