Aller au contenu

Initiation Vlisp


Messages recommandés

Posté(e)

Bonjour voila, je lance un p'tit sujet sur le vlisp.N'ayant pas beaucoup de connaissance dans ce domaine j'appelle à ,l'aide ;).

 

 (defun c:test ()
(vl-load-com)
(setq ssobj(car(entsel"\nSélectionner une ligne: ")))
(setq ssobj (vlax-ename->vla-object ssobj))
(if (= (vlax-get-property ssobj 'objectname)"AcDbLine") 
(vlax-dump-object ssobj T) 
(alert "Ce n'est pas une ligne")
)
)

 

voila ci dessus un p'tit bout de code pour connaitre les propriétées d'une ligne.

Maintenant j'aimerais obtenir les coordonnées du point de début et de fin.

J'ai qu'il existait startpoint et endpoint (je sais faire en autolisp mais pas en vlisp)

 

j'ai essayé de faire:

 

(vla-get-startpoint)

(vla-get-endpoint)

 

mais cela ne me retourne pas une liste

 

par contre si je fais (vla-get-layer) j'obtiens bien le nom du calque.

 

Merci de votre aide

 

@plus

Posté(e)

Salut,

je te laisse chercher, mais je te donne une piste :

pour voir toutes les valeurs (et las méthodes) applicable a un vla-object :

(setq vla-sel (vlax-ename->vla-object (car (entsel "\n Choix de l'objet :"))))
(vlax-dump-object vla-sel t)

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Salut,

 

Certaines propriétés retournées par les fonctions vla- ou vlax-get-property (notament les listes) sont contenues dans un "variant" qui lui même peut contenir un "safearray"

 

Pour obtenir une liste, il faut faire :

 

(vlax-safearray->list (vlax-variant-value (vla-get-StartPoint ssobj)))

ou

(vlax-safearray->list (vlax-variant-value (vlax-get-property ssobj 'StartPoint)))

 

 

Mais une astuce consiste à utiliser l'ancienne fonction vlax-get (tout court) :

 

(vlax-get ssobj 'StartPoint)

 

vois ce sujet

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é