Aller au contenu

Peut-on importer/exporter des vues nommées ?


brunomu

Messages recommandés

Bonjour Forum !

 

Ben voilà, tout est dans le titre : peut-on importer/exporter d'un fichier à un autre des vues nommées, et si oui, comment fait-on ?

(et tant qu'à faire : même question avec les fenêtres ou viewports).

 

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse.

 

Je ne sais pas pourquoi, ça ne marche pas sur mon poste (de même que plein de LISP qui fonctionnaient sur AutoCAD 2004, et pour lesquels j'obtiens des msg d'erreur du type "error: no function definition: VLAX-GET-ACAD-OBJECT"). :casstet:

 

PS : j'avais bien fait une "petite recherche" sur le site, mais avec les mots "vue" +"importer" +"exporter" j'ai obtenu tellement de résultats non pertinents que ça m'a découragé...

Lien vers le commentaire
Partager sur d’autres sites

Mets en début de routine " (vl-load-com) "

 

Ben non, ce coup ci ça ne devrait pas être ça. Pour une fois, je ne l'avais pas oublié...

 

Du coup, je me demande bien ce que ça peut être...

 

Essaye peut-être de refaire un copier/coller en prenant soin de bien prendre tout le code.

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

Lien vers le commentaire
Partager sur d’autres sites

  • 13 ans après...
Le 03/06/2010 à 10:25, (gile) a dit :

Salut,

 

une petite recherche t'aurais permis de trouver ce sujet.

 

Bonjour (gile),

Le lien pour voir la solution à la question de ce sujet-ci, est mort. J'ai bien tentée une recherche, mais avec un nombre très imposant de résultats. Seriez-vous en mesure de donner un lien valide s'il vous plaît ?

Merci beaucoup.

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, Olivier Eckmann a dit :

Bonjour Olivier,

Oui, j'ai testée, mais possiblement qu'avec la version 2022 d'AutoCAD, ça ne fonctionne plus.

Lien vers le commentaire
Partager sur d’autres sites

Hello @Tchantal

Donc voir le Lisp de Gilles ci-apres ...

Tu nous diras si il fonctionne sur un AutoCAD 202X !

Bye, lecrabe

 


;;; Par GC 23/01/2010
;;; http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=26548#pid116207
;;; Deux commandes :
;;; ImportViews : pour importer dans le dessin courant toutes les vues enregistrées 
;;; du dessin sélectionné (il doit être fermé).
;;;
;;; ExportViews : pour Exporter dans le dessin sélectionné (il doit être fermé) 
;;; toutes les vues enregistrées du dessin courant.

;;; ImportViews par GC
;;; Importe dans le dessin courant toutes les vues enregistrées
;;; du dessin sélectionné

(defun c:ImportViews (/ filename doc lst)
  (vl-load-com)
  (or *acad* (setq *acad* (vlax-get-acad-object)))
  (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*)))
  (if (setq filename (getfiled "Fichier source" "" "dwg" 0))
    (if (setq doc (gc:GetAxDbDoc filename))
      (progn
        (vlax-for v (vla-get-Views doc)
          (setq lst (cons v lst))
        )
        (if lst
          (progn
            (vlax-invoke doc 'CopyObjects lst (vla-get-Views *acdoc*))
            (vlax-release-object doc)
          )
        )
      )
      (alert
        (strcat
          "\nLe fichier \""
          filename
          "\" est ouvert.\nFermer le avant de relancer ImportViews"
        )
      )
    )
  )
  (princ)
)

;;; ExportViews par GC
;;; Exporte dans le dessin sélectionné toutes les vues enregistrées
;;; du dessin courant

(defun c:ExportViews (/ filename doc lst)
  (vl-load-com)
  (or *acad* (setq *acad* (vlax-get-acad-object)))
  (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*)))
  (if (setq filename (getfiled "Fichier cible" "" "dwg" 0))
    (if (setq doc (gc:GetAxDbDoc filename))
      (progn
        (vlax-for v (vla-get-Views *acdoc*)
          (setq lst (cons v lst))
        )
        (if lst
          (progn
            (vlax-invoke *acdoc* 'CopyObjects lst (vla-get-Views doc))
            (vla-SaveAs doc filename)
            (vlax-release-object doc)
          )
        )
      )
      (alert
        (strcat
          "\nLe fichier \""
          filename
          "\" est ouvert.\nFermer le avant de relancer ExportViews"
        )
      )
    )
  )
  (princ)
)


;;; gc:GetAxDbDoc
;;; Accéder à un dessin fermé
;;;
;;; Retourne :
;;; un objet IAxDbDocument si le document est trouve
;;; nil si le document n'a pu être trouvé ou s'il est ouvert
;;;
;;; Argument :
;;; Le chemin complet du fichier
;;;
;;; Exemple d'utilisation :
;;; (if (setq doc (gc:GetAxDbDoc filename))
;;;   (progn
;;;     ...
;;;     (vla-SaveAs doc filename)
;;;     (vlax-release-object (car doc))
;;;   )
;;; )

(defun gc:GetAxDbDoc (filename / axdbdoc release)
  (setq axdbdoc
         (vlax-create-object
           (if (< (setq release (atoi (getvar "ACADVER"))) 16)
             "ObjectDBX.AxDbDocument"
             (strcat "ObjectDBX.AxDbDocument." (itoa release))
           )
         )
  )
  (if (vl-catch-all-apply
        'vla-open
        (list axdbdoc filename)
      )
    (not (vlax-release-object axdbdoc))
    axdbdoc
  )
)
 

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Il y a 10 heures, lecrabe a dit :

Hello @Tchantal

Donc voir le Lisp de Gilles ci-apres ...

Tu nous diras si il fonctionne sur un AutoCAD 202X !

Bye, lecrabe

 

Bonjour lecrabe,

Je ne pourrais pas te dire s'il fonctionne, car j'ai obtenu un Lisp qui a été créé pour moi. Mais je dois dire que si je regarde le Lisp que j'ai eu et le code que tu me cite, ça se ressemble énormément. Donc on pourrait logiquement croire qu'il fonctionne.

Merci beaucoup 🙂

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é