Détecter les polylignes non fermées dans AutoCAD

Bonjour le forum,

J’aurais besoin de vos lumières.
J’ai le code ci-dessous qui détecte les polylignes non fermées dans un dessin AutoCAD.
Le problème c’est qu’il le fait sur toutes les polylignes se trouvent dans tous les calques.

J’aimerais faire cette détection seulement dans un seul calque, le calque « Poligonale »

Est-possible ?

Sub PolylignesOuvertes()
 For Each ent In ThisDrawing.ModelSpace
  ent.color = acWhite
  If ent.ObjectName = "AcDbPolyline" Then
   If ent.Closed = False Then
    ent.color = acRed
   Else
    ent.color = acGreen
   End If
  End If
 Next ent
ThisDrawing.Regen (acActiveViewport)
End Sub

bonjour,

je n'ai pas autocad pour tester, essaie en ajoutant cette instruction

ThisDrawing.ActiveLayer = ThisDrawing.Layers("Poligonale")

avant ton instruction for

Bonsoir,

Je te remercie pour ton message et ton aide.
Je viens de tester ta proposition et malheureusement cela ne fonctionne pas, ça fait toujours toutes les polygonales de toutes les couches.

Une autre idée ?

Salutations

Sub PolylignesOuvertes()
ThisDrawing.ActiveLayer = ThisDrawing.Layers("Polygonale") 
For Each ent In ThisDrawing.ModelSpace
  ent.color = acWhite
  If ent.ObjectName = "AcDbPolyline" Then
   If ent.Closed = False Then
    ent.color = acRed
   Else
    ent.color = acGreen
   End If
  End If
 Next ent
ThisDrawing.Regen (acActiveViewport)
End Sub

Bonjour,

Je n'utilise plus le VBA sur Autocad (changement d'entreprise et de budget), je ne peux donc pas tester mais tu devrais pouvoir passer par un vérouillage de tous tes calques sauf "Polygonale" avec ceci.

Sub GelCalqueSauf()
Dim calque As AcadLayer
For Each calque In ThisDrawing.Layers
    If calque.Name <> "Polygonale" Then calque.Freeze = True
Next
End Sub

A+

Edit : Geler pas verrouiller

Bonjour,

Je te remercie pour ton message et ton aide.
C’était une bonne idée, malheureusement même en gèlent tous les calques cela ne fonctionne pas, cela affect toujours toutes les polygonales de tous les calques.

Une autre idée ?

PS : si je verrouille tous les calques, sauf « Polygonale », la macro ne fonctionne pas

Meilleures salutations

Je suis sur autocad LT donc difficile maintenant de te donner une soluce miracle mais quelques pistes a suivre :

- Les Lisp du regretté Patrick_35 ou de "(Gile)" pointures sur les forums Autocad (Ils ont deja du avoir ce genre de demande).
- A l'ancienne avec une selection rapide (qui me semble ne peut pas etre mis en macro) + la macro pour geler juste avant

image

Sinon, je seche.

Bon courage

Bonjour,

Je te remercie pour ton aide.
Ce n’est peut-être pas possible depuis un code VBA

En effet j’irais regarder sur des forums sur Autocad.

Merci

Meilleures salutations

Rechercher des sujets similaires à "detecter polylignes fermees autocad"