Aller au contenu

recursion lisp sur plusier fichier


Messages recommandés

Invité ingoenius
Posté(e)

J'assaie de trouver la facon de lancer un lisp sur tous les fichiers d'un repertoir,

mais je trouve pas la maniere de

ouvrir un fichier lancer le lisp (avec la command 3dsout pour AutoCAD 2005) et ensuite fermer le fichier sans sauvegarder les modif pour

passer au suivant

 

merci ;-)

 

ici le debut du code

 

 

 
(defun C:WB2()
(vl-load-com)



(if (not dos_getdir)
   ;(setq path (getstring "\nDS> Target Folder: " T))
   
   ;se il percorso windows é F:\CAD.... cambia le antislash "\" in slash normali "F:/CAD...."
   (setq path "F:/CAD/CAD NOUVEAUX/BIBLIOTEQUE/!TECHNIQUE/TRUSS_VARI/Blocchi_PROLYTE/TRUSS_TEST");qui metto la directori di destinazione dei blocchi 

   ;(setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))
   (setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))

   )

;(setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))

 

(setvar "osmode" 0)  
(setq Buiss  	"004-TRUSS-BUIS")				;nome del layer da cambiare
(command "_layer" "AC" Buiss "")  
(command "_layer" "e" Buiss "")
(setq ssBuiss 	(ssget "x" (list(cons 8 Buiss))))		;crea il set di selezione degli oggetti sul layer scelto NLAY
(setq nome (getvar "DWGNAME"))
(setq Len (- (strlen nome)4))  
(setq NL (substr nome 1 Len))
(command "_rename" "CA"  "004-TRUSS-BUIS"  NL )

(setq ssB (ssget "x" (list(cons 8 NL))))		;crea il set di selezione degli oggetti sul layer scelto NLAY
	
(setq nomefile (strcat NL ".3ds"))   
(c:3dsout ssb 0 0 30 0.001 nomefile )
)

Invité ingoenius
Posté(e)

je telechargee le script, mais je trouve pas la facon de lancer un lisp, dans les ex"emples on lance des fichier scr , comment il faut proceder?

Posté(e)

Salut,

charge le lisp au démarrage (acad.lsp)

et dans le scr, tu écris le nom de ta fonction lisp.

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Invité ingoenius
Posté(e)

J'ai essaye scriptor et aussi SAS , mais ca ne fonctionne toujours pas,

ca doit etre la faute a

 

 (c:3dsout ssb 0 0 30 0.001 nomefile "") 

 

 

 

est ce que quelcq'un arrive a me trouver les fautes??

car si je le lance fichier par fichier, le script marche, mais la iteration avec ouvreture e fermeture sans modif des fichier successifs, je n'arrive pas a la faire fonctionner

 

 
(defun C:WB2()
(vl-load-com)



(if (not dos_getdir)
   ;(setq path (getstring "\nDS> Target Folder: " T))
   
   ;se il percorso windows é F:\CAD.... cambia le antislash "\" in slash normali "F:/CAD...."
   (setq path "F:/CAD/CAD NOUVEAUX/BIBLIOTEQUE/!TECHNIQUE/TRUSS_VARI/Blocchi_PROLYTE/TRUSS_TEST");qui metto la directori di destinazione dei blocchi 

   ;(setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))
   (setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))

   )

;(setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))

 

(setvar "osmode" 0)  
(setq Buiss  	"004-TRUSS-BUIS")				;nome del layer da cambiare
(command "_layer" "AC" Buiss "")  
(command "_layer" "e" Buiss "")
(setq ssBuiss 	(ssget "x" (list(cons 8 Buiss))))		;crea il set di selezione degli oggetti sul layer scelto NLAY
(setq nome (getvar "DWGNAME"))
(setq Len (- (strlen nome)4))  
(setq NL (substr nome 1 Len))
(command "_rename" "CA"  "004-TRUSS-BUIS"  NL )

(setq ssB (ssget "x" (list(cons 8 NL))))		;crea il set di selezione degli oggetti sul layer scelto NLAY
	
(setq nomefile (strcat NL ".3ds"))   
(c:3dsout ssb 0 0 30 0.001 nomefile "")
)

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é