JFTxJ Posté(e) le 8 mars 2006 Posté(e) le 8 mars 2006 OK. Je développe une app. qui permet de lire un dessin (les objets et toutes leurs coordonnées) et dépose ces informations dans une base de données. Par la suite, tout usagé de ce programme peut aller chercher ce dessin, le programme demandant toutes les coordonnées et recréant les objets. Ceci fonctionne à merveille.Voici le problème: Je doit respecter l'ordre original de dessinage des objets. Malheureusement, puisque les objets sont recréés dans un nouveau dessin (qui peut déjà contenir des objets), les Handles ne sont pas constants. Donc je doit trouver un mécanisme qui me permettrais de sauvegarder l'ordre de dessinage des objets sans faire référence au Handle de ces objets. N'importe quel idée serais bienvenu.. Merci Apprentis-expert.... "The human mind, once stretched by a new idea, never regains its original shape."
bonuscad Posté(e) le 10 mars 2006 Posté(e) le 10 mars 2006 Je pense que si tu veux conserver l'ordre de création, seul les "handles" peuvent t'aider. Il faudrait peut être AVANT de déposer tes informations dans une base de données, classer préalablement les entités par leur handle pour avoir l'ordre de création. J'ai essayé en lisp: voir ICI de faire quelque chose avec les handles.Je n'en suis pas encore satisfait, c'est juste une base de départ, j'attends l'inspiration pour continuer ;) Volilà, si ça peut t'aider ou t'orienter, tant mieux Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
JFTxJ Posté(e) le 10 mars 2006 Auteur Posté(e) le 10 mars 2006 Je connais pas bien le LISP malheureusement..... mais merci. Le problème, c'est que quand je recré les objets dans une nouvelle session d'autoCAD, les handles changent (ou du moins, je n'ai pas controle dessus; c'est normal, puisque les handles sont valides pour la vie d'un dessin seulement). J'ai temporairement décidé de "mappé" le "drawing order" à la clef de chaque objets dans la base de donnée. Donc, je peut garder mon ordre, mais ca double presque la grosseur moyenne de mes transferts à la base de donnée.... c'est ce que je voulais évité. Apprentis-expert.... "The human mind, once stretched by a new idea, never regains its original shape."
Tramber Posté(e) le 10 mars 2006 Posté(e) le 10 mars 2006 Cherche bien, il y a un COUNT pour chaque espace (objet papier). En vlisp ca donne :(vla-item MONMODELSPACE(-(vla-get-count APMODELSPACE)1)) Soit ITEM -1 de MODELSPACE pour le dernier objet et item 0 pour le premier. Ca doit se faire en VBA. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 11 mars 2006 Posté(e) le 11 mars 2006 coucou, je ne suis pas sûr d'avoir compris ton souci mais,dans un (ssget) tu choisis l'option "X",dans le jeu de sélection créé, la dernière entité créée est la première du jeu de sélection.de ce fait en inversant les entités dans le (ssget) tu les retrouve dans leur ordre de création. en souhaitant ne pas être hors sujet,depuis le temps que je ne suis pas venu, j'ai le droit à l'erreur, non ? amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
JFTxJ Posté(e) le 12 mars 2006 Auteur Posté(e) le 12 mars 2006 Merci didirer et Tramber, mais le problème n'est pas de trouver l'ordre, mais de la sauver sans l'aide des handles. (je doit la réappliquer dans un nouveau dessin, où les objets ont été recréé, donc avec des handles différents). Apprentis-expert.... "The human mind, once stretched by a new idea, never regains its original shape."
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant