Aller au contenu

Section en vla- ...


Messages recommandés

Posté(e)

Salut...

j'essaye de me mettre aux "vla-object"...

j'ai écris une fonction mais elle ne fonctionne pas : la réalisation d'une section de solide (sur les XZ ici ...)

 

 (setq pt (getpoint "\nchoix du point  :"))
(setq vla_pt (vlax-3d-point pt))
(setq Solide3D (vlax-ename->vla-object(car(entsel))))
(vlax-invoke Solide3D 'SectionSolid vla_pt
 (vlax-3d-point (list (car pt)(cadr pt)(+ 1 (caddr pt))))
 (vlax-3d-point (list (car pt)(+ 1 (cadr pt))(+ 1 (caddr pt))))
 )

 

j'ai "; erreur: Une exception s'est produite"

 

.... comprend pas ....

 

(question bonus : n'y a t'il pas un moyen de "travailler" sur les coordonnées vlax-3d-point (c'est à dire faire ce que je fait avec (list (car pt)(cadr pt)(+ 1 (caddr pt)))

 

merci !

 

[Edité le 16/11/2006 par Bred]

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

Posté(e)

Bon, ben j'arrive en faisant

 (vla-sectionsolid pt1 pt2 pt3)

 

 

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

Posté(e)

n'y a t'il pas un moyen de "travailler" sur les coordonnées vlax-3d-point (c'est à dire faire ce que je fait avec (list (car pt)(cadr pt)(+ 1 (caddr pt)))

 

Eh non, (vlax-3d-point ...) retourne un "variant" l'argument courant des fonctions vla-... et encore là, il y a une fonction pour transformer la liste en variant sans être obligé de passer par les (vlax-make-variant (vlax-SafeArray-fill (vlax-make-SafeArray vlax-vbDouble ...))).

 

tu peux donc faire, par exemple (valx-3d-point (mapcar '+ pt '(0 0 1))

 

Ou, peut-être passer par les (vlax-invoke solide 'sectionsolid pt1 pt2 pt3) avec pt1, pt2 pt3 sous forme de liste (pas testé). Regarde ce sujet.

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

Posté(e)

Aaaaaaaah !!!.... c'est pour ça que ça ne marchait pas !!!

 

Ou, peut-être passer par les (vlax-invoke solide 'sectionsolid pt1 pt2 pt3) avec pt1, pt2 pt3 sous forme de liste

 

Regarde mon 1er message ! :

 

(setq pt (getpoint "\nchoix du point :"))

(setq vla_pt (vlax-3d-point pt))

(setq Solide3D (vlax-ename->vla-object(car(entsel))))

(vlax-invoke Solide3D 'SectionSolid vla_pt

(vlax-3d-point (list (car pt)(cadr pt)(+ 1 (caddr pt))))

(vlax-3d-point (list (car pt)(+ 1 (cadr pt))(+ 1 (caddr pt))))

)

 

!!! j'essayais de faire passer des points "vlax-" dans vlax-invoke Solide3D 'SectionSolid.....

Et donc, j'ai testé, ta proposition fonctionne !!!

 

mais alors... c'est-y-quoi le mieux ??? :casstet:

 

(vlax-invoke Solide3Dvla 'sectionsolid pt1liste pt2liste pt3liste)

ou

(vla-sectionsolid Solide3Dvla pt1vla pt2vla pt3vla)

 

:casstet:

 

...merci !

 

[Edité le 16/11/2006 par Bred]

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

Posté(e)

mais alors... c'est-y-quoi le mieux ???

 

Le mieux, je ne sais pas, personnellement depuis que j'ai découvert cette possibilité d'éviter de transformer les listes en variants et vice-versa, je l'utilise quasi systématiquement.

 

Les fonctions vlax-invoke, vlax-get, vlax-put sont des survivances des débuts du VisualLISP cela veut-il dire qu'elles sont amenées à disparaître, comme on peut le lire ici ou là sur des forums ?

On peut aussi lire que le LISP aussi est voué à disparaître d'AutoCAD, dans les deux cas les réponses des détracteurs de ces rumeurs invoquent le nombre de routines réalisées et en circulation pour les réfuter.

J'aurais tendance à plutôt, vouloir croire les derniers, tu t'en doutes ;)

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

Posté(e)

On peut aussi lire que le LISP aussi est voué à disparaître d'AutoCAD, dans les deux cas les réponses des détracteurs de ces rumeurs invoquent le nombre de routines réalisées et en circulation pour les réfuter.

 

Et bien e l'espère aussi !!!... mais ça m'etonnerais quand même fortement : j'ai l'impression que même Autodesk utilise le lisp encore pour certains outils !!!...

 

(par contre, pour info, j'ai un peu toucher au VB.net... c'est vraiment puissant !!! (pas aussi "maléable" que le lisp quand même ...si tu as l'occasion de jeter un cup d'oeuil, je te le conseille.)

 

[Edité le 21/12/2006 par Bred]

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

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é