Aller au contenu

Getfiled pour un dossier et non un fichier


Messages recommandés

Posté(e)

Bonjour,

 

J'ai fait un lisp pour faire un Wbloc sur chacun des blocs sélectionnés dans le dessin.

 

Je souhaite saisir le chemin du dossier ou enregistrer ces blocs via une boîte de dialogue ...

 

Mais la commande GETFILED m'oblige à sélectionner un FICHIER... Si mon dossier est vide, je ne sais pas comment le sélectionner (à part en créer un fichier à l'intérieur...).

 

Y-a-t'il un moyen d'utiliser GETFILED (ou une autre commande) pour sélectionner un DOSSIER ?

 

Merci d'avance...

Autocad 2021 - Revit 2022 - Windows 10

Posté(e)

Ludwig,

 

Voici un lisp que je me sert pour me créer une bibliothèque de dessin à partir d'un dessin contenant des blocs que je veux récupérer.

 

Avec (getfiled) j'arrive bien à créer ou sélectionner un dossier ??? Je n'ai pas compris ton problème

 

(defun record_dwg (name / nam_file)
(cond
	((not (wcmatch (cdr (assoc 2 name)) "`**"))
		(if (not prefix)
			(progn
				(setq nam_file (getfiled "Dessin bibliothèque" (cdr (assoc 2 name)) "dwg" 1))
				(setq prefix (substr nam_file 1 (- (strlen nam_file) (strlen (cdr (assoc 2 name))))))
			)
			(setq nam_file (strcat prefix (cdr (assoc 2 name))))
		)
		(command "_.-wblock" nam_file (cdr (assoc 2 name)))
	)
)
)
(defun c:blk2dwg ( / first_blk l_blk n_blk prefix)
(setq first_blk (tblnext "BLOCK" T))
(cond
	(first_blk
		(setq l_blk (list first_blk))
		(while (setq n_blk (tblnext "BLOCK"))
			(setq l_blk (cons n_blk l_blk))
		)
		(setvar "FILEDIA" 0)
		(foreach n l_blk (record_dwg n))
		(setvar "FILEDIA" 1)
	)
	(T
		(princ "\nPas de blocs définis!")
	)
)
(prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Tramber, je suis aller voir, mais ça me dépasse :hallucine:

 

Bonuscad, Mon code (la différence avec le tien , c'est que je n'exporte que des blocs présents graphiquement...) :

 

 (defun c:wb ()
 (setq filediaOLD (getvar "filedia"))
 (setvar "filedia" 0)
 (setq blocs (ssget (list (cons 0 "INSERT"))))

 (setq n 0)
 (repeat (sslength blocs)
   
   (setq bloc_traite (entget (ssname blocs n)))
   (setq fichier (strcat "C:/Documents and Settings/ldesmier/Bureau/BIBLI/" (setq nom (cdr (assoc 2 bloc_traite))) ".dwg")) ;le chemin est pour l'instant imposé

  
(command "-wbloc" fichier nom)

   (setq n (+ 1 n))
 )
 (setvar "filedia" filediaOLD)
)

 

Bon, sinon, je crois que je me suis fourvoyé lamentablement : je tentais un

 (getfiled "Chemin d'export des blocs" "" ""  [b] 0[/b]) 

--> pas de nom par défaut donc ça ne marchait pas !

 

Mon problème est maintenant résolu. Merci pour ton lisp qui est très bien.

 

NOTE : mon lisp ne traite pas le pb des doublons !

 

[Edité le 23/3/2005 par LUDWIG]

Autocad 2021 - Revit 2022 - Windows 10

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é