Jump to content

NETTOYER FICHIER DWG ISSU REVIT ARCHICAD


Recommended Posts

BOnjour

je cherche a écrire un lisp pour nettoyer des fichiers issue de REVIT et ARCHICAD

déja en décomposant les blocs "MUR" "POUTRE" et "POTEAU"

 

autant les entités des blocs MUR et POTEAU sont dans les bonnes couches

autant les POTEAUX sont dans la couche "annotations" ( pas vraiment sa place)

avez vous un bout de lisp qui fait la liste des entités  issu d'un bloc précédemment décomposé,

suivant l'analyse de chaque entité de cette liste je repartis les entités  dans une autre couche

merci

 

Phil

;; ---------------------------------
;; NETTOYER FICHIER DWG ISsU DE ARCHICAD
;; ---------------------------------

(defun c:nettoyer_dwg_archicad ()
  (setq selblocmur (ssget "_x" (list (cons 0 "INSERT") (cons 2 "Mur*"))))
  (if selblocmur
    (progn (setq i 0)
           (setq nbexp 0)
           (repeat (sslength selblocmur) (setq e (ssname selblocmur i)) (setq i (1+ i)) (command "_explode" e))
           (strcat "\n" (itoa (sslength selblocmur)) " BLOCS MUR ONT ETE DECOMPOSE(S)")
    )
    (strcat "\nAUCUN BLOCS MURS ONT ETE DECOMPOSE(S)")
  )
  (setq selblocpoutre (ssget "_x" (list (cons 0 "INSERT") (cons 2 "Poutre*"))))
  (if selblocpoutre
    (progn (setq i 0)
           (setq nbexp 0)
           (repeat (sslength selblocpoutre)
             (setq e (ssname selblocpoutre i))
             (setq i (1+ i))
             (command "_explode" e)
           )
           (strcat "\n" (itoa (sslength selblocpoutre)) " BLOCS POUTRE ONT ETE DECOMPOSE(S)")
    )
    (strcat "\nAUCUN BLOCS POUTRES ONT ETE DECOMPOSE(S)")
  )
  (setq selblocpoteau (ssget "_x" (list (cons 0 "INSERT") (cons 2 "Poteau*"))))
  (if selblocpoteau
    (progn (setq i 0)
           (setq nbexp 0)
           (repeat (sslength selblocpoteau)
             (setq e (ssname selblocpoteau i))
             (setq i (1+ i))
             (command "_explode" e)
           )
           (strcat "\n" (itoa (sslength selblocpoteau)) " BLOCS POTEAU ONT ETE DECOMPOSE(S)")
    )
    (strcat "\nAUCUN BLOCS POTEAUS ONT ETE DECOMPOSE(S)")
  )
    (princ)
)

 

 

 

 

Autodesk Architecture 2019 sous windows 10 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Link to post
Share on other sites

Salut,

Avec vlisp : (vlax-invoke (vlax-ename->vla-object (car (entsel))) 'Explode) renvoie la liste des entités (vla-object) après décomposition.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Link to post
Share on other sites

HELLO   Gile

comme d'hab  SUPERRRR

MERCI

Phil

Autodesk Architecture 2019 sous windows 10 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Link to post
Share on other sites

Coucou,

Lorsque tu parles de couches, parles-tu du calques ou bien c'est parce que tu as des imbrications de blocs ?
Ensuite petite question à part mais, si l'on récupère la liste des objets après décomposition pour modifier leurs propriétés, cela signifie que l'on effectue cette même opération multipliée par le nombre de références de bloc, nan ?

Je n'ai jamais travaillé sur des .dwg issus de revit ou archicad donc ces fameux "blocs" de murs, poutres, poteaux ont-ils plusieurs références dans le dessin par définition de blocs ou bien 1 définition de bloc = 1 référence de bloc ?
Car s'il y a plusieurs références par définitions de blocs, cela serait peut-être moins chronophage de modifier les propriétés des objets depuis la définition de bloc pour ensuite exploser les références (donc les objets résultants auront tous la bonne propriété).

Encore une fois, c'est uniquement une réflexion sur le temps d'exécution donc cela dépend uniquement du nombre de références de bloc par définition de blocs :3

Bisous,
Luna

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...