Aller au contenu

Messages recommandés

Posté(e)

Salut les amis

Il y a une petit routine de patrick_35 qui copie un bloc d'un fichier pour l'insérai dans le dessin courant, bien sûr sans ouvrir le fichier qui contient le bloc cible

 

(defun Ouvrir_dessin_dbx(dwg / dbx)

(if (< (atoi (substr (getvar "ACADVER") 1 2)) 16)

(setq dbx (vlax-create-object "ObjectDBX.AxDbDocument"))

(setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2))))

)

(vla-open dbx dwg)

dbx

)

 

(setq Dbx (ouvrir_dessin_dbx "c:/test.dwg"))

(vla-CopyObjects Dbx (vlax-safearray-fill

(vlax-make-safearray vlax-vbObject '(0 . 0))

(list (vla-item (vla-get-blocks dbx) "Un_Bloc"))

)

(vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))

)

 

Je sais que c'est possible de faire l'inverse càd : copier le bloc cible du dessin courant et l'insérer dans un autre fichier sans bien sûr ouvrir ce dernier; puisque j'ai pas pijé tros le code de patrick35 je ne sais pas si je dois changer un truc au niveau du code pour le rendre utile pour mois

merci pour vops reponce les amis

 

Posté(e)

Salut

 

Un exemple :

 

;; AcDoc : pointeur vers le document actif
;; bl : la définition du bloc "Bloc" récupérée dans le dessin actif
;; Dbx : pointeur vers un autre dessin (fermé)
(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
     bl    (vla-item (vla-get-Blocks AcDoc) "Bloc")
     Dbx   (ouvrir_dessin_dbx "c:/test.dwg")
)

;; importation de la définition dans le dessin cible
(vlax-invoke
 acDoc
 'CopyObjects
 (list bl)
 (vla-get-blocks Dbx)
)

;; insertion du bloc en 0,0,0
(vla-InsertBlock
 (vla-get-ModelSpace Dbx)
 (vlax-3d-point '(0 0 0))
 "Bloc"
 1
 1
 1
 0
)

;; enregitrement
(vla-saveas Dbx "c:/test.dwg")

;; suppression du pointeur vers le dessin cible
(vlax-release-object Dbx)

 

[Edité le 4/6/2007 par (gile)]

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

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é