Aller au contenu

propriétés de dessin


philsogood

Messages recommandés

hello

on a un nouveau gabarit avec un remplissage automatique des cartouches qui utilise les propriétés du dessin

on a plusieurs ficheirs DWG par affaire

j'ai pas envie de me retaper x fois le remplissage des propriétés du dessin

je cherche donc à exporter ces valeurs et leurs noms

pour les importer vers un autre fichier...

ya la commande PROPULATE qui semble pouvoir faire des trucs mais impossible de comprendre comment elle amrche

je souhaiterai avoir un ficheir d'extraction de ces données et utiliser ce même ficheir pour remplir mes ficheirs ultérieurs...

c'est quand même aps compliqué comme truc mais ça ne marche qu'avec les express tools et je trouve un peu dingue qu'ACAD n'ait pas pensé à automatiser le transfert de ces données d'un fichier vers un autre...

j'ai vu un ou deux sujets sur la question mais qui ne semblait pas correspondre avec ma demande (ou je n'ai rien compris à la réponse, ce qui n'est aps à exclure)

merci pour votre coup de pouce

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Mon ami Google m'a renvoyé sur un Lips de (Gile) ! :)

 

A tester:

 

 

 

;; IMPOROP (gile)

;; Importe dans le dessin courant les propriétés personnalisées d'un fichier (dwg ou dwt)

(vl-load-com)

(defun c:improp (/ target filename doc odbx source)

(or *acdoc*

(setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))

)

(setq target (vla-get-SummaryInfo *acdoc*))

(if

(setq filename (getfiled "Choisir le fichier source"

(getvar 'dwgprefix)

"dwg;dwt"

0

)

)

(progn

(if

(not

(and

(setq

doc (GetItem

(vla-get-Documents (vlax-get-acad-object))

(strcat (vl-filename-base filename) ".dwg")

)

)

(= filename (vla-get-FullName doc))

)

)

(setq doc (OpenDrawingDBX filename)

odbx T

)

)

(setq source (vla-get-SummaryInfo doc)

n -1

)

(foreach p

'(Author Comments HyperlinkBase KeyWords Subject Title)

(if (/= "" (setq prop (vlax-get source p)))

(vlax-put target p prop)

)

)

(repeat (vla-NumCustomInfo source)

(vla-GetCustomByIndex source (setq n (1+ n)) 'key 'val)

(vla-AddCustomInfo target key val)

)

(and odbx (vlax-release-object doc))

)

)

(princ)

)

 

;;; Accéder à un dessin fermé

 

(defun OpenDrawingDBX (filename / objdbx release)

(setq objdbx

(vlax-create-object

(if (< (setq release (atoi (getvar "ACADVER"))) 16)

"ObjectDBX.AxDbDocument"

(strcat "ObjectDBX.AxDbDocument." (itoa release))

)

)

)

(vla-open objdbx filename)

objdbx

)

 

;;; GetItem (gile)

;;; Retourne le vla-object de l'item s'il est présent dans la collection

;;;

;;; Arguments

;;; col : la collection (vla-object)

;;; name : le nom de l'objet (string) ou son indice (entier)

;;;

;;; Retour : le vla-object ou nil

 

(defun GetItem (col name / obj)

(vl-catch-all-apply

(function (lambda () (setq obj (vla-item col name))))

)

obj

)

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é