Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous

 

Je voudrais savoir comment je peux récupérer les propriétés personnalisées d'un fichier gabarit afin de les importer sur mon fichier en cour

 

Cordialement

Posté(e)

moi je fais comme ca, mais il y a peut etre mieux

 

menu express > tools > system variable editor

 

la, tu peux expoter importer

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Posté(e)

Bonjour

 

Quelqu'un un pourrait il m expliquer la démarche pour que utiliser cette commande ou récupérer les propriétés personnaliser d'un être dessin avec une autre méthode

 

Cordialement

 

Posté(e)
Quelqu'un un pourrait il m expliquer la démarche pour que utiliser cette commande ou récupérer les propriétés personnaliser d'un être dessin avec une autre méthode

 

D'après moi, il n'y a aucun problème en passant par les CHAMPS.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

 

Si j'ai bien compris la demande, voilà un LISP qui permet d'importer les propriétés personnalisées d'un autre dessin (dwg) ou gabarit (dwt).

 

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

(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 (	     "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
)

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

Posté(e)

Salut Giles

 

Tu as exactement compris mon souci et je te remercie pour ton aide.J'ai copiée ton lisp dans un fichier texte avec une extantsion lsp.Je charge l'application sur autocad.Je lance la commande "improp"' une fenêtre apparait pour le choix de mon fichier donc je le sélectionne mais il ne me copie pas les propriétés personnalisés du fichier.Donc peux tu m'aider pour savoir d'où vient l'erreur si elle est dans le lisp ou dans ma démarche.

 

Voici ce que m'indique autocad dans la fenêtre de commande :

Commande: improp

; erreur: type d'argument incorrect: fixnump: nil

 

 

Merci d'avance

 

Posté(e)

Salut Giles

 

Désolé pour le message précédent j'ai été trop vite dans ma démarche. Donc le lisp marche bien si le dessin est ouvert par contre dans ton lisp tu m'explique une manipulationsi le dessin est fermé.Le soucis étant que je ne connais rien au lisp à part son utilisation donc pourrait tu stp m'expliquer tout la manipulation à réaliser si le fichier est fermé

 

Merci

Posté(e)

Salut,

 

L'accès à un dessin autre que le document actif en LISP diffère suivant que le dessin est ouvert ou fermé.

Brièvement, pour "lire" un dessin fermé, il faut créer un objet DBX qui pointe sur ce fichier. C'est à ça que sert la routine "OpenDrawingDBX".

 

Pour l'utilisateur, cette opération est invisible. Le LISP cherche dans les documents ouverts et, s'il ne trouve rien, lance OpenDrawingDBX pour lire le fichier fermé.

 

D'après les test que j'ai fait, ça fonctionne que le fichier source soit ouvert ou fermé.

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

Posté(e)

Salut

 

Faut il que je crée un nouveau fichier car de mon côté si le dessin est fermé il marque l'erreur

; erreur: type d'argument incorrect: fixnump: nil

 

 

Posté(e)

Bonjour à toutes et tous,

 

Idem chez moi, après ouverture de la BD et choix du fichier =>

 

Commande:

Commande: improp

; erreur: type d'argument incorrect: fixnump: nil

Commande:

 

Quelle genre de propriétés ?

 

Présentation, calques, blocs, styles de textes, cotes,....

 

Car même sur un fichier ouvert, il ne se passe rien chez moi ! (V2008 pleine),...

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Salut Lili

 

Il s'agit des propriétés personnalisées d'un fichier.

 

Tu les retrouves en suivant ce chemin Fichier => Propriété du dessin => onglet personnaliser

 

Elles te permettent de crée des champs personnalisés.

 

Bye

  • 6 ans après...
Posté(e)

Bonjour

 

Merci Gile.

Un problème de lisp, un coup de CadXp, une réponse de Gile. :rolleyes:

Il y a tout IcI, j'avais un problème de récupération de dessin avec données personalisées a faire sous MAP.

 

Avec Gile c'est plus facile. :D

 

Je finis mon outil et je le met en ligne

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é