Oli35 Posté(e) le 4 mai 2005 Posté(e) le 4 mai 2005 Bonjour à tous ! Voilà j'ai un nombre impressionnant de polylignes (toutes dans le même calque) à hachurer, et je voudrais pouvoir le faire de manière à ce que chaque hachure soit associée à sa polyligne... Y a-t-il une routine lisp ou autre chose qui puisse me faire gagner du temps ? (une par une c'est galère...) Merci d'avance... Olivier
MNT Posté(e) le 4 mai 2005 Posté(e) le 4 mai 2005 Bonjour, une possibilité avec Covadis : Covadis 2d Habillage Hachurage contours/calque au pire envoi moi le fichier en me précisant le type de hachurage souhaité tot.o@caramail.com @+ Le Hamac est une science exacte qui ne tolère pas l'amateurisme.
lecrabe Posté(e) le 4 mai 2005 Posté(e) le 4 mai 2005 Bonjour Autre solution très facile, si tu disposes d'un AutoCAD MAP (quelque soit la version) : - Requete sur les polylignes (closes) du calque en question (ou des calques) avec l'option de modification des proprietes et generation automatique d'une hachure sur chaque polyligne. Ou bien si tu as un AutoCAD / MAP 2006, il y a une nouvelle option dans la case de dialogue des hachures: "Create Separate Hatches".qui donc genere des hachures separees pour chaque objet selectionne. Question: Quelqu'un peut il me dire si cette option existe dans AutoCAD LT 2006 ??? Le Decapode Autodesk Expert Elite Team
Les4M Posté(e) le 4 mai 2005 Posté(e) le 4 mai 2005 Bonjour à tous Voici un bout de code récupéré qui doit pouvoir faire l'affaire ;commande qui remplit plusieurs polylignes d'un coup(defun c:mhatch (/ cmdecho ss i ss1) (setq cmdecho (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "_UNDO" "_G") (setq ss (ssget '((0 . "POLYLINE,LWPOLYLINE"))) i -1 ss1 (ssadd) ) (repeat (sslength ss) (command "_.hatch" "s" (ssname ss (setq i (1+ i))) "") (ssadd (entlast) ss1) ) (command "_.draworder" ss1 "" "_b") (command "_UNDO" "_E") (setvar "CMDECHO" cmdecho) (princ) ) C'est en partageant qu'on avance Marc
Susana Posté(e) le 6 mai 2005 Posté(e) le 6 mai 2005 C'est possible avec Autodesk CIVIL 3D en utilisant les outils Parcelles. L'avantage de CIVIL3D, c'est qu'il ajoute aussi (si tu le souhaites) la surface au centre du contour et la cotation automatiques des entités. Et si tu changes le style de parcelle (par exemple le motif ou l'échelle des hachures) : toutes les hachures de ton dessin sont aussitôt mises à jour. Tu peux mettre à jour ton AutoCAD vers CIVIL3D Sus, :)
Oli35 Posté(e) le 9 mai 2005 Auteur Posté(e) le 9 mai 2005 Merci à tous pour vos conseils éclairés ! Bonne journée A+ Olivier
bonuscad Posté(e) le 9 mai 2005 Posté(e) le 9 mai 2005 Marc, Sympa ton code! En le modifiant légérement; (ssget) avec des filtre approprié et en utilisant "-fhach" pour pouvoir avoir des hachures associatives aux contour (ca peut être utile), on obtient des hachures individuelles pour chaque contour. La routine accepte toute les entités fermées pouvant être hachurées. (defun c:mhatch (/ cmdecho ss i ss1) (setq cmdecho (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "_.UNDO" "_Group") (setq ss (ssget '((-4 . "< OR") (-4 . "< AND") (0 . "POLYLINE") (-4 . "< AND") (-4 . "&") (70 . 1) (-4 . "< ") (70 . 16) (-4 . "AND>") (-4 . "AND>") (-4 . "< AND") (0 . "LWPOLYLINE") (-4 . "< AND") (-4 . "&") (70 . 1) (-4 . "AND>") (-4 . "AND>") (-4 . "< AND") (0 . "MLINE") (-4 . "< AND") (-4 . "=") (71 . 3) (-4 . "AND>") (-4 . "AND>") (-4 . "< AND") (0 . "CIRCLE") (-4 . "AND>") (-4 . "< AND") (0 . "3DFACE") (-4 . "AND>") (-4 . "< AND") (0 . "ELLIPSE") (-4 . "< AND") (-4 . "=") (41 . 0) (-4 . "=") (42 . 6.283185307179586) (-4 . "AND>") (-4 . "AND>") (-4 . "< AND") (0 . "SPLINE") (-4 . "< AND") (-4 . "&") (70 . 1) (-4 . "AND>") (-4 . "AND>") (-4 . "< AND") (0 . "REGION") (-4 . "AND>") (-4 . "OR>")) ) i -1 ss1 (ssadd) ) (repeat (sslength ss) (command "_.-bhatch" "_properties" "_solid" "_select" (ssname ss (setq i (1+ i))) "" "") (ssadd (entlast) ss1) ) (command "_.draworder" ss1 "" "_back") (command "_.UNDO" "_End") (setvar "CMDECHO" cmdecho) (princ) ) Lors de la correction du code pour que tout apparaisse, j'ai placé un espace après le "<" Si ça ne vas toujours pas, c'est de ce coté qu'il faut regarder. [Edité le 25/5/2005 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
kclement Posté(e) le 25 mai 2005 Posté(e) le 25 mai 2005 Bonjour, Lorsque j'ai vu le sujet du message, je me suis dit "wow, super si ça marche !". Mais voilà : sur mon PC, la version de Bonucad ne marche pas et j'ai besoin que les hachures soient associatives. J'ai bien essayé quelques modifs, mais je ne suis pas douée en LISP... Alors j'ai vu là ma prmière occasion de poster un message sur ce Forum... En fait quand je lance la verification du programme j'ai ce essage d'erreur : erreur: cdrs supplémentaire dans la paire pointée en entrée. Est ce dû à ma version d'Autocad (Autodesk Architectural Desktop 2005) ou y a-t-il effectivement une erreur dans le programme ? Ce serait vraiment cool d'avoir un programme qui fonctionne, ça me ferait gagner un temps fou ! Merci d'avance pour votre réponse et continuez comme ça ;) !!! kclement
bonuscad Posté(e) le 25 mai 2005 Posté(e) le 25 mai 2005 Je me fais toujours avoir avec le BBCode de CadXp qui "shunte" certains caractères spéciaux lors du copier coller. Je vais essayer de modifier le post du code Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
kclement Posté(e) le 6 juin 2005 Posté(e) le 6 juin 2005 Je n'ai que 3 mots à dire : Wow, youpiiiiii et merci ! C'est vrai au début je n'arrivais toujours pas à le faire fonctionner :casstet: et c'est en allant sur un autre post que j'ai vu qu'il fallait enlever les espaces après les "<". Et là : le bonheur total !!!! :D Encore merci !
kallain Posté(e) le 6 juin 2005 Posté(e) le 6 juin 2005 Salut, Sympa cette routine ; des multiples hachures séparées et associatives : Ca va servir Mais uniquement avec la type de hachure "Solid". Car en changeant le type de hachure dans le lisp, cà marche plus. :exclam: Est-ce vrai ? PS : Je connais rien au Lisp ;)
bonuscad Posté(e) le 6 juin 2005 Posté(e) le 6 juin 2005 En changeant que le nom, ça ne suffit pas.Pour t'en rendre compte tu fait la même chose qu'en ligne de commande et tu fournis les options dans le même ordre. (comme un script)ce qui pourrais donner suivant le motif choisi. en SOLID:(command "_.-bhatch" "_properties" "_solid" "_select" (ssname ss (setq i (1+ i))) "" "") en MOTIF PREDEFINI:(command "_.-bhatch" "_properties" "_ANSI31" "1" "0" "_select" (ssname ss (setq i (1+ i))) "" "") en MOTIF UTILISATEUR:(command "_.-bhatch" "_properties" "_U" "45" "1xp" "_no" "_select" (ssname ss (setq i (1+ i))) "" "") Ce dernier peut être interessant au niveau de l'échelle. Le "XP" vas te calculer l'échelle par rapport à l'espace papier pour que tu ais 1 unité d'intervalle dans l'EP. On pourrais sophistiquer le programme en regardant et en fixant les variables: HPANG , HPDOUBLE , HPNAME , HPSCALE , HPSPACE et peut être HPBOUND.Dans ce cas l'option "Point interne" serait aussi sympa à mettre en place. (ça je l'ai déjà fait, je vous laisses trouver) A vos claviers! ;) 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