bseb67 Posté(e) le 1 mars 2011 Posté(e) le 1 mars 2011 Salut à tous, Voulant optimiser des vieilles fonctions,je me retrouve sur un cas où je cherchait à tester le Z des lignes. Enfin surtout celles dont le Z (point de départ ou d'arrivée) ne vaut pas 0.0. après une petite recherche : (setq LIGNEz (ssget "X" (list '(0 . "LINE") '(-4 . " '(-4 . "*,*,<>") (list 10 0.0 0.0 0.0) '(-4 . "*,*,<>") (list 11 0.0 0.0 0.0) '(-4 . "OR>") ))) (-4 . "*,*,<>") afin de filtrer le X, Y et Z de tel façon qu'on ignore la valeur du X ou du Ymais que le Z soit différent de 0 Car auparavant, la fonction bouclait sur toutes les lignes, et donc avecdes fichiers chargés en lignes... le temps d'exécution explosait. Conclusion : toujours bien faire le SSGET avant de traiter les entités, pour éviterde les filtrer une seconde fois. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
krunch Posté(e) le 2 mars 2011 Posté(e) le 2 mars 2011 Dommage qu'on ne puisse pas faire ça pour les objets des calques verrouillés
(gile) Posté(e) le 2 mars 2011 Posté(e) le 2 mars 2011 Salut, (ssget "_:L") permet de filtrer les objets sur les calques non verrouillés, mais il faut faire la sélection "à la main" ou entrer "tout". Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 3 mars 2011 Posté(e) le 3 mars 2011 Salut (ssget "_:L") permet de filtrer les objets sur les calques non verrouillés, mais il faut faire la sélection "à la main" ou entrer "tout".En effet, je ne connaissais pas ce filtre (il n'est d'ailleurs pas décrit dans l'aide ssget), et en effet il n'accepte pas d'argument supplémentaire (point) :-( Alors pour filtrer j'utilise la fonction (acet bns_ss_mod), mais ça revient à faire un post-filtrage, sans doute à peine plus rapide qu'une itération..
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