Matt666 Posté(e) le 1 octobre 2007 Posté(e) le 1 octobre 2007 Salut ! Petite question...Lorsqu'on créé une polyligne, au fur et à mesure des points ou des distances entrées, la commande ajoute un segment à la polyligne. Bon ça tout le monde le sait et/ou le comprend... Par contre, pour récupérer les propriétés des segments ajoutés, c'est autre chose... Si on essaie de récupérer les données pendant la commande, on peut essayer ça :(command "_.pline") (while (not (zerop (getvar "cmdactive"))) (setq ent (entlast)) (command pause) Le problème c'est qu'on ne peut rien récupérer à partir de cette entité dernièrement créée... si on essaie une entget au milieu de la commande, rien ne se passe... Mes question sont les suivantes : 1- Où sont stockées les propriétés de l'entité polyligne pendant sa création ?2- Comment faire pour les récupérer ? Nota : On peut très bien le faire en VLISP (enfin je crois : vl-cmdf) mais si possible en autolisp.. Je sais pas trop si je suis clair... Enfin voilà ! Merci à ceux qui voudront bien me répondre... A bientot !Matt. [Edité le 1/10/2007 par Matt666] "Chacun compte pour un, et nul ne compte pour plus d'un."
vinz34 Posté(e) le 11 octobre 2007 Posté(e) le 11 octobre 2007 Essaie un (entget(entlast)), avec ça tu récupères toutes les propriétés de la dernière entité dont les coordonnées des points si c'est ce que tu cherches.
Bred Posté(e) le 11 octobre 2007 Posté(e) le 11 octobre 2007 Re,je l'avais loupé ce message.....J''avoues ne pas comprendre ce que tu veux faire du fait de récupérer les points au moment de les pointer.....Si c'est absolument ce que tu veux faire, tu peux tricher en créant une "fausse polyligne" en demandant une série de (getpoint) et en créant une polyligne à 2 points chaque fois, puis quand l'utilisateur à fini de "pointer" tu transformer ton ensemble en polyligne unique.... Le plus long, pour que ce soit totalement invisible, et de re-créer les options à chaque clic (avec initget ...) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 11 octobre 2007 Posté(e) le 11 octobre 2007 Salut Tant que la commande en cours n'est pas achevée, rien n'est inscrit dans la base de donnée d'autocad, tout est en mémoire tampon. Donc un (entget (entlast)) sur une entité en cours d'élaboration n'est pas possible (puisque par encore écrite dans la base). (entlast) est la dernière entité crée complètement. Accéder et lire(et décoder) les mémoire utilisé par Autodesk est une autre paire de manche.... L'avantage avec (entmake), c'est que tu peux avoir toute les définitions, puisque c'est toi qui construit la base de donnée. Mais c'est plus laborieux qu'un command ... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Matt666 Posté(e) le 12 octobre 2007 Auteur Posté(e) le 12 octobre 2007 Ok d'ac !! Merci vous ! BonusCAd, c'est bien ce que je me disais... on ne peut pas accéder à une entlast puisqu'aucune entité n'est encore créée... J''avoues ne pas comprendre ce que tu veux faire du fait de récupérer les points au moment de les pointerBred, à la base je voulais refaire l'une des routines de Gile qui permet de donner la longueur de la polyligne au fur et à mesure qu'on la créé en AUTOLISP... c'est à dire sans vl-cmdf... Pour pouvoir récupérer le type de segment créé (arc ou ligne) je pensais pouvoir récupérer les types d'entités avoir un entlast bien placé... Mais bon ça risque d'être plus compliqué... J'ai peur qu'on ne puisse pas faire ça en suivant la commande _pline... Reste plus qu'à faire une routine qui créé un polyligne par un entmake, ce sera plus simple !Merci à vous ! A bientot.Matt. "Chacun compte pour un, et nul ne compte pour plus d'un."
(gile) Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Matt666, La routine sur la page dont tu donnes le lien ne met pas la longueur des segments au fur et à mesure où on crée la polyligne, elle place un texte indiquant la longueur des segments sur un polyligne sélectionnée (déjà créée). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Matt666 Posté(e) le 12 octobre 2007 Auteur Posté(e) le 12 octobre 2007 Ah zut !! Oui effectivement :mad2: Mais ça doit être cette routine qui m'a donné cette idée !! :P Bon bah je n'ai plus qu'à me taire maintenant... A bientot !!Matt. "Chacun compte pour un, et nul ne compte pour plus d'un."
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