Aller au contenu

Recover avec VB.Net


PhilOctet

Messages recommandés

Bonsoir à tous,

 

Je suis entrain de traiter près de 15000 fichiers AutoCAD présents sur un serveur.

 

Certains fichiers réclament un "Revover" et bloque la procédure. Ces fichiers sont récupérés manuellement et lors du "contrôle", AutoCAD me dit "erBadHeader". Ce doit être l'entête du fichier. Ce n'est pas là l'important.

 

Est-ce qu'il existe un moyen (via un try catch par exemple) de ne pas afficher cette boite de dialogue bloquante parce qu'elle attend un "Ok"?

 

Je logue certaines erreurs dans un fichier .csv et j'aimerais retrouver les erreur précédentes dans ce même fichier log. Et là, je demanderai l'intervention des utilisateurs de ces dessins afin qu'ils corrigent les problèmes.

 

Là, pour le coup, moi aussi, je suis aussi bloqué.

 

Merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Oui, j'ouvre la base de données DWG avec :

 

Using dtb = New AcBdd.Database(False, True)

dtb.ReadDwgFile(filename, System.IO.FileShare.ReadWrite, True, String.Empty)

 

...

 

acTrans.Commit()

End Using

 

Sans vouloir être influent, je pense qu'il faudrait agir au niveau du commit.

 

Merci de ton aide.

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends pas bien le problème, avec ReadDwgFile le document n'est pas "vraiment ouvert", seule la base de données est accessible en lecture/écriture donc je ne comprends pas quelle boite de dialogue s'ouvre.

 

Ce que je ferais : un groupe try/catch qui essaye d'ouvrir la base de donnée, et qui récupère dans une liste le nom complet du fichier en cas d'exception :

 

List wrongFiles = new list();
using (dtb = New AcBdd.Database(False, True))
{
   try
   {
       dtb.ReadDwgFile(filename, System.IO.FileShare.ReadWrite, True, String.Empty);
       ...
   }
   catch
   {
       wrongFiles.Add(filename);
   }
}

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir (gile),

 

Je vais essayer. Je suis sur que cela va fonctionner.

 

Le message affiché coorespond au message classique de demande de récupération lorsque le fichier est abimé.

 

J'ai également d'autres messages de type BDX CASEx. Il me semble qu'ils sont liés aux objets BDX d'applications tierces. Mais lequel correspond à quoi ! Je n'ai pas trouvé de réponse.

 

Je te tiens informer de l'évolution.

 

A bientôt,

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

Bonsoir,

 

Eté et congés terminés, il faut se remettre au boulot.

 

Mes quelques investigations estivales m'ont permis d'avancer quelque peu. L'exercice ci-dessus terminé, il me faut passer au suivant.

 

Dans AutoCAD, il existe une commande "recover" (= recuperer). Peut-on la lancer avec ReadDwgFile ? Quel est cette méthode ?

 

je vous en remercie,

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

À ma connaissance, ça n'est pas possible.

Comme tu le sais certainement, on ne peut lancer une commande AutoCAD dans un dessin qui n'est pas ouvert dans l'éditeur. Il existe bien dans la documentation une méthode Database.Audit() dont on pourrait penser qu'elle correspond à la commande du même nom (CONTROLER en français), mais elle n'est toujours pas implémentée dans A2013...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é