fiesta13310 Posté(e) le 17 octobre 2018 Posté(e) le 17 octobre 2018 Bonjour, Lorsque je reçois des plans archi, souvent les murs sont des blocs, et les hachures des murs sont du type SOLID. Je voudrais savoir s'il existait un LISP qui permettrai de remplacer toute les hachure SOLID par un autre type de hachure, même celles qui sont à l'intérieur des blocs. Un peu comme edit-bloc... Merci :D
hey_bapt Posté(e) le 17 octobre 2018 Posté(e) le 17 octobre 2018 Salut, pour plus de lisibilité il aurait peut être mieux valu que tu fasses ce sujet dans la partie LISP justement ? Ceci dit, je n'ai pas la réponse à ta question, j'avais vu une ancienne conversation à cette adresse où il est question de convertir les solides en polylignes... Il y a peut être pas grand chose à modifier/ajouter pour avoir le rendu que tu voudrais, mais je n'ai pas les compétences pour le faire !
fiesta13310 Posté(e) le 17 octobre 2018 Auteur Posté(e) le 17 octobre 2018 Salut! L'adresse que tu me donnes permettant de convertir les solides en polylignes est top, mais moi pour le coup, j'ai déjà une polyligne fermée avec une hachure SOLID à l'intérieur, et le tout dans un bloc qui compose un mur.tous mes murs sont des blocs différents. Je ne peux pas les éclater car en plus à l'intérieur j'ai des menuiseries qu'on peut voir grâce à la fonction nettoyer, si j'éclate tout ça devient carrément illisible. Mais merci d'avoir essayé de m'aider.
Patrick_35 Posté(e) le 17 octobre 2018 Posté(e) le 17 octobre 2018 Salut Par exemple(defun c:rha(/ blo doc ent hachure nouvelle tot) ;;; =========================================================================== ;;; Paramètres à définir par l'utilisateur ; L'hachure à remplacer (setq hachure "SOLID") ; L'hachure remplacante (setq nouvelle "ANSI31") ;;; Fin des paramètres à définir par l'utilisateur ;;; =========================================================================== (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object)) tot 0 ) (vla-startundomark doc) (vlax-for blo (vla-get-blocks doc) (and (= (vla-get-isxref blo) :vlax-false) (vlax-for ent blo (and (eq (vla-get-objectname ent) "AcDbHatch") (eq (strcase (vla-get-patternname ent)) (strcase hachure)) (setq tot (1+ tot)) (vla-setpattern ent acHatchPatternTypePreDefined nouvelle) ) ) ) ) (vla-regen doc :vlax-true) (vla-endundomark doc) (princ (strcat "\nModification de " (itoa tot) " hachure(s).")) (princ) ) Ne pas oublier de changer "SOLID" et "ANSI31" dans les paramètres à définir par l'utilisateur afin de faire correspondre au besoin. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
fiesta13310 Posté(e) le 17 octobre 2018 Auteur Posté(e) le 17 octobre 2018 Et bien MERCI BEAUCOUP!! :)
ToNiSOu Posté(e) le 18 juillet 2019 Posté(e) le 18 juillet 2019 Bonjour Patrice,merci pour cet excellent lisp,elle m'a permis de modifier les noms des hachures sur au moins 1000 blocs en un coup. cependant j'aimerai une lisp qui permet aussi avec un outil "definir l'hachure" et avec un point à tout hasard peu importe.car j'ai personnalisé hachure en pat, je suis bien obligé de définir hachure avec un point rendre une hachure fixe.cela m'arrangerait de définir l'hachure à tout les blocs. c'est faisable?
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