Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

 

Je cherche à faire un filtre de sélection conservant uniquement trois types d'objets.

- Les lignes sur un calque particulier.

- Les blocs nommés X

- Les bloc dynamiques Y.

 

Pour les 2 premiers pas de problèmes, en revanche pour le dernier type j'utilise ceci :

'(-4 . "<AND") '(0 . "INSERT") (cons 330 cent) '(-4 . "AND>")

 

Ne pouvant utiliser le code de groupe 2 sur un bloc dynamique, je pensais passer par le code 330 dont j'ai déjà enregistré la valeur en amont du code.

 

Pour le moment j'obtiens le résultat suivant :

 

cent
<Nom d'entité: 7ef05cf8>
_$ (cons 330 cent)
(330 . <Nom d'entité: 7ef05cf8>)
_$ (assoc 330 (entget (car (entsel)))) 
(330 . <Nom d'entité: 7ef05cf8>)
_$ (= (cons 330 cent) (assoc 330 (entget (car (entsel)))))
nil

 

Es-ce que quelqu'un a une explication et éventuellement une solution ?

 

Olivier

Posté(e)

J'ai été un peu vite sur le dernier test tout à l'heure.

Car bien entendu :

 

(equal cent (cdr (assoc 330 (entget (car (entsel))))))
T

 

Mais cela ne débloque pas le filtre.

 

Avec

 

'(-4 . "<AND") '(0 . "INSERT") '(-4 . "=") (cons 330 cent) '(-4 . "AND>")

 

Toujours le même résultat. Je n'ai pas d'erreur lors de la sélection mais seuls les 2 premières catégories sont sélectionnées.

 

Olivier :(

Posté(e)

Salut,

 

À ma connaissance, on ne peut pas filtrer sur les identificateurs de pointeurs ou de propriétaires (codes DXF 330 à 369).

Tu peux toujours faire la sélection de blocs avec les noms de blocs + "`*U*" pour les blocs anonymes et filtrer ensuite les objets sélectionnés en testant la propriété EffectiveName par exemple.

 

PS: le code 330 des entités graphiques contient toujours un pointeur vers le "Block_Record" qui les contient (espace objet/papier ou définition de bloc pour le composants des références de bloc)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut (gile),

 

Merci pour ta réponse. C'est bien ce que je craignais mais n'ayant pas retrouvé d'élément sur ce point je voulais être sûr. Je vais devoir faire d'avantage de boucle sur ma sélection que je ne le souhaitais.

Merci encore.

 

Olivier

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité