davidcad01 Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 lors de réception de fichier dwg venant d'une conversion d'archicad ou revit architecture, je rencontre souvent le meme probleme. De nombreux blocs (prenons l'exemple d'un arbre) ont des noms différents alors qu'ils sont tous identiques.dans le cas de mon exemple, si mon plan possede 500 arbres identiques, ils y aura 500 blocs (arbre1, arbre2, arbre3...ect).Toujours dans cet exemple, le probleme est que je me retrouve avec un fichier d'une taille disproportionnée et l'interet des blocs disparait alors car le dessin d'un arbre (par un archi) est souvent un modele complexe et pas seulement un cercle. existe t'il un lisp qui sait reconnaitre quand plusieurs blocs ont la meme structure pour pouvoir n'en faire qu'un seul qui remplace les 500 existants (dans le cas de mon exemple)? Merci pour vos réponses. poser une question c'est prendre le risque de paraitre bete 5 minutes. ne pas en poser c'est prendre le risque de le rester toute sa vie.
lecrabe Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Hello Gilles avait developpe en Juillet 2009 un truc un peu comparable ;; 07/2009 - par GC;; Programme qui à partir d'une selection AutoCAD classique trouve;; tous les blocs "*Uxxxxx" et les transforme en bloc BB_xxxxx par exemple !;; avec question prealable du prefixe ;; Les blocs dynamiques inseres dans le dessin (pas ceux imbriques) sont epargnes. Pour ton probleme, il faut avoir une version parfaitement adapte a ton besoin ! Questions :Demande du prefixe des noms de blocs a traiter, par exemple : ARBRE*Demande du nom de bloc final, par exemple : ARBet on utilise bien sur le graphique du 1er bloc ARBRE* traite ... On espere que TOUS ces blocs ont les memes attributs (si ils ont des attributs) Voila ce que j'a compris de ton besoin ... Le Decapode Autodesk Expert Elite Team
bseb67 Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Tiens, tiens, cela me dit quelque chose ce problème blocs :cool: Chez moi, ce n'était pas les arbres, mais les portes et fenêtres.Il y en avait dans 200-300 blocs étalés sur pas loin de 150définitions. En fait après avoir un peu regardé(à la main) des blocs identiques ayantle même nom sous autocad avaient les mêmes propriétés (sauf le point d'insertion) Le même bloc (visuellement) mais simplement pivoté ou en miroir généraitun bloc d'un autre nom. Et là, c'est pas génial :( Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
davidcad01 Posté(e) le 12 janvier 2010 Auteur Posté(e) le 12 janvier 2010 Merci Mr 10pieds (le crabe n'en a pas 8 ?). Malheureusement le probleme est plus complexe. Dans l'exemple d'un hopital (un des projets sur lequelle j'ai rencontré ce probleme) Chaque dalle au sol (un rectangle donc) est un bloc. Chaque dalle est sur le meme calque et fait la meme dimension (d'ou l'interet d'un bloc)Mais chaque dalle est en réalité un bloc différent.J'ai donc 600 blocs qui s'appellent "dalleXX" J'ai aussi 250 blocs "porteXX" ou 400 "baie vitréeXX"(Baignoires, douches, eviers, tables, chaises... toujours identiques mais systematiquement avec un nom de blocs différents et parfois meme imbriqué dans d'autres blocs !) MAIS... j'ai plusieurs type de porte quand meme 90cm de large pour certaines ou double porte ou porte vitrée... ect, et toutes s'appellent : "portesXX". Ces blocs n'ont (pour la plupart) pas d'attributs.ils sont en tout point similaire a l'exception de leur position et de leur noms (et parfois echelle rotation ou miroir) Je ne pense pas etre le seul à rencontrer ce probleme car c'est un souci récurent que je rencontre avec différents architectes travaillants avec d'autre logiciel (archicad et autres ). Le bipede. poser une question c'est prendre le risque de paraitre bete 5 minutes. ne pas en poser c'est prendre le risque de le rester toute sa vie.
davidcad01 Posté(e) le 12 janvier 2010 Auteur Posté(e) le 12 janvier 2010 effectivement Besb ! Pas génial... et bonjour la taille du fichier ! poser une question c'est prendre le risque de paraitre bete 5 minutes. ne pas en poser c'est prendre le risque de le rester toute sa vie.
Patrick_35 Posté(e) le 12 janvier 2010 Posté(e) le 12 janvier 2010 Salut Avec Rbloc, tu as la possibilité de remplacer des blocs n'ayant pas le même nom par un même bloc @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
davidcad01 Posté(e) le 12 janvier 2010 Auteur Posté(e) le 12 janvier 2010 dans la mem veine j'utilise le module "express" avec la fonction "replace block with another block". Malheureusement encore trop fastidieux. poser une question c'est prendre le risque de paraitre bete 5 minutes. ne pas en poser c'est prendre le risque de le rester toute sa vie.
SupportCova Posté(e) le 14 janvier 2010 Posté(e) le 14 janvier 2010 Bonsoir, avec ce petit bout de lisp (defun C:RBL ( / JEU I NbElt Bloc sNomBloc BlocLst) (setq JEU (ssget (list (cons 0 "INSERT")))) (setq NbElt (sslength JEU) I 0) (repeat NbElt (setq Bloc (ssname JEU I)) ;SI c'est le 1er bloc, ALORS stocke son nom (if (= I 0) (progn (setq sNomBloc (cdr (assoc 2 (entget Bloc)))) ) ;SINON remplace son nom par celui stocké (progn (setq BlocLst (entget Bloc)) (setq BlocLst (subst (cons 2 sNomBloc) (assoc 2 BlocLst) BlocLst)) (entmod BlocLst) ) ) (setq I (1+ I)) )) Sélectionne tous les blocs de même type et il prenne tous le nom du 1er bloc sélectionné. Support Technique Covadis
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