Aller au contenu

virer les hachures et images d\'archicad


x_all

Messages recommandés

bonjour

 

je bosse souvant avec des plans venant d'archicad.

 

ce logiciel à la détestable habitude de créer des blocs en pagaille...et d'utiliser les hachures "solid" voire des images raster intégrées aux objets pour la décoration...

pour tracer du vrd, c'est pas le top -pb de visibilité dessus dessous... grrr

 

bref je passe pas mal de temps à ouvrir chaque objets (parfois deux arbres identique mais à des échelles différentes ou avec un changement d'orientation sont deux objets distinct) et effacer les hachures et virer les images pour me créer un Xref "propre" (à reffaire a chaque MAJ pour pas dire, changement d'humeur, de l'archi :) )

 

j'ai vu passer un scipt qui il me semble permettait de faire ça mais j'arrive plus à le retrouver (ou alors je rêve encore?)

je ne parle pas du très utile edit_bloc de gille qui me permet de tout passer en "dubloc" pour griser mon fond de plan.

 

si qqu1 l'a sous la main merci de me le remettre en lien (ou si un codeur sympathique à un peu de temps).... Merci !!

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

J'ai fait récemment une petite routine pour nettoyer de leurs wipeouts (images raster "vides") les fichier sen provenance de Solidworks (ici, réponse 7, page 2). Cette routine purge "en profondeur" dans les blocs et blocs imbriqués.

 

En voici une adaptation qui supprime aussi les hachures SOLID et les images raster. J'ai laissé les wipeouts parmi les objets à supprimer, si tu veux les conserver, supprime (ou "commente" avec un point virgule devant) la ligne :

(= (vla-get-ObjectName ent) "AcDbWipeout")

 

(defun c:PurgeArchiCad (/ cnt)
 (setq	cnt 0
 )
 (vlax-for bloc (vla-get-Blocks
	   (vla-get-ActiveDocument (vlax-get-acad-object))
	 )
   (vlax-for ent bloc
     (if (or
    ;; Wipeouts
    (= (vla-get-ObjectName ent) "AcDbWipeout")

    ;; Images raster
    (= (vla-get-ObjectName ent) "AcDbRasterImage")

    ;; Hachures solides
    (and (= (vla-get-ObjectName ent) "AcDbHatch")
	 (= (vla-get-PatternName ent) "SOLID")
    )
    ;;-------------------
  )
(progn
  (vla-delete ent)
  (setq cnt (1+ cnt))
)
     )
   )
 )
 (princ (strcat "\n\t"
	 (itoa cnt)
	 " objets supprimés"
 )
 )
 (princ)
) 

[Edité le 11/10/2007 par (gile)]

 

[Edité le 8/1/2008 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

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é