Aller au contenu

[Résolu] Redéfinition des blocs en masse


Messages recommandés

Posté(e)

Bonjour à tous.

 

Voilà, j'essai de redéfinir des blocs en les insérant depuis les DWG qui leur correspond.

 

J'ai donc écris ça :

(defun c:ImpBlkCharte (/ FichBlkLst)
 (if (/= (findfile "ListeBlk.txt") "")
   (progn (setq File (open (findfile "ListeBlk.txt") "r"))
          (while (setq BlocDWG (read-line File))
            (princ (strcat "\nBlocDWG : " BlocDWG))
            (command "-inserer" (findfile BlocDWG) "-300,-700,0" 1 1 0)
          ) ;_ Fin de while
   ) ;_ Fin de progn
 ) ;_ Fin de if
)

Et voici un extrait de mon fichier "ListeBlk.txt" :

ArrArro.dwg

ArrBouche.dwg

ArrBrt.dwg

ArrPurge.dwg

ArrRobi.dwg

ArrVann.dwg

AssAval.dwg

AssAvalGrill.dwg

AssAvalTamp.dwg

AssBrt.dwg

....

....

Mais bien-sur, ça ne fonctionne pas, ma routine ne redéfini pas les blocs, elle les insert depuis ceux inclus dans le DWG.

 

Si quelqu'un a une astuce, un conseil... Je suis preneur.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Salut,

 

Essaye avec un "=" sur la commande "-inserer"

(command "-inserer=" (findfile BlocDWG) "-300,-700,0" 1 1 0)

 

Il va peut etre falloir ajouter une validation.

Autodesk Expert Elite Member

Posté(e)

Salut nosset et merci pour ton aide.

 

AutoCAD me répond "Commande inconnue"...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Bonjour

un Bonne âme du forum m'avait fait celui-ci .

Il permet d’insérer les wbloc d'un répertoire dans un dwg et redéfini les blocs déjà en place.

Ca peut peut être t'aider...

 

 

(defun c:rtb(/ blo esp lay lck lst rep)

(vl-load-com)

(setq doc (vla-get-activedocument (vlax-get-acad-object))

esp (vla-get-modelspace doc)

lay (vla-get-activelayer doc)

lck (vla-get-lock lay)

)

(vla-startundomark doc)

(and (setq rep (getfiled "Choisissez un fichier dans un répertoire contenant tous les blocs à redéfinir." (getvar "dwgprefix") "DWG" 8))

(setq rep (vl-filename-directory (findfile rep)))

(setq lst (vl-directory-files rep "*.dwg"))

(progn

(vla-put-lock lay :vlax-false)

(foreach blo lst

(and (tblsearch "block" (vl-filename-base blo))

(vla-delete (vla-insertblock esp (vlax-3d-point '(0.0 0.0 0.0)) (findfile (strcat rep "/" blo)) 1 1 1 0))

)

)

(vla-put-lock lay lck)

(vla-regen doc acallviewports)

)

)

(vla-endundomark doc)

(princ)

)

  • Upvote 1
Posté(e)

Salut laud69 et merci pour ton aide...

 

C'est exactement ce dont j'ai besoin...

 

Merci encore...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é