Aller au contenu

SCU


chris-cad

Messages recommandés

Salut,

 

Un petit LISP (pas testé)

 

;;; ImportUCS (gile)
;;; Importe dans le dessin courant tous les SCUs enregistrés
;;; du dessin sélectionné

(defun c:ImportUCS (/ 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-UserCoordinateSystems doc)
  (setq lst (cons v lst))
)
(if lst
  (vlax-invoke
    doc
    'CopyObjects
    lst
    (vla-get-UserCoordinateSystems *acdoc*)
  )
)
(vlax-release-object doc)
     )
     (alert
       (strcat
         "\nLe fichier \""
         filename
         "\" est ouvert.\nFermer le avant de relancer ImportViews"
       )
     )
   )
 )
 (princ)
)

;;; ExportUCS (gile)
;;; Exporte dans le dessin sélectionné tous les SCU enregistrés
;;; du dessin courant

(defun c:ExportUCS (/ 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-UserCoordinateSystems *acdoc*)
  (setq lst (cons v lst))
)
(if lst
  (progn
    (vlax-invoke
      *acdoc*
      'CopyObjects
      lst
      (vla-get-UserCoordinateSystems 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
 )
)

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à Toutes et à Tous,

 

Je ne comprend pas qu'aujourd'hui dans AutoCAD, on ait pas de façon standard un bouton EXPORTER - IMPORTER dans certaines commandes, comme :

 

les SCU

les CHAMPS

les VUES

et j'en oublie

 

Franchement que l'on soit encore obligé de bidouiller ce genre de fonction !!!

 

Merci Gilles pour ce LISP ;)

 

Christian

 

 

 

[Edité le 18/6/2010 par rebcao]

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

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é