Aviglémy Posté(e) le 23 décembre 2003 Posté(e) le 23 décembre 2003 Bonjour à tous !Je cherche comment avoir la sélection rapide SANS la fenêtre de dialogue (dans la barre de commande...)Et surtout si c'est possible ? A+ Rémy.
Invité Patrick Posté(e) le 23 décembre 2003 Posté(e) le 23 décembre 2003 Comment tu spécifierais tes critères de sélection? A la ligne de commande?
Aviglémy Posté(e) le 23 décembre 2003 Auteur Posté(e) le 23 décembre 2003 Justement on n'as pas accès à la liste de choix, avec un fonctionnement en tiroir.En Lisp, je veut juste isoler des polylignes 3D puis les décomposer.Et enfin les transformer en 2D. En expliquant le problème je me rend compte qu'il suffit de trouver un lisp qui fait la transformation 3D => 2D !Il y a des jours qu'on cherche vraiment n'importe comment ...!.. ;) Je part à le recherche de ce pas !Mais si tu as une idée ?Merci et joyeux Noël.Amicalement Rémy. [Edité le 23/12/2003 par Aviglémy]
Invité Patrick Posté(e) le 23 décembre 2003 Posté(e) le 23 décembre 2003 Si c'est en LISP, utilises la fonction (ssget), tu pourra faire la même chose qu'avec la commande de sélection rapide...ou que la commande _FILTER qui est l'ancêtre de la sélection rapide.
Aviglémy Posté(e) le 5 janvier 2004 Auteur Posté(e) le 5 janvier 2004 Bonjour et Bonne année ! .... Bon après les fêtes ca va toujours bien, mais le ssget me pose des problèmes j'ai : (setq ss2 (ssget '((0 . "POLYLINE")))) (command "_explode" ss2 ) Le filtre fonctionne avec déplacer, mais avec explode rien à faire il ne décompose que le dernier élément de la sélection ? :casstet: Pourriez vous m'indiquer si il existe une contrainte de programmation entre ssget et la command explode.Merci d'avance.
bonuscad Posté(e) le 6 janvier 2004 Posté(e) le 6 janvier 2004 Bonjour et Bonne année à toi aussi !.. :P En effet la contrainte de l'utilisation "_explode" par le lisp et que la commande attend par programmation le NOM de l'entitée.Tu dois donc parcourir ton jeu de sélection a l'aide de la fonction (ssname jeusel indice) à travers une boucle (while ...) ou (repeat ...) dans laquelle il ne faut pas oublié d'incrémenter ton indice pour parcourir tout le jeu de séléction. NB:La fonction xplode.lsp d'autodesk dans le dossier support est articulée comme cela. Voilà pour le principe Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Aviglémy Posté(e) le 6 janvier 2004 Auteur Posté(e) le 6 janvier 2004 Merci Bonuscad ! Mais je commence le Lisp et l'aide n'est pas très explicite, je me retrouve dans le pétrin : (setq ss2 (ssget '((0 . "POLYLINE")))) (setq sslen (sslength ss2) j 0 ) (while (< j sslen) (setq temp (ssname ss2 j)) (setq j (1+ j)) ) (command "_explode" j ) ) Je me doute que je tourne autour du pot, si quelqu'un peut m’aider. NB: J'ai bien trouvé le fichier xplode.lsp :thumbup: , ces quelques lignes sont quasi les mêmes... :P A+
bonuscad Posté(e) le 6 janvier 2004 Posté(e) le 6 janvier 2004 Désolé de n'avoir pas été plus explicite. C'est bien, tu étais près du but! 1ere erreur: sur le filtre de polyligne, ton filtre ne concernait que les anciennes polylignes pas les nouvelles2eme erreur: tu as soumis l'indice a la commande explode au lieu du NOM de l'entité3eme erreur: tu n'a pas inclu la commande explode dans la boucle En corrigé (en gardant la struture de ton code) cela donne (setq ss2 (ssget '((-4 . " (-4 . " (0 . "POLYLINE") (-4 . "AND>") (-4 . " (0 . "LWPOLYLINE") (-4 . "AND>") (-4 . "OR>")) ))(setq sslen (sslength ss2) j 0)(while (< j sslen) (setq temp (ssname ss2 j)) (setq j (1+ j)) (command "_.explode" temp)) Rappel:Pour en revenir a ta question d'origine, a tu essayé la routine SSX ou (ssx) des express tools pour utilisation dans une commande standard d'AutoCADNB : Je ne sais pas si cette fonction est toujours disponible en 2004 (2002 oui) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Aviglémy Posté(e) le 7 janvier 2004 Auteur Posté(e) le 7 janvier 2004 C'est OK !La routine ne fonctionne pas encore parfaitement, mais c'est une histoire de concentration... :cool: Bonuscad :cool: Impressionnant ! C'est pas que c'est difficile mais pour un débutant ...mais...eu... je me suis énervé et j'en ai plus beaucoup de cheveux. .... :) Pour ssx j'ai jeté un œil, mais bon franchement à quoi ça sert ?Je lance (explode) puis ('ssx)Il retourne par exemple:Current filter: ((0 . "LINE") (8 . "bdu-télécommunication") (210 0.0 0.0 1.0))Il me dit : 899 found.Et il ne décompose pas les éléments !? :( Bien je retourne sur le baudet.
bonuscad Posté(e) le 7 janvier 2004 Posté(e) le 7 janvier 2004 Au début on trébuche souvent, ((0 . "LINE") (8 . "bdu-télécommunication") (210 0.0 0.0 1.0)) ne peut fonctionner car il concerne des lignes (objet primitif) qui ne peuvent plus être décomposés. Je suppose que le filtre a été constitué par la sélection d'un objet modèle qui dans ton cas était une ligne La sélection d'une polyligne comme modèle aurait mieux convenu ;) Concentration... concentrationBonne chance Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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