joris25 Posté(e) le 19 octobre 2017 Posté(e) le 19 octobre 2017 Bonjour à tous, j'ai cherché dans cad xp, mais je n'ai pas trouvé de lisp qui permettrait de selectionner par exemple 25 polylignes et de toute les hachurer d'un coup (hachures séparées) et que chaque hachure est la meme couleur que la polyligne lui ayant servi de base, sachant que les polylignes seront toutes dans le meme calque et en couleur forcée. Je vous remercie par avance ...
DenisHen Posté(e) le 19 octobre 2017 Posté(e) le 19 octobre 2017 Salut. Ça m'étonnerais beaucoup que quelqu'un ait ça dans sa besace, mais on ne sait jamais. Après, le Lisp ne doit pas être bien compliqué... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
didier Posté(e) le 19 octobre 2017 Posté(e) le 19 octobre 2017 Coucou Encore une fois on parle de réinventer la rouePourquoi faire un lisp ?Il faudrait de toute façon sélectionner les polylignes, les forcer de couleur n'est pas vraiment un souci !En natif c'est tellement simple Je ne veux pas ne pas te répondre, le lisp est facile à faire, je voudrais qu'on pense AutoCAD natif avant de faire des lisp à tour de brasOu bien c'est dans un but éducatif et là je dis OK, on te filera de l'aide su tu veux t'y coller. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
DenisHen Posté(e) le 20 octobre 2017 Posté(e) le 20 octobre 2017 Salut à vous.Ou bien c'est dans un but éducatif et là je dis OK, on te filera de l'aide su tu veux t'y coller.C'est dans cette optique que j'ai répondu... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
joris25 Posté(e) le 20 octobre 2017 Auteur Posté(e) le 20 octobre 2017 Pardon à vous mais je ne vois pas pourquoi vous dites que c'est faisable facilement sans lisp.Si vous avez 10 polylignes rouges 10 vertes 10 bleu 10 jaunes 10 orange 10 violette 10 marron 10 magenta etc .. etc ..300 polylignes dans une vingtaine de couleurs différentes.. sans lisp il faut les selectionner par couleur puis appliquer la hachure, c'est vrai que c'est pas insurmontable.. et recommencer la selection pour chaque couleur, si vous avez trois couleurs differentes c'est pas très long, mais si vous avez 20 couleurs (ou +) différentes.. En tout cas en natif créer une hachure dont la couleur est celle de l'objet servant de base à la hachure (polyligne en couleur forcée) et le faire sur pleins d'objet à la fois, je ne vois pas du tout comment faire... (ce qui veut dire que j'ai cherché.... :wub: avant d'appeler mon dernier recours CAD XP .. Dans l'attente de vous lire je vous souhaite à tous une excellente fin de journée..
bonuscad Posté(e) le 20 octobre 2017 Posté(e) le 20 octobre 2017 Bonjour, Je pense que tu sera obligé de retoucher le code suivant.Au départ; il était conçu pour faire des hachures individuelles en ANSI31 en orientant le motif sur le plus grand coté de la polyligne, ceci pour toute les polylignes fermées sélectionnées.J'ai donc juste rajouté la couleur à transmettre à la hachure. (defun c:multi_hatch-45 ( / js n model_hatch scale_hatch ang_hatch ent dxf_ent col lst_pt lst_d where alpha dxf_hatch) (setq js (ssget '((0 . "LWPOLYLINE") (-4 . "<AND") (-4 . "&") (70 . 1) (-4 . "AND>")))) (cond (js (setq n -1 model_hatch (getvar "HPNAME") scale_hatch (getvar "HPSCALE") ang_hatch (getvar "HPANG") ) (setvar "HPNAME" "ANSI31") (setvar "HPSCALE" (* (getvar "HPSCALE") (getvar "DIMSCALE"))) (repeat (sslength js) (setq ent (ssname js (setq n (1+ n))) dxf_ent (entget ent) col (if (assoc 62 dxf_ent) (cdr (assoc 62 dxf_ent)) 256) lst_pt (mapcar '(lambda (x) (trans x ent 0)) (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) dxf_ent))) lst_d (mapcar 'distance lst_pt (cons (last lst_pt) lst_pt)) where (- (length lst_pt) (length (member (apply 'max lst_d) lst_d))) alpha (angle (if (zerop where) (last lst_pt) (nth (1- where) lst_pt)) (nth where lst_pt)) ) (setvar "HPANG" (angle (trans '(0 0 0) 0 1) (trans (polar '(0 0 0) alpha scale_hatch) 0 1))) (command "_.HATCH" "" "" "" ent "") (if (assoc 62 (setq dxf_hatch (entget (entlast)))) (entmod (subst (cons 62 col) (assoc 62 dxf_hatch) dxf_hatch)) (entmod (append dxf_hatch (list (cons 62 col)))) ) ) (setvar "HPNAME" model_hatch) (setvar "HPSCALE" scale_hatch) (setvar "HPANG" ang_hatch) ) (T (princ "\nAucune LWPOLYLINE fermée trouvé !")) ) (princ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Geof Posté(e) le 20 octobre 2017 Posté(e) le 20 octobre 2017 Bonjour, En tout cas en natif créer une hachure dont la couleur est celle de l'objet servant de base à la hachure (polyligne en couleur forcée) et le faire sur pleins d'objet à la fois, je ne vois pas du tout comment faire... Il y a bien une solution, forcé la couleur dans les propriétés (donc prendre celle des polylignes) puis dans les propriétés de la création de Hachures tu mets "Utiliser la valeur courante" et dans Options "Créer des hachures séparées". Tu peux ensuite sélectionner toutes tes polylignes de la couleur forcé. Tu as également la sélection rapide (par couleur dans ce cas) pour séparer les polylignes d'une certaine couleur du reste de ton fichier puis les remettre une fois les hachures créées.Personnellement si c'est un problème ponctuel c'est comme ça que je procéderais. Edit : Trop lent bon courage
joris25 Posté(e) le 20 octobre 2017 Auteur Posté(e) le 20 octobre 2017 BONUSCAD : je vous remercie grandement c'est exactement pile poil ce que je voulais MERCI Chapeau l'artiste....
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