CADxp: SCU - CADxp

Aller au contenu

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

SCU

#1 L'utilisateur est hors-ligne   chris-cad 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 36
  • Inscrit(e) : 01-juin 06

Posté 18 juin 2010 - 12:24

bonjour
je voudrais récupérer les différents SCU de TRAVAIL d un fichier pour les utiliser sur un autre fichier
comment faire , est-ce possible ?
par avance merci
0

#2 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 18 juin 2010 - 12:42

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
Image IPB
0

#3 L'utilisateur est hors-ligne   Fraid 

  • ceinture noire 3em dan
  • Groupe : Membres
  • Messages : 1521
  • Inscrit(e) : 08-août 05
  • LocationST Malo 35

Posté 18 juin 2010 - 15:47

Bonjour,

Terrible ce lisp

je le met de coté

Merci chris-cad pour avoir posé cette question pertinante
et Merci Gile pour ce lisp bien expliqué meme si on se demande encore ou tu trouve ces "incantations" d'une efficacité redoutable.

...plus je sais où je suis, moin je sais où je vais.... Extrait d''une double interview simultanée d'une particule élémentaire.
0

#4 L'utilisateur est hors-ligne   rebcao 

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

Posté 18 juin 2010 - 17:07

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 Indépendant, Formation AutoCAD, télécharger des Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
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)