Aller au contenu

Vérifier la version d\'un fichier Dwg


Eric

Messages recommandés

 

et en plus (tiens encore une idée) ton logiciel pourrait éventuellement donner la possibilité de créer des listes de plans du dossiers que l'on pourrait joindre au plans transmis. Faudrait juste supprimer l'arborescence qui ne servirait à rien ou du moins conserver celle-ci que depuis le répertoire que l'on a sélectionné pour l'analyse (sans le c:/........)

 

C'est déjà possible en cliquant sur le bouton Exporter.

 

 

 

Oui, j'avais vu mais je voulais dire : avec les modifs que j'avais indiqué. ;)

 

 

Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 130
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Faudrait juste supprimer l'arborescence qui ne servirait à rien ou du moins conserver celle-ci que depuis le répertoire que l'on a sélectionné pour l'analyse (sans le c:/........)
.

 

J'avoue ne pas très bien avoir compris cette phrase :D

Lien vers le commentaire
Partager sur d’autres sites

Désolé, je recommence.

 

dans ton tableau à 3 colonnes (NOM DU FICHIER ----- VERSION ---- CHEMIN) pour l'exportation de la liste (par exemple pour la joindre avec des dwg que l'on veut transmettre) il est pas nécessaire de connaitre l'arborescence du fichier depuis la racine (C, D ou Autre) l'arborescence devrait commencer par le répertoire que l'on a demander d'analyser à DwgVersion.

 

Ex :

 

analyse du répertoire TOTO y compris sous-répertoires (Toto étant dans c:/ travail / affaire / plans ...

 

Toto

|

|------Arch

|

|------Béton

|

|------Fluides

|

|------Xref

 

Ce qu'il serait bien (enfin je trouve) c'est que DwgVersion donne, non pas l'arborescence des plans tel que :

 

C:/travail/affaires/plans/toto/Arch/xxxxx.dwg (affichage actuel)

 

mais plutôt :

 

Toto/Arch/xxxxx.dwg

 

voilà ;)

 

 

heuu ... j'espère avoir été un peu plus clair :casstet: (c'est pas facile des fois d'expliquer)

 

[Edité le 21/12/2009 par neptune38]

Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !

Lien vers le commentaire
Partager sur d’autres sites

Ok , là il faut que je réfléchisse un peu à la manière de faire.

 

Je ne le garantie pas pour la version 2 mais on verra.

 

Parce qu'il faudrait je pense, garder les deux méthodes.

 

En fait il faudrait pouvoir exporter le chemin complet ou pas.

 

 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Re,

 

Salut Eric,

 

Merci

 

Bon, je revérifierai plus tard,..

 

Ce qui est étrange, c'est que maintenant si je fais un "enregistrez-sous", je n'ai que ces options ????

 

http://free0.hiboox.com/images/5310/7f98cbb4dc8095127aff32f278f63c8b.jpg

 

Depuis quand et pourquoi, je ne sais pas,...

 

Est-ce du à DWG TRUE VIEW ou autre,... ???!!!

 

A creuser,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Pour ton noël, j'ai trouvé ça

 

Dans le dwg 2007 et suivants, tu trouveras quelque chose comme ça :

i n s t a l l _ i d _ s t r i n g = \ " A C A D - 6 0 1 3 : 4 0 c \ " (Avec des espaces)

A C A D - 6 0 1 3 correspond au produit.

4 0 c correspond à la langue.

 

Vive SuperDWGVersion !

 

PS : Pour les versions plus anciennes je n'ai pas encore trouvé.

 

Je reviens la dessus parce que ché pas fachile.

 

Quand je fais une recherche par programation il ne me trouve pas cette ligne.

 

Et il n'y a que le bloc note qui arrive à afficher cette ligne là.

 

D'autres Editeurs de textes ne voient jamais ce texte.

 

Je dois m'y prendre mal ou alors c'est un codage mystérieux.

 

En plus j'ai pas mal de fichiers qui n'ont pas cette info, même dans le bloc note.

 

 

 

 

[Edité le 3/1/2010 par Eric]

Lien vers le commentaire
Partager sur d’autres sites

Ca y est j'ai réussit à lire cette ligne.

 

En plus Gile avait donné la réponse

 

Le caractère qui ressemble à une espace est en fait le caractère unicode '\0', en supprimant chaque occurrence de ce caractère dans la ligne, on arrive à la lire normalement.

 

Dans mon cas c'est Chr(00)

 

Faut toujours écouter Gile :D

Lien vers le commentaire
Partager sur d’autres sites

Sauf que chez moi, il semble que cette information soit quelque erratique.

J'ai fait quelques tests et, après un nouvel enregistrement du fichier, je n'arrive plus à lire l'info

 

Tiens je ne perd pas cette info quand j'enregistre, mais par contre j'ai pas mal de fichiers qui ne l'ont pas et je ne sais pas pourquoi.

 

Est ce que d'autres personnes pourraient faire des tests SVP.

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Il semble que l'info se perde quand on ouvre et réenregistre un fichier avec une autre version que celle avec laquelle il a été créé.

 

L'info apparaît parfois différemment :

AppInfoData 5001 (le caractère spécial est le caractère \005

ou

\ " A C A D - 5 0 0 1 : 4 0 c \ "

 

Le petit exe avec le quel j'ai fait les tests.

 

Le code (C#) si nomutt veut le traduire en VB.net

 

using System;
using System.IO;
using System.Windows.Forms;

namespace DwgVersion
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void cmdSelect_Click(object sender, EventArgs e)
       {
           OpenFileDialog ofd = new OpenFileDialog();
           ofd.Title = "Sélectionner un fichier DWG";
           ofd.Filter = "Dessin (*.dwg)|*.dwg";
           ofd.FilterIndex = 1;
           if (ofd.ShowDialog() == DialogResult.OK)
           {
               string filename = ofd.FileName;
               this.lblFilename.Text = filename;
               string line;
               string product = string.Empty;
               bool loop = true;
               using (TextReader reader = new StreamReader(filename))
               {
                   line = reader.ReadLine();
                   string dwgFormat;
                   switch (line.Substring(4, 2))
                   {
                       case "06":
                           dwgFormat = "R10";
                           break;
                       case "09":
                           dwgFormat = "R11 ou R12";
                           break;
                       case "12":
                           dwgFormat = "R13";
                           break;
                       case "15":
                           dwgFormat = "2000";
                           break;
                       case "18":
                           dwgFormat = "2004";
                           break;
                       case "21":
                           dwgFormat = "2007";
                           break;
                       case "24":
                           dwgFormat = "2010";
                           break;
                       default:
                           dwgFormat = "Inconnu";
                           break;
                   }
                   this.lblFormat.Text = "Enregistré au format DWG " + dwgFormat;
                   while (loop && line != null)
                   {
                       if (line.Contains("AppInfoData"))
                       {
                           loop = false;
                           product = line.Substring(line.IndexOf('5', line.IndexOf("AppInfoData")), 1);
                       }
                       else
                       {
                           line = line.Replace("\0", "");
                           if (line.Contains("ProductInfo"))
                           {
                               loop = false;
                               product = line.Substring(line.IndexOf("ACAD") + 5, 1);
                           }
                           else
                           {
                               line = reader.ReadLine();
                           }
                       }
                   }
                   reader.Close();
               }
               if (product == string.Empty)
                   this.lblProduct.Text = "avec un produit Autodesk inconnu";
               else
               {
                   switch (product)
                   {
                       case "8":
                           product = "2010";
                           break;
                       case "7":
                           product = "2009";
                           break;
                       case "6":
                           product = "2008";
                           break;
                       case "5":
                           product = "2007";
                           break;
                       case "4":
                           product = "2006";
                           break;
                       case "3":
                           product = "2005";
                           break;
                       case "2":
                           product = "2004";
                           break;
                       case "1":
                           product = "2002";
                           break;
                       default:
                           product = "2000 ou antérieur";
                           break;
                   }
                   this.lblProduct.Text = "avec un produit Autodesk " + product;
               }
           }
       }
   }
}

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Bizarre, je peux changer de version et enregistrer à tout va et l'info suit bien dans le fichier.

 

Sauf si j'enregistre dans un format plus ancien que 2004.

 

Pour info ton exe me dit que le fichier a été enregistré avec un produit Autodesk 2000 ou antérieur dès que c'est un fichier enregistré avec une version LT (je crois).

 

Lien vers le commentaire
Partager sur d’autres sites

L'embêtant avec ce truc c'est que cette info n'a pas de place fixe et du coup il faut faire une recherche sur tout le fichier.

 

Du coup sur des centaines ou des miliers de fichiers ça va rallonger considérablement les temps d'analyses, surtout si il y a des gros fichiers.

 

Et en plus si sur certains postes (comme celui de Gile) ça fonctionne bizarement...

 

Je ne suis pas sur d'implémenter ça dans la prochaine version.

 

Merci Nomutt pour ton cadeau empoisonné :D

Lien vers le commentaire
Partager sur d’autres sites

Finalement je vais peut être proposer ça en option.

 

Comme ça on ne rallonge pas le temps d'analyse au départ et si l'utilisateur le souhaite il pourra effectuer cette recherche en plus.

 

J'ai déjà fais quelques essais et c'est assez marrant de voir avec quels logiciels ça a été créé.

 

Par contre j'aurais besoin dans l'idéal d'un fichier enregistré avec toutes les versions listées dans le lien donné par Nomutt:

 

http://usa.autodesk.com/adsk/servlet/ps/item?siteID=123112&id=9120436&linkID=9240617

 

Donc je vous propose de m'envoyer par mail un fichier enregistré avec votre version d'AutoCAD ou de Map ou de Civil, etc.

 

Pour que je puisse vérifier que les codes donnés dans le lien ci dessus correspondent bien au vrai code du fichier.

 

Parce que ce n'est pas toujours très clair.

Par exemple pour AutoCAD LT 2007, ce n'est pas le code 7009 mais ACADLT 7001qu'il faut chercher.

 

Donc n'hésitez pas à m'envoyer par mail (voir ma signature) ou en lien de téléchargement un fichier enregistré avec votre logiciel (même s'il n'y a qu'un cercle dedans ça suffit).

 

Je tiendrais ainsi une liste des versions que je possède, que je mettrais à jour pour savoir quel fichier (version) il me manque.

 

Et si ça vous intéresse je pourrais ensuite fournir ces fichiers qui constitueront une bonne base de données des différentes versions.

 

A votre bon coeur Msieurs Dames.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Sinon l'info se trouve dans la base de registre :

 

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.0\ACAD-5001:40C -> AutoCAD 2007 fra

 

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R18.0\ACAD-8001:40C -> AutoCAD 2010 fra

 

Je t'ai envoyé un mail chez caderix

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Gile,

 

Merci pour ces infos.

 

Ca c'est plus pour savoir si un produit est installé mais les codes sont sensiblement les mêmes.

 

Merci pour ton mail.

 

 

 

[Edité le 4/2/2010 par Eric]

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

A (gile), merci pour le lien de convertion entre le C et le VB

 

A Eric

Merci Nomutt pour ton cadeau empoisonné

Y pas de quoi ! A vrai dire, cela venait d'un bon sentiment au départ.

 

Pour le temps requis de la vérification, j'ouvre le fichier en binaire et je teste caractère par caractère. Dans ma boucle, je sort immédiatement dès que j'ai ce qu'il me faut. Mais il est vrai que je n'ai pas, comme toi, testé sur un gros fichier.

 

Nomutt,

Consultant, Responsable Projets CAD/PLM

'Add-ins pour Inventor + Trucs et Astuces.

Disponible pour un poste administrateur CAO/PLM.

Lien vers le commentaire
Partager sur d’autres sites

Y pas de quoi ! A vrai dire, cela venait d'un bon sentiment au départ.

 

Je plaisantais évidement.

 

C'est pas forcément évident à mettre en place mais c'est marrant.

Lien vers le commentaire
Partager sur d’autres sites

Pour infos :

 

Covadis, semble retirer cette signature du fichier DWG, ce qui expliquerait que certains fichiers ont cette signature et d'autres non. (A vérifier quand même)

 

Il y a peut être d'autres applicatifs qui font cela.

 

DWG TrueView ne met pas sa propre signature, il laisse celle qui avait avant.

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é