Aller au contenu

Messages recommandés

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

Salut Tramber

Je 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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 visual

Honnê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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

(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

 

./__\.
(.°=°.)
Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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

 

./__\.
(.°=°.)

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é