Tramber Posté(e) le 11 janvier 2005 Posté(e) le 11 janvier 2005 Voici la méthode Delete pour créer un jeu de selection en ActiveX. Thisdrawing.selectionsets.item("NewSelectionSet").delete Il parait qu'il est indispensable de supprimer les jeux de selction inutilisés ou génant pour reboucler dans un programme. Mais je n'arrive pas, malgré tous mes efforts (!), à le transcire en Vlisp. Rien à faire :casstet: So if anyone could help me. En fait, je trouve ca hyper dur de comprendre les selections dans Vlisp. J'utilise aussi l'API de Phil Kreiker, et là, idem, je ne comprends pas grand chose à la partie gestion des selections. Est-ce normal docteur, :mad2: ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 12 janvier 2005 Posté(e) le 12 janvier 2005 Salut TramberJe ne suis pas sûre de bien comprendre ta question. Tu donnes un exemple en vba pour le retranscrire en vlisp ?Si c’est pour enlever des éléments dans un jeu de sélection, tu as la fonction autolisp ssdel @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 12 janvier 2005 Auteur Posté(e) le 12 janvier 2005 Ah bah non, les selection en lisp, je sais faire, mais en Visual, ca me pose des problèmes. Je n'y arrive pas. J'ai essayé de traduire.Mais je butte sur SelectionSet, .....en Visual. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 12 janvier 2005 Posté(e) le 12 janvier 2005 Bon dans ce cas, tu n'es pas dans le bon forum, ce serait plutôt en vba. Un selectionset est en langage vba, pas de jeu de sélection en vlisp à ma connaissance, mais en autolisp, des ss... @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 12 janvier 2005 Auteur Posté(e) le 12 janvier 2005 Tu n'as pas l'air au courant que toutes les méthodes VBA sont accessibles à Vlisp.Ce qui m'étonne.... Ma question, c'est, par exemple, comment faire une rotation d'objets à un jeu de selection. Quand il s'agit d'une entité, j'arrive sans problème à éditer un objet avec (vlax-ename->vla-object entite), mais je ne connais pas d'équivalent pour un jeu de selection. S'il s'agit de batir ce jeu avec les ss..., pas de problème.Mais comment le restituer en Vlisp ? [Edité le 12/1/2005 par Tramber] Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 12 janvier 2005 Posté(e) le 12 janvier 2005 Je ne prétends pas tout connaître, loin de là. Je sais qu'en vlisp, on peut faire énormément de choses, mais pas de transformer une sélection en objet visualHonnêtement, ce que je ferais, ce serait de faire ma rotation élément par élément et aussi avec un vlax-ename->vla-object si ça peut te faire plaisir @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 12 janvier 2005 Auteur Posté(e) le 12 janvier 2005 Ben non, ben non, j'ai besoin de comprendre les jeux de selections en Vlisp, rien à faire. Si c'était seulement pour faire des rotations sur un objet........... Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 12 janvier 2005 Posté(e) le 12 janvier 2005 Un extrait de l'aide Comparaison de Auto LISP avec ActiveX/VBA Lisp ActiveX/VBA ssadd Méthode AutoCAD.Application.ActiveDocument. SelectionSets.Add ssdel Méthode AutoCAD.Application.ActiveDocument. SelectionSets.SelectionSet.Delete ssget Méthode AutoCAD.Application.ActiveDocument. SelectionSets.SelectionSet.SelectOnScreen (ssgetfirst) Non fourni sslength Méthode AutoCAD.Application.ActiveDocument. SelectionSets.SelectionSet.Count ssmemb Comparez l'ID de l'objet avec les membres de SelectionSet. ssname Propriété AutoCAD.Application.ActiveDocument. SelectionSets.SelectionSet.Name ssnamex Non fourni sssetfirst Méthode AutoCAD.Application.ActiveDocument.PickfirstSelectionSet Sinon, désolé, je ne comprends pas... Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 13 janvier 2005 Auteur Posté(e) le 13 janvier 2005 (setq ThisDrawing (vla-get-activedocument (vlax-get-acad-object))) (setq SSetColl (vla-get-selectionsets ThisDrawing)) (setq cetest(vla-Add SSetColl "Test")) Par ce code, j'arrive (enfin) à créer un jeu de selection en Vlisp Si je veux reboucler, je purge avec (vla-delete cetest) Jusque là tout va bien, mais ce serait trop beau ! (vla-Add cetest (vlax-ename->vla-object (entlast))) ne marche pas. En +, je vois que ssadd s'applique sur SelectionSets et non sur SelectionSets.SelectionSet. Dur dur,....(de parler tout seul). Merci tout de même Patrick Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 13 janvier 2005 Posté(e) le 13 janvier 2005 Salut Tramber Voici la solution. (setq ThisDrawing (vla-get-activedocument (vlax-get-acad-object))) (setq SSetColl (vla-get-selectionsets ThisDrawing)) (if js (vla-clear js) (setq js (vla-Add SSetColl "Test")) ) (vla-SelectOnScreen js) nb : Un vla-get-count te retournes le nombre d'objects sélectionnés ps : je ne comprends toujours pas pourquoi tu fais comme ça @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 13 janvier 2005 Auteur Posté(e) le 13 janvier 2005 OK, mais je cherche un SSADD en méthode maintenant, pour ajouter des objets (casstet) ps : je ne comprends toujours pas pourquoi tu fais comme ça Parce que j'utlise des outils qui me le demande :P [Edité le 13/1/2005 par Tramber] Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 13 janvier 2005 Auteur Posté(e) le 13 janvier 2005 Hop je reviens. Merci pour le vla-SelectOnScreen, celui-là va bien m'aider Maintenant, la méthode ADD, commentZaKo ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 13 janvier 2005 Posté(e) le 13 janvier 2005 Si tu veux ajouter une nouvelle sélection à ton jeu de sélection, un nouveau (vla-SelectOnScreen js) suffit @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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