zebulon_ Posté(e) le 10 août 2005 Posté(e) le 10 août 2005 Bonjour à tous, Je pose le problème : - j'ai beaucoup de polylignes fermées que je dois hachurer- chaque polylignes doit avoir sa propre hachure Si je lance la commande hachure et je sélectionne les n polylignes fermées d'un seul coup, je n'ai malheureusement pas n hachures mais une seule. Alors si je veux n hachures, il faut que je lance n fois la commande hachure ?? Et ça me fatigue ... Il n'y aurait pas par hasard une variable pour paramétrer la fonction hachure ? Sinon, va falloir que je me bricole un ptit lisp Merci Zebulon_ C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
jifi Posté(e) le 10 août 2005 Posté(e) le 10 août 2005 Salut, A priori, pas d'autre solution que de les faire une à une. :mad: A partir de la version AutoCAD 2006, il y a une option dans la boîte de dialogue des hachuires qui permet de séparer les hachures. :thumbup: A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
michael Posté(e) le 10 août 2005 Posté(e) le 10 août 2005 j'ai fait plusieurs figures en polylignes et j'ai hachuré tout d'un couppar contre c'est le même motif de hauchure pour tout michael
Tramber Posté(e) le 10 août 2005 Posté(e) le 10 août 2005 Le vrai raccourci, c'est de selectionner une entité fermée et de taper H (et oui) puis plusieurs fois ENTREE !Ca va encore bcp + vite si on fait le choix d'objet après. Si un choix de hachures a déjà été au préalable fait ca roule tout seul.Facile à mettre dans un bouton de script. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
zebulon_ Posté(e) le 10 août 2005 Auteur Posté(e) le 10 août 2005 merci, ce qu je vais faire c'est un lisp qui va faire un ssget en filtrant les polylignes fermées (code dxf 70, a priori), puis faire une boucle while qui lance une commande hachure pour chaque polyligne fermée On fera ça demain, je vous tiens au courant. Zebulon_ C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
zebulon_ Posté(e) le 11 août 2005 Auteur Posté(e) le 11 août 2005 volià ce que ça pourrait donner : (defun c:PHatch () (prompt "\nSélectionner des polylignes fermées") (setq ss (ssget '((0 . "LWPOLYLINE") (70 . 1)))) (if ss (progn (setq ssl (sslength ss)) (setq I 0) (while (< I ssl) (command "-fhach" "P" "SOLID" "_a" "_a" "_y" "" "_s" (ssname ss I) "" "") (setq I (+ I 1)) ) ) ) (princ)) C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
Patrick_35 Posté(e) le 11 août 2005 Posté(e) le 11 août 2005 Salut Zebulon_,J'ai un peu remanié ton lisp, c'est juste pour t'indiquer deux ou trois trucs @+ (defun c:PHatch (/ cmd i ss) (setq cmd (getvar "cmdecho") i 0) (setvar "cmdecho" 0) (command "_.undo" "_group") (prompt "\nSélectionner des polylignes fermées") (if (setq ss (ssget '((0 . "LWPOLYLINE") (70 . 1)))) (while (ssname ss i) (command "_.hatch" "SOLIDE" "" "" (ssname ss I) "") (setq i (1+ i)) ) ) (command "_.undo" "_end") (setvar "cmdecho" cmd) (princ) ) Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
zebulon_ Posté(e) le 11 août 2005 Auteur Posté(e) le 11 août 2005 C'est vrai que c'est plus simple pour l'utilisateur de pouvoir faire un seul undo après le lisp, surtout si le lisp crée beaucoup de choses.El le CMDECHO à 0 fait en sorte que le lisp avance plus vite puisqu'il ne se fatigue pas à afficher sur la ligne de commande ce qu'il est en train de faire.Deux choses à ne pas oublier en début et fin de chaque lisp. Et ssname renvoie nil si l'indice est négatif ou s'il est supérieur à l'entité numérotée la plus grande du jeu de sélection. On peut donc s'en servir comme condition d'arrêt de la boucle while comme tu l'as fait.D'autre part, je n'utilise jamais les fonctions arithmétiques 1+ et 1-, parce que je ne vois pas trop ce que ça apporte de plus d'écrire (1+ n) plutôt que (+ 1 n) ? Amicalement Zebulon_ C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
bonuscad Posté(e) le 12 août 2005 Posté(e) le 12 août 2005 Slt Un oeil à ce fil où ce thème était évoqué. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
zebulon_ Posté(e) le 16 août 2005 Auteur Posté(e) le 16 août 2005 Un bel exemple de ce qu'on peut faire avec les filtres de ssgtet et avec ssadd merci Zebulon_ [Edité le 16/8/2005 par zebulon_] C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
jifi Posté(e) le 16 août 2005 Posté(e) le 16 août 2005 Salut, Un grand merci à ceux qui nous mettent à disposition des petits LISPs de ce genre, c'est bien utile. :heartpump: ;) :D A+ Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
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