Aller au contenu

récupérer la position de début d'une polyligne


Messages recommandés

Posté(e)

Bonjour,

 

je cherche à récupérer la position du début d'une polyligne.

 

j'ai une fonction qui fonctionne pour les lignes, mais qui me retourne une erreur pour les plines, le nom de la propriété recherché n'étant pas le même.

(setq vdebaxe (vlax-get-property vlaobjaxe 'StartPoint )

 

1ère question :

Comment je retrouve les propriétés adéquat pour les plines ?

 

pour les lignes, en français, j'ai les propriétés départ X et départ Y. la traduction en lisp est 'startpoint

pour les polylignes, j'ai bien un sommet X et sommet Y.. mais comment je le traduis pour y accéder en lisp ?

 

 

questions subsidiaires... :

Comment je retrouve les propriétés de chaque objet commun (ligne, pligne, cercle, etc...) ?

existe-t-il un récap quelque part, une aide, avec un listing des propriétés ?

Je n'ai pas trouvé jusqu’à maintenant :(

 

Puisque l'on peut accéder aux propriétés d'un objet par leur numéro dans la liste des propriétés, il doit bien exister une commande à lancer, à base d'assoc machin chose, qui boucle et m'affiche ses propriétés disponibles ? On peut afficher son nom avec ça ? S'affichent-ils toujours dans le même sens que les propriété autocad (exemple pour la pline: 1-Calque, 2-couleur, 3-échelle, ..., 14-SommetX, 15-SommetY, etc...) ?

 

Cela me permettrai de tester rapidement en local, plutôt que de fouiller longuement, et en vain, sur le net pour trouver la bonne réponse et venir vous embêter ici trop souvent ;o)

 

En vous remerciant par avance pour le poisson et pour m'apprendre à pécher*

Ju.

 

*Toute ressemblance avec une citation existante n'est aucunement fortuite ;o)

Posté(e)

Bonjour,

 

je cherche à récupérer la position du début d'une polyligne.

 

j'ai une fonction qui fonctionne pour les lignes, mais qui me retourne une erreur pour les plines, le nom de la propriété recherché n'étant pas le même.

(setq vdebaxe (vlax-get-property vlaobjaxe 'StartPoint )

 

 

salut,

je pense qu'il faut que tu regarde plutot les fonctions curve

vlax-curve-getStartPoint

 

par contre, pour avoir le 1er point, c'est hyper facile en lisp basic, avec les codes dxf:

 

(cdr (assoc 10 (entget (car (entsel "\nSel ta poly :")))))

-> retourne

Sel ta poly :(1573.64 975.073)

 

pour tes autre besoins,

tu peu aussi passer par le dxf :

un entget sur un polyligne dans l'espace objet, du calque 0, jaune, de type de ligne continuous et d'epaisseur 2.11:

 

(410 . "Model")
(8 . "0") 
(62 . 2) 
(6 . "Continuous")
(370 . 211)

a+ gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Posté(e)

je te propose 2 petit lispounet qui devrai d'aider à te repérer.

Dxf.lsp qui retourne les propriétés dxf d'une entité

et dump.lsp qui retourne en plus les propriétés Vba à la ligne de commande (faire F2 pour ouvrir la fenêtre)

 

pour le dxf je te renvoie vers les ref, également les fonctions ici

ça peu aider pour voir ce qui est accessible et sous quelle forme. tu traces un truc que tu maitrise, départ en 0,0,0 puis quelques point avec ou sans F8.... ça m'a beaucoup aider à m'orienter dans ce foutoir qu'est la base de donnée d'un dessin.

Posté(e)

Bonjour, et Merci vous deux !

 

après bidouillage et fouille dans l'aide, j'ai finalement intégré ces corrections à mon code existant...

 

*le programmeur gagne un niveau !*

Youpiii ;)

 

Merci encore, avec ça, je comprend mieux ces trucs d'assocs, et je sais comment y accéder... de quoi approfondir le fonctionnement d'autocad et la structure de ses fichiers...

 

c'est vrai qu'avec le script dxf, et le livre des ref, ... ça aide ;o)

 

question : (assoc 10 ...) retourne le premier point... Dans le cas des pline, on peut avoir plusieurs 10... Comment accéder aux points suivants ? Cette fonction retourne toujours un élément, pas une liste... et si je le rappelle, il me retourne toujours le 1er..

Comment faites vous pour les afficher ? en créant une liste temporaire où l'on a recopié toute la liste sans les premiers points ?

 

Merci d'avance pour votre retour...

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é