CADxp: REDEFINITION DE BLOC DYNAMIQUE - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

REDEFINITION DE BLOC DYNAMIQUE

#1 L'utilisateur est hors-ligne   zara 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 28-juin 07

Posté 07 novembre 2018 - 22:34

Bonjour,

Après l'utilisation d'un lisp pour la redéfinition des blocs du dessin à partir d'un dossier contenant tous les blocs références.
J'ai un souci avec les blocs dynamiques.Ces derniers ne se synchronisent pas avec l’éditeur de bloc car un paramètre a été utilisé.
Mais quand je rentre dans l’éditeur je fais un zoom étendu et que j'enregistre tout se replace bien.
Ça fonctionne bien aussi avec design center en faisant redéfinir mais trop long de faire bloc par bloc.
Y aurait il un moyen de synchroniser les blocs comme attsync?


https://uptobox.com/n3r2qv3wtipz

Merci par avance.
0

#2 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6963
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

Posté 08 novembre 2018 - 08:19

Bonjour,

Au pire tu peux rajouter dans le LISP l'ouverture de l'EDITEUR de blocs et enregistrer...

Christian


Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger des Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#3 L'utilisateur est hors-ligne   zara 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 28-juin 07

Posté 08 novembre 2018 - 09:05

Bonjour Christian,

Merci pour cette réponse en effet ça pourrait être la solution.
Où et comment rajouter une ligne qui permettrai l'ouverture de chaque bloc dans l'éditeur de blocs / un zoom étendue / la fermeture / l'enregistrement.


;; Redefine All Blocks  -  Lee Mac
(defun c:redefall ( / bln dir doc dwg lst obj org spc )

    (setq dir "D:\\_DOSSIER ACTIF\\") ;; Directory of Block Library; nil to use Support Path

    (if dir
        (setq dir (strcat (vl-string-right-trim "\\" (vl-string-translate "/" "\\" dir)) "\\"))
        (setq dir "")
    )
    (cond
        (   (= 4 (logand 4 (cdr (assoc 70 (tblsearch "layer" (getvar 'clayer))))))
            (princ "\nCurrent layer locked.")
        )
        (   (setq doc (vla-get-activedocument (vlax-get-acad-object))
                  spc (vla-get-modelspace doc)
                  org (vlax-3D-point 0 0)
            )
            (terpri)
            (vlax-for blk (vla-get-blocks doc)
                (if
                    (and
                        (= :vlax-false (vla-get-isxref blk))
                        (= :vlax-false (vla-get-islayout blk))
                        (not (wcmatch (setq bln (vla-get-name blk)) "`**,*|*"))
                    )
                    (if (setq dwg (findfile (strcat dir bln ".dwg")))
                        (progn
                            (princ (strcat "Redefining block: " dwg "\n"))
                            (setq obj (vla-insertblock spc org dwg 1.0 1.0 1.0 0.0))
                            (if (= :vlax-true (vla-get-hasattributes obj))
                                (setq lst (vl-list* "," bln lst))
                            )
                            (vla-delete obj)
                        )
                        (princ (strcat "Unable to locate block: " dir bln ".dwg\n"))
                    )
                )
            )
            (if lst
                (progn
                    (princ "Synchronising attributes for redefined blocks...\n")
                    (vl-cmdf "_.attsync" "_N" (apply 'strcat (cdr lst)))
                )
            )
            (textscr)
            (vla-regen doc acallviewports)
        )
    )
    (princ)
)
(vl-load-com) (princ)


Merci par avance

Simon
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)