Aller au contenu

Boundsget et 2008


hardyorock

Messages recommandés

salut les amis

le lisp ci dessous que chopé d'un site ne marche plus en 2008

 

(defun BoundsGet ()

(vl-load-com)

(setq EntNam a)

(vla-getboundingbox (vlax-ename->vla-object EntNam) 'LowLft 'UppRgt)

(setq BoxList (mapcar 'vlax-safearray->list (list LowLft UppRgt)))

);defun BoundsGet

(boundsget)

 

d'aprés vous c'est quoi le probleme?

Lien vers le commentaire
Partager sur d’autres sites

Merci Patrick_35 pour ta réponse,

En effet le variable a est déjà défini

Ci dessous tout mon lisp :

Mon lisp travail comme ça : A partir d'un fichier j'extrait un contour qui est ensuite hachuré est bloqué pour l'inserai dans un autre fichier que je n'ouvre pas.

 

***********************************************************************

(defun c:blocpro ()

 

(setq ss (ssget))

 

;ajouts des hachures au variable ss

(command "hachures" "solid" ss "")

(setq a (entlast))

(ssadd a ss)

 

;creation layer

(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)))

(if (not (tblobjname "LAYER" "profile_bloqué"))

(vla-add (vla-get-Layers AcDoc) "profile_bloqué"))

(vla-put-Color (vlax-ename->vla-object (tblobjname "LAYER" "profile_bloqué")) 144)

(repeat (setq x (sslength ss))

(setq vla-ob (vlax-ename->vla-object (ssname ss (setq x (1- x)))))

 

(vla-put-layer vla-ob "profile_bloqué")

)

;fonction pour definir les limites du profile

(defun BoundsGet ()

(vl-load-com)

(setq EntNam a)

(vla-getboundingbox (vlax-ename->vla-object EntNam) 'LowLft 'UppRgt)

(setq BoxList (mapcar 'vlax-safearray->list (list LowLft UppRgt)))

);defun BoundsGet

(boundsget)

 

(setq poinIns (car boxlist))

(setq lung (strlen (getvar "dwgname")))

(setq nome (substr (getvar "dwgname") 1 (- lung 4)));name file

 

(command "_-block" nome poinIns ss "")

 

(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

)

:transphere au fichier cyble

(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))

bl (vla-item (vla-get-Blocks AcDoc) nome)

Dbx (ouvrir_dessin_dbx "C:/3-PLAN_VERSION_2007/BLOC_PROFILE/PROFILE_3100.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))

nome

1

1

1

0

)

 

;; enregitrement

(vla-saveas Dbx "C:/3-PLAN_VERSION_2007/BLOC_PROFILE/PROFILE_3100.dwg")

 

;; suppression du pointeur vers le dessin cible

(vlax-release-object Dbx)

 

)

***********************************************************************************

Lien vers le commentaire
Partager sur d’autres sites

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é