Aller au contenu

Remplacer des hachures dans blocs


Messages recommandés

Posté(e)

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

Posté(e)

Salut,

 

pour plus de lisibilité il aurait peut être mieux valu que tu fasses ce sujet dans la partie LISP justement ? :rolleyes:

 

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 !

Posté(e)

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.

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

  • 9 mois après...
Posté(e)

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?

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité