hardyorock Posté(e) le 3 août 2007 Posté(e) le 3 août 2007 salut les amiscomment peu on selectionné des element (comme la commande qselect en lisp)?par exemple :si je veut selectionné que les cotes rouge ou qui appartienne a un certain calque comment je dois l'ecrire en lisp?merci pour vos reponce.
(gile) Posté(e) le 3 août 2007 Posté(e) le 3 août 2007 Salut, Il faut utiliser les filtres de sélection avec la fonction ssget.Un filtre de sélection est une liste de paires pointées (un peu comme les listes retournées par entget) dont le premier élément est un code de groupe DXF (0 pour le type d'entité, 8 pour le calque, 62 pour la couleur, etc...) et le deuxième la (ou les) donnée(s) à filtrer. Si les données sont des chaines de caractères (type d'entité, calque...), il est possible d'en mettre plusieurs séparées par des virgules, il est aussi possible d'utiliser les caractères générique (voir la fonction wcmatch).On peut utiliser des tests de relation (= ...) avec les valeurs numériques.Et aussi des opérateurs logiques (AND OR NOT XOR).Voir dans l'Aide aux développeurs > AutoLISP Developer's Guide > Using the AutoLISP Language > Using AutoLISP to Manipulate AutoCAD Objects > Selection Set Handling > Selection Set Filter Lists Tout ça est très puissant mais demande un temps d'apprentissage (et de nombreux tests) Pour l'exemple que tu donnes, ça serait : (ssget "_X" (list '(0 . "DIMENSION") '(62 . 1) '(8 . "Nom_du_calque"))) "_X" pour sélectionner dans tout le document'(0 . "DIMENSION") que les cotes, pour les cotes et les repères : '(0 . "DIMENSION,LEADER")'(62 . 1) que la couleur rouge'(8 . "Nom_du_calque") que le calque "Nom_du_calque" NOTA : si le nom du calque (ou une autre donnée) est stockée dans une variable (calq par exemple), il faut écrire (cons 8 calq) au lieu de '(8 . calq) pour que la variable calq soit évaluée. [Edité le 3/8/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
hardyorock Posté(e) le 6 août 2007 Auteur Posté(e) le 6 août 2007 merci (gile) ca marche trés bien.je crois que j'ai beaucoup a apprendre avec vous les amis .
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant