Aller au contenu

Messages recommandés

Posté(e)

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?

Posté(e)

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)

 

)

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

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é