Morgul Posté(e) le 31 octobre 2007 Posté(e) le 31 octobre 2007 Bonjour, Je pense que j'ai déjà posé la question, mais j'ai une petite mémoire. Comment créer un répertoir en Lisp ? Merci à tous. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
Bred Posté(e) le 31 octobre 2007 Posté(e) le 31 octobre 2007 Salut,(vl-mkdir "c:\\repertoire") Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bseb67 Posté(e) le 31 octobre 2007 Posté(e) le 31 octobre 2007 Salut Morgul! en Vlisp:vl-mkdir ou tu peux utiliser la bibliothèque gratuite doslib. a+ PS: Bred m'est passé devant (put.. de mozilla qui bug) car je suis allé sous IE pour répondre ;) [Edité le 31/10/2007 par bseb67] Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
lovecraft Posté(e) le 31 octobre 2007 Posté(e) le 31 octobre 2007 bonjour,Merci bseb67 pour cette astuce Doslib, je ne connaissais pas.Ci-dessous le lien pour le télécharger: http:// http://download.mcneel.com/download.asp?id=doslib Merci http://www.youtube.com/user/CADMINATOR?feature=mhee
bseb67 Posté(e) le 31 octobre 2007 Posté(e) le 31 octobre 2007 Salut Lovecraft! Je suis tombé dessus (Doslib) au mois de juin. Et depuis je m'en sert pour quelques lisp.Certains lisp doivent faire une sauvegarde d'un fichier à traiter, plutot que de faire un enregistrersous (qui est très long) j'utilise le dos_copy.J'ai prit plaisir à utiliser la barre de progression (dos_progressbar) lorsque mes lisp sont long.Comme cela le dessinateur voit l'avancement et ne s'imagine pas que le lisp à planté :). Petit +, voici le mon lisp pour charger doslib: ;------------------------------------; ; nom: load_doslib ; ; role: charge la bibliothèque doslib; ; en fonction de la version ; ; utilisée d'autocad ; ; param: DOSLIB_PATH => chemin doslib; ; retour: aucun ; ; date: 27/06/2007 ; ; BLAES Sébastien ; ;------------------------------------; (defun load_doslib( DOSLIB_PATH / vn) ; on cherche la version d'autocad (setq vn (getvar "_vernum")) (cond ; R14 ((or (= vn "S.0.80.G") (= vn "P.0.33")) (if (not (member "doslib14.arx" (arx))) (setq DOSLIB_LOADED (/= (arxload (strcat DOSLIB_PATH "DOSLib14.arx")) nil)) (setq DOSLIB_LOADED t) ) ; if ) ; 2000 ((or (= (strcase (substr vn 1 1)) "T") (= (strcase (substr vn 1 1)) "U")) (if (not (member "doslib2k.arx" (arx))) (setq DOSLIB_LOADED (/= (arxload (strcat DOSLIB_PATH "doslib2k.arx")) nil)) (setq DOSLIB_LOADED t) ) ; if ) ; 2006 ((= (strcase (substr vn 1 1)) "Z") (if (not (member "doslib16.arx" (arx))) (setq DOSLIB_LOADED (/= (arxload (strcat DOSLIB_PATH "doslib16.arx")) nil)) (setq DOSLIB_LOADED t) ) ; if ) ; 2007 ((= (strcase (substr vn 1 1)) "A") (if (not (member "doslib17.arx" (arx))) (setq DOSLIB_LOADED (/= (arxload (strcat DOSLIB_PATH "DOSLib17.arx")) nil)) (setq DOSLIB_LOADED t) ) ; if ) ; 2008 ((= (strcase (substr vn 1 1)) "B") (if (not (member "doslib17.arx" (arx))) (setq DOSLIB_LOADED (/= (arxload (strcat DOSLIB_PATH "DOSLib17.arx")) nil)) (setq DOSLIB_LOADED t) ) ; if ) ) ; cond ) ; load_doslib ;--------------------------------------; ; nom: unload_doslib ; ; role: décharge la bibliothèque doslib; ; param: aucun ; ; retour: aucun ; ; date: 27/06/2007 ; ; BLAES Sébastien ; ;--------------------------------------; (defun unload_doslib( / vn) ; on cherche la version d'autocad (setq vn (getvar "_vernum")) (cond ; R14 ((or (= vn "S.0.80.G") (= vn "P.0.33")) (if (member "doslib14.arx" (arx)) (setq DOSLIB_LOADED (not (= (arxunload "doslib14.arx") "doslib14.arx"))) (setq DOSLIB_LOADED nil) ) ) ; 2000 ((or (= (strcase (substr vn 1 1)) "T") (= (strcase (substr vn 1 1)) "U")) (if (member "doslib2k.arx" (arx)) (setq DOSLIB_LOADED (not (= (arxunload "doslib2k.arx") "doslib2k.arx"))) (setq DOSLIB_LOADED nil) ) ) ; 2006 ((= (strcase (substr vn 1 1)) "Z") ; on décharge l'arx DOSlib (if (member "doslib16.arx" (arx)) (setq DOSLIB_LOADED (not (= (arxunload "doslib16.arx") "doslib16.arx"))) (setq DOSLIB_LOADED nil) ) ) ; 2007 ((= (strcase (substr vn 1 1)) "A") ; on décharge l'arx DOSlib (if (member "doslib17.arx" (arx)) (setq DOSLIB_LOADED (not (= (arxunload "doslib17.arx") "doslib17.arx"))) (setq DOSLIB_LOADED nil) ) ) ; 2008 ((= (strcase (substr vn 1 1)) "B") ; on décharge l'arx DOSlib (if (member "doslib17.arx" (arx)) (setq DOSLIB_LOADED (not (= (arxunload "doslib17.arx") "doslib17.arx"))) (setq DOSLIB_LOADED nil) ) ) ) ; cond ) ; unload_doslib Bien-sur il faut télécharger les fichier arx. charger ce lisp dans autocad ou même dans un autre lisp avec (load ...). Puis de faire un (load_doslib chemin).La variable DOSLIB_LOADED sert juste de test, comme cela si un lisp appel un fonction doslib,on test l'état de cette variable et cela évite les erreurs "fonction non trouvée" a+ [Edité le 31/10/2007 par bseb67] Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Morgul Posté(e) le 31 octobre 2007 Auteur Posté(e) le 31 octobre 2007 Merci à tous c'est super cool ! Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant