Aller au contenu

Messages recommandés

Posté(e)

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."

  • 2 semaines après...
Posté(e)

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.

 

Posté(e)

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...

Posté(e)

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

Posté(e)

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 pointer

Bred, à 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."

Posté(e)

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

Posté(e)

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."

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é