chris-cad Posté(e) le 18 juin 2010 Posté(e) le 18 juin 2010 bonjourje voudrais récupérer les différents SCU de TRAVAIL d un fichier pour les utiliser sur un autre fichiercomment faire , est-ce possible ?par avance merci
(gile) Posté(e) le 18 juin 2010 Posté(e) le 18 juin 2010 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 - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 18 juin 2010 Posté(e) le 18 juin 2010 Bonjour, Terrible ce lisp je le met de coté Merci chris-cad pour avoir posé cette question pertinanteet Merci Gile pour ce lisp bien expliqué meme si on se demande encore ou tu trouve ces "incantations" d'une efficacité redoutable. https://github.com/Fraiddd
rebcao Posté(e) le 18 juin 2010 Posté(e) le 18 juin 2010 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 SCUles CHAMPSles 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 @)
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant