Aller au contenu

Besoin d\'aide pour la fonction ssget


Messages recommandés

Posté(e)

Bonjour,

 

Voila j'aimerai créer une petite fonction qui me permette de sélectionner tout les blocs ayant le même nom dans le dessin, quand je clique sur ce bloc.

 

Cependant je ne sais pas trop quel paramètre entrer dans la fonction ssget :(

 

Je suis entrain de lire: AutoLISP Developer's Guide > Using the AutoLISP Language > Using AutoLISP to Manipulate AutoCAD Objects > Selection Set Handling > Selection Set Filter Lists>Selection Set Manipulation

 

mais je comprend pas tout, si vous aviez quelques exemples qui pourrait m'aider à comprendre mieux le fonctionnement des filtres pour cette commande, ça m'intéresse :D

Posté(e)

Salut,

 

Pour les fitres avec ssget, il faut donner comme argument une liste du type de celle retournée par entget avec les groupes qu'on veut filtrer. On peut aussi utiliser des caractères génériques avec les entrées de type chaîne (string), des tests de relation et des opérateurs logiques.

 

Pour filtrer tous les blocs ayant le même nom, on mettra dans la liste le groupe 0 pour le type d'entité et le groupe 2 pour le nom du bloc :

 

(and
 (setq bloc (car (entsel "\nSélectionnez le bloc source: ")))
 (= (cdr (assoc 0 (entget bloc))) "INSERT")
 (setq nom (cdr (assoc 2 (entget bloc))))
 (setq ss (ssget "_X" (list (0 . "INSERT") (cons 2 nom))))
)

 

Si tu veux quelque chose de "tout prêt" (et de plus polyvalent) regarde le LISP SSMatch sur cette page.

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

Posté(e)

Merci beaucoup pour cette réponse rapide,

 

une petite question en plus, existe t'il un documentation sur cette fonction en français? car la doc en anglais ça me dérange pas pour les fonctions facile, mais quand ça deviens un peu plus tordu comme la, j'ai du mal à tout comprendre ^^

ou alors peut être qu'il existe un bon livre sur le lisp

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é