Aller au contenu

Récuperer l\'ID d\'un objet (polyligne, plygone..)


Messages recommandés

Posté(e)

Bonjour à tous,

 

Est'il etait possible de récupérer l'identifiant d'un objet (polyligne, point polygone..), dans autocad 2002.

J'ai testé quelque exemples, mais tous fonctionnent avec des blocks.

Le but de la manoeuvre est de récupérer un dwg dans un logiciel SIG.

 

Merci

 

 

fab

 

Posté(e)

Comme dit Rebcao, je ne sais pas si tu seras plus avancé avec cela.

 

Le maintien (handdle: code DXF 5) est un numéro (Hexa) d'ID attribué a chaque entité pour UNE session.

Il n'est pas fixe et change à chaque session.

Donc si une application utilise les numéros de maintiens, cela devra être fait dans la même session unique pour obtenir une execution correcte de l'application.

Tu ne peux stocker ces valeurs (dans un fichier par exemple) pour les utiliser ultérieurement.

 

En conclusion je ne pense pas que les handdles soient appropriés pour effectué un traitement sur un fichier, l'utilité je pense est plus ponctuelle (car l'information est volatile d'une session à l'autre).

 

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

Posté(e)

Ta réponse me surprend Bonuscad !

 

Le N° de MAINTIEN quelque soit la session reste toujours le même ! :casstet:

 

C'est un N° incrémenté à l'infini... le N° d'un objet effacé ne sera plus jamais réutilisé !

 

Lorsqu'on crée des profils en 3D par exemple, AutoCAD utilise le N° de MAINTIEN de la fenêtre pour nommer les calques...PH- et PV-... et à chaque fois que j'ouvre le/les dessins ce N° correspond bien au N° initial ! :casstet:

 

Christian

 

[Edité le 4/10/2005 par rebcao]

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Posté(e)

Le N° de MAINTIEN quelque soit la session reste toujours le même !

 

Je me suis mélangé les pinceaux, j'ai confondu le handdle et le nom de l'entité.

 

MAE CULPA, merci d'avoir rectifié

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

Posté(e)

Voilà un sujet qui ne manque pas d'intérêt !

Le n° de maintien est donc incrémenté à l'infini, évitant ainsi les doublons et permettant l'exploitation éventuelle des objets crées vers d'autre applications.

Questions :

Si je re-installe Autocad, la numérotation n'est-elle pas ré-initialisée ?

Si un fichier est récupéré par un autre poste Autocad, il y aura risque de doublon lorsque, par exemple, ce second poste insère l'objet crée initialement dans un de ses propres dessin qui contiendrait déjà un objet propre ayant le même n° de maintien. Serait-ce ça le message d'erreur " HANDLE EXCEPTION" ?

 

[Edité le 4/10/2005 par jms]

Posté(e)

 

Bonsoir

 

Les HANDLEs (ou codes de MAINTIEN) sont apparues avec AutoCAD R11 (comme les XDATAs).

 

C'est une valeur HEXA qui varie de 1 - FFFFFFFF

Les objets d'un dessin ont un HANDLE unique et il s'incremente TOUJOURS ...

Donc aucun risque de recuperer le HANDLE d'un objet effacé !

 

Cependant su tu inseres un DWG dans un autre DWG, tous les HANDLEs du dessin inséré changent (NORMAL !!! pour ne pas "rencontrer" ceux du dessin en cours), donc il faut etre prudent !

 

C'est par "forcement" une bonne idee d'utiliser le HANDLE comme cle unique pour identifier un objet graphique mais BON souvent on a pas d'autre choix ... :o :mad:

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

 

Bonsoir

 

Maintenant une reponse pour TICOKO

 

L'ideal serait que chaque bloc/symbole possede un attribut UNIQUE (Cle primaire)

et ainsi il serait tres facile avec AutoCAD MAP de lier automatiquement tous ces blocs avec un enregistrement d'une table en base de données.

 

Il te faudrait eventuellement un programme AutoLisp qui rajoute un attribut variable à tous les blocs d'un nom donné puis insère dans chaque attribut un identifiant unique (avec incrémentation automatique):

1 / 2 / 3 / ... (Numérotation simple)

T0001 / T0002 / T003 / ... (Numéros de tampons par exemple)

AC0001 / AC0002 / AC0003 / ... (Numéros de section + parcelle par exemple)

 

Une plaisanterie pour les Pros du Lisp :) :D :cool:

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

Bonjour,

Ce serait certainement intéressant pour les blocs, mais ne pourrait-on imaginer, pour répondre à la demande de ticoko, d'attacher aux autres objets ( lignes, polylignes etc.) une chaîne de caractères de type identifiant ( comme les formats que tu proposes ) en xdata.

L'avantage étant que cette données accompagne les objets sans altération, même lors d'une insertion.

 

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é