Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je fais très souvent la meme manip

 

à savoir : sélectionner toutes les lignes et formes de couleur verte

(quels que soient les autres attibut, tant que c'est vert il faut sélectionner)

 

Quelle serait le code qu'il faudrait que j'associe au bouton que je vais créer ?

 

Merci

 

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

Tu pourrais essayer ceci, mais entendons nous bien, pour une couleur forcée verte (code 3) et NON du calque qui serait vert!

 

Ce filtre, suivant ta position, te feras une séléction dans l'EO (onglet "Objet") ou dans l'EP dans ta presentation courante. Si dans une présentation du passe dans l'objet dans une fenêtre, cette sélection se fera dans l'EO.

Ceci pour tous les objets de l'espace courant, qu'ils soient dans des calques gelés, inactifs ou verrouillés.

 

(ssget "_X"
(list
(cons 67 (if (eq (getvar "CVPORT") 2) 0 1))
(cons 410  (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB")))
(cons 62 3)
)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Ok

 

Et dans ce code, si je veux faire la meme chose mais avec du rouge

 

en fait, quelle est la partie qui correspond à la couleur ?

 

Merci

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

pour une couleur forcée verte (code 3)

(cons 62 3)

 

donc pour du rouge (cons 62 1)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

eUH ,

Quand je copie/colle ton code dans la partie

"macro associée au bouton"

 

rien ne se passe lors du clic sur le bouton...

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

C'est simplement un jeu de sélection qui est créé.

 

Si tu fais par exemple APRES l'appui sur ton bouton: "Effacer" choix des objet "Précédent", c'est ce jeux de sélection qui sera retourné.

 

Ou tu peut faire la commande d'abord puis au message choix des objets, appuyer sur ton bouton et valider par entrée ta sélection

 

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Excuse moi Bonuscad, mais je ne comprend pas où il faut que je mette ces lignes de commandes et comment faire pour les activer...

 

 

[Edité le 23/6/2006 par barbichette]

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

Quelle serait le code qu'il faudrait que j'associe au bouton que je vais créer ?

 

Comme tu parlais d'un bouton, pour moi tu parlais d'une macro.

 

Dans une version pleine, on peut aussi associé du lisp dans une macro.

Dans ton cas, il ne faudra pas commancer ta macro par "^C^C" qui est une syntaxe d'annulation de toute commande en cours.

 

J'ai amélioré la syntaxe pour que l'action associé au bouton puisse se faire dans les 2 modes de fonctionnement: sélection -> action ET action -> sélection. J'ai rajouté aussi la sélection de la couleur que tu veux faire.

 

Donc copie les lignes qui suivent dans la définition macro d'un bouton et essayes

 

L'avantage de cette défintion et que tu pourras associer tous les actions standards d'édition d'autocad à ta sélection: déplacer, effacer, copier etc... Ceci dans l'odre de ton choix: soit la commande puis l'appui sur ton bouton, ou l'appui sur ton bouton puis la commande que tu veux appliquer.

 

Par contre cela ne fonctionnera pas pour un appel de sélection depuis un autre lisp (appel réentrant impossible)

 

 
((lambda ( / js)
(if (zerop (getvar "pickfirst")) (setvar "pickfirst" 1))
(setq js
	(ssget "_X"
		(list
			(cons 67 (if (eq (getvar "CVPORT") 2) 0 1))
			(cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB")))
			(cons 62 (acad_colordlg 3 T))
		)
	)
)
(if (zerop (getvar "cmdactive"))
	(sssetfirst nil js)
	js
)
))

 

NB:

Après un essai la syntaxe est maintenant un peu longue pour une macro (on est limité).

Dans ce cas il vaut mieux enregister les lignes dans un fichier lisp, exemple "select_by_color.lsp" dans un dossier de recherche, puis dans le bouton faire simplement :

 

(load "select_by_color")

 

Toujours sans caractères d'annulation

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é