speedy Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 Bonjour à tousj'ai un reçu un fichier ou tous les textes dans le même calque, j'ai essayé avec superfiltre mais pas évident... Auriez vous la ligne de code qui permet : de filtrer les textes (commençant par la lettre Z ou autre ) et les exporter dans un autre calque. Merci Michel a
(gile) Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 Salut, Tu peux essayer en collant ça sur la ligne de commande : (sssetfirst nil (ssget "_x" '((0 . "TEXT") (1 . "Z*")))) Tel quel le code sélectionne tous les textes commençant par Z. Si tu veux aussi sélectionnner le MTEXT, remplace "TEXT" par "*TEXT".Si tu veux changer la lettre de début ou chercher un groupe de lettre ou un mot, remplace "Z*" par une autre chaîne en utilisant "*" pour "n'importe quel caractère".Attention, le filtre est sensible à la casse. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 Salut Trop tard pour la réponse ;) ps : (gile), un *TEXT prend aussi les RTEXT @+ [Edité le 17/1/2008 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
vinz34 Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 Salut, C'est quoi les RTEXT, c'est pas plutôt les MTEXT ?
Patrick_35 Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 Salut Un rtext est un texte auquel on peut y mettre des expressions diesel comme l'exemple le plus utilisé avec les xrefs (de plus, c'est compatible LT).Au clavier, tu fais par exemple rtext --> Diesel --> $(xrefs,3)Fonctionne aussi avec les dates, les propriétés du dessin, etc... Tu trouveras de l'aide sur cette fonction dans les espress tools. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
speedy Posté(e) le 17 janvier 2008 Auteur Posté(e) le 17 janvier 2008 Merci Gile (1 . "Z*") à quoi correspond le 1 et quelles sont mes possibilités de choisir plus lettres ? @+Michel a
(gile) Posté(e) le 17 janvier 2008 Posté(e) le 17 janvier 2008 (1 . "Z*") à quoi correspond le 1 et quelles sont mes possibilités de choisir plus lettres ? Dans la liste des données DXF des objets AutoCAD, chauqe groupe de données a un code de groupe qui permet de les identifier et de les retrouver dans une liste. Le code de groupe 1 pour les entés TEXT, MTEXT, ATTRIB etc... correspond à la valeur du texte. Les filtres de sélection pour les chaînes de caractères accèptent les caractères génériques comme l'astérisque (*), par exemple qui est interprétée comme "n'importe quel caractère". Exemples(ssget "_X" '((0 . TEXT) (1 . "Z*"))) sélectionne toutes les entité TEXT qui commencent par Z comme Zéro, Zorro, Zipo etc...si tu remplaces "Z*" par "Zé*" le texte "Zéro" sera sélectonné pas "Zorro" ni "Zipo"si tu remplaces "Z*" par "*ro" les textes "Zéro" et "Zorro" qui finissent tous les deux par "ro" seront sélectionnés mais pas "Zipo".si tu remplaces "Z*" par "*r*" les textes "Zéro" et "Zorro" qui contiennent tous les deux "r" seront sélectionnés mais pas "Zipo". Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
speedy Posté(e) le 18 janvier 2008 Auteur Posté(e) le 18 janvier 2008 Bonjour j'ai posé la question (comme j'avais fait l'essai que ça ne marchait pas), c'est surement un problème de casse... pour filtrer les textes c'est bon, mais si je veux filtrer tous les chiffres (de 1 à x)...comment devrais je m'y prendre dans mon étape une je filtre, j'aimerais savoir comment attribuer une couleur aux éléments filtréset leur dire d'aller dans ce calque là (par clique à un élément éxistant ou taper le nom du calque) @+ Michel a
(gile) Posté(e) le 18 janvier 2008 Posté(e) le 18 janvier 2008 Salut, Pour sélectionner tous les textes contenant des chiffres : (sssetfirst nil (ssget "_x" '((0 . "TEXT") (1 . "*[0-9]*")))) Pour en savoir plus sur les filtres de sélection, regarde dans l'aide aux développeurs, à la fonction ssget, en bas de la page, il y a un lien vers la rubrique Selection Set Filter Lists et en bas de la page de cette rubrique, 3 liens :- Wild-Card Patterns in Filter Lists pour l'utilisations des caractères génériques (groupes de type chaîne)- Relational Tests pour des tests de relation (groupes numériques)- Logical Grouping of Filter Tests pour les tests logiques (AND, OR, NOT, XOR) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
speedy Posté(e) le 18 janvier 2008 Auteur Posté(e) le 18 janvier 2008 Bonjourj'ai posé la question hier j'étais à la bourre, mais là je vais essayé de voir l'aide.... Merci de l'aide @+ Michel a
speedy Posté(e) le 22 janvier 2008 Auteur Posté(e) le 22 janvier 2008 Bonjour J'ai réussi à filtrer mes textes tout c'est bien passé......par contre pour les chiffres uniquement (il aurait fallut qu'il n'y ait que des chiffres.. j'ai trois types de données: (la numerotation de 1 à ...), le Z et le Point1Z : 100.00P : 200 avec le filtre contenant : (1 . "*[0-9]*), il me selectionne tout... comment éxiger que des chiffres ? Merci Michel a
(gile) Posté(e) le 22 janvier 2008 Posté(e) le 22 janvier 2008 Salut, Avec les filtres de sélection et les caractères génériques, tu peux, par exemple, filtrer tous les textes qui commencent par un chiffre :(sssetfirst nil (ssget "_x" '((0 . "TEXT") (1 . "[0-9]*")))) ou encore écarter tout ceux qui commencent par une lettre :(sssetfirst nil (ssget "_x" '((0 . "TEXT") (1 . "[~A-Z]*")))) Il est possible aussi, de parcourrir le jeu de sélection de tous les textes, pour faire 3 jeux de sélection contenant soit les points (ss_pt) soit les altitudes (ss_alt) soit les numéros (ss_num) : (and (setq ss (ssget "_X" '((0 . "TEXT")))) (setq ss_num (ssadd) ss_alt (ssadd) ss_pt (ssadd) n 0 ) (while (setq txt (ssname ss n)) (setq val (cdr (assoc 1 (entget txt))) n (1+ n) ) (cond ((numberp (read val)) (ssadd txt ss_num)) ((= (substr val 1 1) "Z") (ssadd txt ss_alt)) ((= (substr val 1 1) "P") (ssadd txt ss_pt)) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
speedy Posté(e) le 22 janvier 2008 Auteur Posté(e) le 22 janvier 2008 Merci Gile je vais essayé de faire quelque chose avec tes lignes de code... @+ Michel a
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