Aller au contenu

verrouillage de fenetre/calques


ribbit

Messages recommandés

bonjour ami cadiens,

 

J'ai un problème actuellement et ça m'agace :

 

1/ Je créée un dessin avec un certain nombre de calques puis une présentation n°1 avec une fenetre

 

2/ Je fais de nouveaux calques que je ne veux pas dans ma présentation n°1 mais que je veux dans ma présentation n°2.

 

Question :

 

- comment empêcher que les calques nouveaux apparaissent dans ma fenetre n°1 ?

 

- Est-il possible de geler un calque dans toutes les fenetres en meme temps ? (en lisp oui je suppose) ... je parle de geler dans la fenetre pas dans le mode objet bien sûr.

 

En vous remerciant d'avance,

Ribbit.

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

 

Bonsoir

 

Pour compléter les différentes réponses ...

 

Ne pas oublier que si un calque est "INactif" (Ampoule Eteinte, 1ère colonne de la case de dialogue des calques après le nom du calque) et/ou si un calque est "Gelé" ("Flocon de neige" et NON pas "Soleil", 2ème colonne) :

 

ALORS TOUS les objets sur ces calques SERONT TOUS INVISIBLES dans toutes les fenêtres "Objet" des Espaces Papier / Présentation (et aussi dans l'Espace Objet originel d'AutoCAD).

 

Donc si le calque est ACTIF ET LIBERE, alors seulement on pourra "jouer" avec la fonction "Geler localement" le calque (Avant dernière colonne) et ce de façon DIFFERENTE dans chaque "Fenêtre Objet" de tous les Espaces Papier / Présentation.

 

Comme toujours avec AutoCAD, une "bonne organisation de calques bien réfléchie" sera TOUJOURS la bienvenue !!!

 

Bye

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Tu te mets dans ta présentation

Tu passes en objet dans la fenêtre qui t'intéresse

Tu lances la commande _layer et c'est dans la colonne geler dans la fenêtre courante

 

Oui oui, ca je sais, c'est pas ca que je cherche ! Voir ci-dessous...

 

Ne pas oublier que si un calque est "INactif" (Ampoule Eteinte, 1ère colonne de la case de dialogue des calques après le nom du calque) et/ou si un calque est "Gelé" ("Flocon de neige" et NON pas "Soleil", 2ème colonne) :

 

ALORS TOUS les objets sur ces calques SERONT TOUS INVISIBLES dans toutes les fenêtres "Objet" des Espaces Papier / Présentation (et aussi dans l'Espace Objet originel d'AutoCAD).

 

Ca aussi je sais. Voir ci-dessous...

 

Comme toujours avec AutoCAD, une "bonne organisation de calques bien réfléchie" sera TOUJOURS la bienvenue !!!

 

Ca c'est la théorie pour les gens qui ne savent pas utiliser autocad !! Ce que tu dis je le sais, mais pas mes collègues..... :(

 

Je repose ma question :

 

Je cherche à "verrouiller" une fenetre sur son etat gelé - propre à cette fenêtre et NON PAS DANS TOUT LE DESSIN pour que les calques que je crée APRES avoir fait ma mise en page n'apparaissent pas dans cette fenetre.

 

Exemple SIMPLE (mon cas est plus complexe) : j'ai fait un magnifique plan au 1/1000 d'un bassin versant avec cadastre itou itou.

 

> J'ai à cette fin fait dans l'espace objet des cartouches pour une sortie au 1/1000 de chaque bassin.

 

> Je souhaite à présent, avec le même plan de base (oui, je sais on peut aussi utiliser les réf externes et refaire un autre dessin - pas de morale SVP) faire une sortie au 1/5000 de l'ensemble des bassins. Je crée donc un calque avec mon cartouche pour une sortie au 1/5000.

 

Et là ce qui se passe, c'est que je dois me rendre dans les 15 présentations de mes 15 bassins versants pour geler mon nouveau calque au 1/5000. Je pourrais effectivement geler le calque 1/5000 en mode objet (donc partout)

 

La solution pour l'instant est d'utiliser les états de calques. Mais je voudrais que les personnes qui récupèrent les plans après moi - et qui ne savent pas forcément se servir d'Autocad très bien - aient un truc prémaché où il suffit de lancer l'impression sans aller chercher le bon état de calque.

 

Bon, c'est un peu complexe, donc je n'attend pas une solution toute faite. J'y travaille mais si jamais vous entendez parler d'une solution pour gérer une multitude de fenêtres (genre l'état des calques dans ces fenêtres) n'hésitez pas.

 

Ce n'est pas urgent non plus mais ca me rend la vie difficile quand je récupère les plans de personnes qui connaissent leur dessin (et les calques à afficher/geler) et ne cherchent pas à préparer le terrain pour les autres.

 

Ribbit, au pays des calques de l'espace papier...

 

 

 

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

Ribbit,

 

Je t'invite à découvrir la commande FCALQUE (ou _.VPLAYER).

 

C'est une commande qu'on a tendance à "zapper" vue qu'on retrouve une partie de ses fonctionnalités dans la commande CALQUE.

Je pense que l'option "Visfendéf" répond à ta question (voir l'aide) ;)

 

Ciao

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

Lien vers le commentaire
Partager sur d’autres sites

Voici une petite routine que personnellement j'utilise quand le nombre de calques est impressionnant et que j'ai du mal à identifier les calques qui m'interessent.

Elle fonctionne par pointage sur une ou des entités dont on veut geler le calque dans la fenêtre en cours.

((LAMBDA (/ e plan lplan lsplan drap e_bis plan_bis)
(cond
	((= (getvar "tilemode") 0)
(setq drap (getvar "expert"))
(setvar "expert" 0)
(while (setq e (entsel "\nPointez une entite: "))
	(setq e_bis (car (nentselp (cadr e))))
	(setq e (car e))
	(setq plan (cdr(assoc 8 (entget e))))
	(setq plan_bis (cdr (assoc 8 (entget e_bis))))
	(if (/= plan plan_bis)
		(progn
			(prompt "\nL'entité fait partie d'un bloc ou d'un xref.")
			(initget "Insertion Entite")
			(if (eq (getkword "\nAdopter le plan d'insertion ou de l'entité - [insertion/Entite]: ") "Entite")
				(setq plan plan_bis)
				(setq plan plan)
			)
		)
	)
	(setq lplan (cons plan lplan))
	(prompt (strcat "  " plan " sera gele dans la fenêtre courante"))
)
(if lplan
	(progn
		(setq lsplan
			(apply 'strcat
				(mapcar '(lambda (x)(strcat x ",")) lplan)
			)
		)
		(command "._vplayer" "_freeze" lsplan "" "")
	)
)
(setvar "expert" drap)
)
(T (prompt "\nIncorrect, TILEMODE doit être à 0."))
)
(princ)
))

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

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Tu te mets dans ta présentation

Tu passes en objet dans la fenêtre qui t'intéresse

Tu lances la commande _layer et c'est dans la colonne geler dans la fenêtre courante

 

@+

 

en fait patrick, la solution que tu me donne n'est valable qu'une fois pour une fenetre meme manip à faire x15 ou plus), mais c'est pas ce que je cherchais. D'après ce que j'ai commencé à voir, je pense que fcalque corresponde plus à ce que je cherche. J'approfondis et je reposte dès que j'ai expérimenté vos réponses.

 

Merci,

ribbit.

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

Hello encore,

 

Le script me fait penser à la commande "geler le calque de l'objet" d'express mais appliqué à la fenêtre courante, je me trompe ?

 

Au passage pour le nano lispien que je suis (c'est pour dire que j'y connais pas suffisament !!), comment on le lance en commande ? il faut rajouter un truc de type "(defun c:nomcommande...." au début ?

 

J'ai testé FCALQUE ca me va tres bien, c'est pile poil le genre de truc qu'il me fallait. L'option NOUVGEL correspond parfaitement à ce que je cherchait. Je peux créer tranquille de nouveaux calques ! Très cool cette option. Et avec VISFENDEF, je peux créer de nouvelles fenetre ou certains calques sont déjà gelés. Vraiment nickel !

 

MERCI MERCI !!! :thumbup: :thumbup: :thumbup:

 

Ribbit.

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

Pour créer une fonction tu fais effectivement un (defun c:lisp())

le c:lisp est le nom de la fonction que tu peux appeler directement depuis autocad comme une commande normale (il faut juste auparavant avoir chargé le lisp, par un load par exemple)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Heu c'est vrai ça ne coule pas de source pour tout le monde. :(

 

La fonction ((LAMBDA permet de définir une fonction anonyme qui ne sera executé qu'une seule fois puis vidée de la mémoire. A l'époque ou le lisp ne travaillait que dans les 1024K de la mémoire, c'était utile pour se garder de la mémoire dispo. Ce n'est plus le cas maintenant, mais malgré tout pourquoi surcharger inutilement la mémoire?

 

En résumé tu peux donc faire le copier-coller dans un fichier que tu sauvegardera sous le nom qu'il te plait avec une extension LSP dans un dossier de recherche (de préférence).

puis au message commande d'Autocad taper (load "nom fichier.lsp"). Alors la procédure s'executera, pour la rappeler il faudra à nouveau la recharger.

Ceci peut être affecté à un bouton pour la rechargé a chaque demande.

 

Si tu veux en faire une commande permanente il faut remplacer ((LAMBDA par (defun C:ma procedure

NB: ne pas oublier de suprimmer une paranthèse fermante en fin de fichier: lambda en possède 2 et defun 1

 

Est ce clair?

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

Lien vers le commentaire
Partager sur d’autres sites

Y'a bon merci à tous ! LA lumière du lisp m'illumine (provisoirement).... ;)

 

Ribbit.

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...

Bonsoir à tous....

 

Dans AutoCAD, il y a, dans un fenêtre active de l'espace papier, une solution pour créer un calques UNIQUEMENT actif dans les nouvelles fneêtres et inactif dans les fenêtres existantes.... Mais il n'y a qu'une macro pour créer un calque qui ne sera actif que dans UNE SEULE fenêtre.... M'enfin, c'est mon avis...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Dis donc, ya du creusage....C'était ya 2 ans que j'ai posé cette question.

 

Bon à savoir : VPLAYER dans la version anglaise (bah oui, quand on passe d'une version a l'autre, lisp, et commandes sont GRILLEES, il faut réapprendre.. buuh...

 

Ribbit.

 

[Edité le 19/6/2006 par ribbit]

Ribbit.

"Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."

Version en cours : Autocad Map 2013

Lien vers le commentaire
Partager sur d’autres sites

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é