speedy Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Bonjour je répète trop souvent cette manip, de quelle manière en lisp ou autre peut on isoler après sélection de 2 ou x entités calques (ceux selectionnés les garder ouverts) et geler tous le reste ??? comme je ne connais pas les noms des calques à chaque fois, ça me permet de faire la comparaison...... Merci de votre aide @+ Michel a
Bred Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Salut,vite fait.Attention : c'est un base, ça n'enregistre pas l'état initial des calques, et ça ne gèle pas le calque courant (normal...).test le et dits nous les améliorations que tu voudrais. (defun c:calqG (/ C N SEL) (vl-load-com) (setq sel nil sel (ssget "I")) (if (not sel) (setq sel (ssget)) ) (repeat (setq n (vla-get-count (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))) (if (not (equal (vla-get-name (vla-item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (setq n (1- n)))) (getvar "clayer"))) (vla-put-Freeze (vla-item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) n) :vlax-True)) ) (repeat (setq n (sslength sel)) (setq c (vla-get-layer (vlax-ename->vla-object (ssname sel (setq n (1- n)))))) (vla-put-Freeze (vlax-ename->vla-object (tblobjname "LAYER" c)) :vlax-False) ) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
speedy Posté(e) le 13 juillet 2007 Auteur Posté(e) le 13 juillet 2007 Merci beaucoup Bred ça fonctionne exactement je verrais au fur et à mesure de l'utilisation.... la seule chose c'est que les autres calques je les rends inactifs (que là ils sont gelés) comme ça je les libère tous d'un coup, pour expliquer je gèle des calques dont je suis sure et ensuite je jongle sur les autres calques en utilisant layiso et _layon. @+ Michel a
Bred Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Salut,j'ai un doute de compréhension au vu de tes demandes :peut on isoler après sélection de 2 ou x entités calques (ceux selectionnés les garder ouverts) et geler tous le reste ??? la seule chose c'est que les autres calques je les rends inactifs (que là ils sont gelés) :casstet: Alors, la même chose mais rendant les calques inactifs :(defun c:calqAI (/ C N SEL) (vl-load-com) (setq sel nil sel (ssget "I")) (if (not sel) (setq sel (ssget)) ) (repeat (setq n (vla-get-count (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))) (if (not (equal (vla-get-name (vla-item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (setq n (1- n)))) (getvar "clayer"))) (vla-put-LayerOn (vla-item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) n) :vlax-False)) ) (repeat (setq n (sslength sel)) (setq c (vla-get-layer (vlax-ename->vla-object (ssname sel (setq n (1- n)))))) (vla-put-LayerOn (vlax-ename->vla-object (tblobjname "LAYER" c)) :vlax-True) ) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
speedy Posté(e) le 13 juillet 2007 Auteur Posté(e) le 13 juillet 2007 C'est merveilleux......Bred exactement ça, merci beaucoup. :) @+ Michel a
lili2006 Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Bonjour, C'est bizarre, ton lisp Bred chez moi, inacive les calques, comme la fonction de base AutoCAD d'ailleurs. C'est dommage, je trouvais l'idée séduisante de pouvoir geler les calques non selectionnés afin d'utiliser le zoom tout. Est-ce dû au fait que j'ai chargé ce lisp sur une 2008 ? Ou bien c'est la demande de speedy que je n'ai pas compris, ou troisième hypothèse, ce lisp inactive bien les calques ?Merci d'avance de tes éclaircissements. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Salut lili2006,Pour geler, c'est le premier code.Mais si tu veux autre chose, fait le savoir. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lili2006 Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Rerere, Forcément, j'ai testé que le 2ème,..Autant pour moi.A nouveau, merci Bred et bon WE.Je le teste de suite. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Rererere, Nickel ! Une autre question : Comment je dégèle rapidement mes calques après avoir terminé mes modifs sur le ou les calques que j'ai selectionné ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 13 juillet 2007 Posté(e) le 13 juillet 2007 Re,alors, j'ai fait assez simple.Lorsque tu lances la commande de Gel de calque non selectionné, j'enregistre dans une variable (lst-calq-G pour info) les calques précédents qui étaient gelés (+ calque actif)Si tu veux revenir à l'état des calques précédents à cette commande, tu lance la commande "RcalqG".Attention : une fois cette manip faites, le retour en arrière ne fonctionneras pas : il te faudra refaire la manip depuis le début (commande de gel de calque non selectionné, etc....) ;;; Geler tous calques sauf selectionné (et courant) (defun c:[b]calqG[/b] (/ C N SEL) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) lst-calq-G nil sel nil sel (ssget "I")) (if (not sel) (setq sel (ssget)) ) (repeat (setq n (vla-get-count (vla-get-Layers AcDoc))) (if (not (equal (vla-get-name (vla-item (vla-get-Layers AcDoc) (setq n (1- n)))) (getvar "clayer"))) (progn (if (equal (vla-get-Freeze (vla-item (vla-get-Layers AcDoc) n)) :vlax-True) (setq lst-calq-G (append (list (vla-item (vla-get-Layers AcDoc) n)) lst-calq-G)) (vla-put-Freeze (vla-item (vla-get-Layers AcDoc) n) :vlax-True)) ) (setq lst-calq-G (append (list (vla-item (vla-get-Layers AcDoc) n)) lst-calq-G)) ) ) (repeat (setq n (sslength sel)) (setq c (vla-get-layer (vlax-ename->vla-object (ssname sel (setq n (1- n)))))) (vla-put-Freeze (vlax-ename->vla-object (tblobjname "LAYER" c)) :vlax-False) ) (princ) ) ; Retour Etat calque avant calqG (defun c:[b]RcalqG[/b] (/ ACDOC N) (vl-load-com) (if lst-calq-G (progn (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))) (repeat (setq n (vla-get-count (vla-get-Layers AcDoc))) (if (not (member (vla-item (vla-get-Layers AcDoc) (setq n (1- n))) lst-calq-G)) (vla-put-Freeze (vla-item (vla-get-Layers AcDoc) n) :vlax-False) ) ) ) ) (setq lst-calq-G nil) (vla-Regen (vla-get-ActiveDocument (vlax-get-acad-object)) acActiveViewport) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lili2006 Posté(e) le 14 juillet 2007 Posté(e) le 14 juillet 2007 Bonjour, Vraiment super ! Merci Bred. Au plaisir,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 14 juillet 2007 Posté(e) le 14 juillet 2007 Re, Pendant que j'y pense, est-ce que l'on peut associer ce lisp (ou un autre d'ailleurs) à un bouton, ou faut-il absolument une macro ?? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 Salut,Toutes commandes créée en lisp peuvent s'utiliser comme des commandes "standard" d'Autocad.Il faut bien sûr que le lisp soit chargé au démarrage. ex : dans un bouton : ^C^CcalqG Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lili2006 Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 Bonjour à tous, Tout simplement, Merci encore Bred. J'essaie cela de suite. @+ Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 Ca marche vraiment super. Peut-être la question à t'elle déjà été posée, mais je n'ai rien trouvé. Voilà, je voudrais connaître la démarche que vous utilisez pour créer vos images d'icone ?Aprés je sais les associer au bouton.En résumé, je voudrais créer des images associés à chaque bouton qui eux-même serait associer à mes lisps usuels. Merci d'avance. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 PS : Pour le moment je passe par l'exportation des palettes , ce qui me créer un fichier image que j'associe au boton désirée. Est-ce la bonne technique ou une parmis d'autre ?? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 Personnelement j'utilise paint : je récupère l'image d'un bouton existant que je modifie. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
lili2006 Posté(e) le 15 juillet 2007 Posté(e) le 15 juillet 2007 Re, J'ai associé pluisieurs techniques et ma foi, ça roule pas trop mal,...Merci encore Bred pour tous ces éclaircissements qui vont m'aider à bien préparer mon espace de travail. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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