Aller au contenu

wbloc et fichiers


pelloux

Messages recommandés

Bonjour

 

Mon métier est celui des SIG et de la cartographie.

 

Je tiens à préciser d'avance que je ne connais pas le LISP mais qui m'arrive depuis quelques jours d'utiliser ceux du forum (avec beaucoup de bonheur).

 

J'ai plusieurs centaines de fichiers dwg dans des répertoires et sous répertoires.

 

Je souhaiterais :

 

- ouvrir le 1er fichier

- appliquer simplement la commande "wbloc"

- enregistrer le fichier (sous le même nom et à un format qui ne soit pas supérieur à la version 2004).

- fermer le fichier

- ouvrir le 2ième fichier

- appliquer la commande "wbloc" et ainsi de suite jusqu'à ce que tous les fichiers soient traités.

 

Attention, les fichiers ne doivent pas quitter leur répertoire d'origine.

 

Peut-être que quelqu'un a déjà crée un lisp qui l'a fait.

 

Je suis sur Autodesk map 2007.

 

Merci d'avance.

 

PHP

Lien vers le commentaire
Partager sur d’autres sites

hello,

 

d'accord, mais quels sont les objets qui seront sélectionnés

après la commande WBLOC ?

 

est ce la totalité du fichier ?

si oui, quelle utilité ?

 

si c'est pour purger, il y a mieux

si c'est pour changer de version, c'est idem.

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

si tu veux enregistrer sous le même nom le wbloc ne fonctionne pas!

 

mais si tu veux juste sauvegarder sous format 2004 la commande _saveas est plus recommander.

 

hannn didier pourquoi avoir changer ton avatar??? sniff :( elle me plaisait bien ta bonne bouille

 

[Edité le 24/1/2007 par Maximilien]

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

Je te remercie pour ce lisp.

 

Je l'ai essayé avec comme seul message "veuillez sauvegarder votre dessin" ce que j'ai fait.

Puis c'est tout. Pourtant si je regarde les lignes du programme il pose plusieurs questions que je n'ai pas vu apparaître.

 

D'autre part et sans vouloir abuser de ton temps, peux tu m'expliquer comment je peux introduire la commande wbloc dans le cours du programme.

 

Merci.

 

PHP

Lien vers le commentaire
Partager sur d’autres sites

En clair, tu fais ton script ou lisp sur un dessin que tu testes, et quand tout est ok, tu peux lancer le traitement général.

Pour cela, tu lances scriptor qui va demander de sauver le dessin si cela n'a pas été fait, de modifier la variable SDI s'il elle n'est pas à un, de choisir le fichier script ou lisp source et ensuite une branche de répertoire.

Avec cela, il recherchera tous les dwg qui se trouve dans cette branche de répertoire (donc avec les sous répertoires) , les ouvrira et lancera le script ou lisp source sur chaque dessin qu'il sauvegardera pour terminer

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Exact c'est bien supprimer les couches éteintes, qui m'intéressent.

 

J'ai téléchargé DWG convert que je ne connaissais pas.

 

Visiblement Il permet d'opérer un changement de version sur une série de fichier, mais pas de lancer le traitement (wbloc) qui m'intéresse.

 

Bonne fin d'après midi.

 

PHP

 

 

Lien vers le commentaire
Partager sur d’autres sites

hello,

 

je récapitule ce que j'ai compris, car ce n'est pas explicite à cent pour cent.

 

le but de la routine à créer c'est :

créer un fichier DWG à partir d'un fichier ouvert

et ne prendre dans celui ci que les calques actifs

au moment du lancement de la commande ?

 

je pense qu'il y a un risque de perte d'informations

et qu'il sera judicieux de garder une trace de l'original.

 

si j'ai bien compris, merci de le dire pour qu'on s'y colle.

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

exemple de routine, à compléter suivant tes besoins,

 

j'ai choisi d'effacer du fichier toutes les entités des calques inactifs ou gelés

puis de faire une purge.

 

libre à toi de sauvegarder ou pas,

de renommer ou pas

 

 

(setq Description_Calque (tblnext "LAYER" T))

(while Description_Calque

(if (= 1 (cdr(assoc 70 Description_Calque)))

(progn

(setq JeuSelection (ssget "x" (list (cons 8 (cdr(assoc 2 Description_Calque))))))

(command "_erase" JeuSelection "")

)

)

(if (

(progn

(setq JeuSelection (ssget "x" (list (cons 8 (cdr(assoc 2 Description_Calque))))))

(command "_erase" JeuSelection "")

)

)

(setq Description_Calque (tblnext "LAYER"))

)

(command "purger" "to" "*" "n")

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir

 

Merci pour le code lisp et désolé pour cette réponse tardive.

 

Je viens tout juste de l'essayer et je n'ai pas eu de résultat ou plutôt brièvement voici ce que ça donne :

 

Sur un fichier dwg avec 5 couches inactives lorsque je charge le lisp et que je souhaite fermer la boîte de dialogue _appload, il faut faire 6 fois fermer avant de pouvoir en sortir. Cela doit être lié avec mes 5 couches inactives ?

 

Et mes couches inactives sont toujours dans mon fichier ???

 

Bonne soirée.

 

PHP

 

Lien vers le commentaire
Partager sur d’autres sites

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é