Aller au contenu

PSLTSCALE cassé


Messages recommandés

Bonjour à tous,

La variable PSLTSCALE ne fonctionne pas sur mon fichier. Comment faire ?

Lorsque PSLTSCALE 0, l'échelle de trait dans ma présentation n'est pas identique à mon objet.

Lorsque PSLTSCALE 1, l'échelle de trait dans ma présentation ne s'adapte pas à CELTSCALE.

Lien à poster
Partager sur d’autres sites

Bonjour @Drédré

Je ne pense pas que ce soit possible tel que le titre est énoncé.
Par contre, ce qui est possible, c'est un cafouillage dans les types de ligne.

Es-tu certain qu'aucune entité n'est forcée ? en échelle de type de ligne bien sûr.

Si PSTLTSCALE est à 1 il faut que ECHLTP soit multiplié par 1000 (si on est en mm en EP et en m en EO)

fais ces tests et reviens nous dire que rien n'est "cassé"

Amicalement

 

Lien à poster
Partager sur d’autres sites

Merci pour ta réponse.

 

Il est fort possible qu'il y ait cafouillage dans les types de ligne.

 

Que dois-je essayer ?

 

Comment une entité peut être forcé ?

 

Je n'ai malheureusement pas compris, qu'est ce que "mm en EP et m en EO".

3 minutes ago, didier said:

Si PSTLTSCALE est à 1 il faut que ECHLTP soit multiplié par 1000 (si on est en mm en EP et en m en EO)

 

Comme dit précédemment, lorsque PSLTSCALE 0, l'échelle de trait dans ma présentation n'est pas identique à mon objet et lorsque PSLTSCALE 1, l'échelle de trait dans ma présentation ne s'adapte pas à CELTSCALE.

Lien à poster
Partager sur d’autres sites

Bonjour @Drédré

La répétition en fin de message est inutile, j'ai lu le premier et j'ai compris que TOUT n'est pas compris par tout le monde.

Une échelle de  type de ligne peut être forcée dans la palette des propriétés, comme forcer une couleur ou un type de ligne, forcer signifie différent de Ducalque, c'est OK ?

mm en EP signifie que les unités dessin de l'Espace Papier sont les millimètres, pour dessiner un A4 on faut un rectangle de 0,0,0 à @210,297

m en EO signifie que les unités dessin de l'Espace Objet sont les mètres, c'est pour ça que je proposais de multiplier la valeur de ECHLTP

Est-ce qu'on est OK avec ça ? Si oui on continue, si non je réexplique.

Amicalement

Lien à poster
Partager sur d’autres sites

Hello

Bon je ne rentre pas dans cette conversation !

Car a priori, je n'ai rien compris a la precedente !

PERSO: j'ai presque toujours PSLTSCALE = 1 dans chaque Presentation / Layout ...

La Sante, Bye, lecrabe (triste & fatigue)

 

 

Autodesk Expert Elite Team

Lien à poster
Partager sur d’autres sites

Merci de ta réponse @didier

Je comprends mieux ce que signifie forcé un type de ligne, sur mon dessin tout mes types de ligne sont forcé.

Je ne savais pas que l'espace présentation pouvait avoir une autre unité que l'espace objet, pour moi c'était lier, ce n'est pas le cas ? Comme peut on changer cela ?

Par contre je n'ai pas compris ça :

16 minutes ago, didier said:

pour dessiner un A4 on faut un rectangle de 0,0,0 à @210,297

 

Lien à poster
Partager sur d’autres sites

Coucou,

Je suis probablement hors sujet mais sait-on jamais : la variable PSLTSCALE est définie indépendamment pour chaque présentation.

Donc si les valeurs 0 et 1 dont tu parles correspondent bien à la même présentation qui ne fonctionne pas alors en effet, les conversions d'unité entre ton espace objet et ton espace papier peuvent jouer comme le dit didier.

Bisous,
Luna

Lien à poster
Partager sur d’autres sites

Bonjour @Drédré

Loin de moi l'idée de te manquer de respect, mais je ne vais pas entrer dans des choses aussi simples.

C'est la BASE de la BASE d'AutoCAD, ici on aide les gens, mais il n'est pas possible de faire des formations par le biais de ce site, c'est beaucoup trop long et hasardeux.

Les unités dessin tu connais ? On va commencer par là.
Ensuite la notion d'espace objet et espace papier, c'est OK ?

Amicalement
 

Lien à poster
Partager sur d’autres sites

Entre temps j'ai discuté avec quelqu'un qui m'a appris plusieurs choses et je reviens vers vous.

Ducoup, l'unité du plan est définit pour l'espace objet et présentation mais c'est important pour insérer un fichier dans un autre et pour lire des cotes (compliquer lorsque c'est en pouce). Si on le souhaite, on peut désactiver certains calques sur certains fenêtres de présentations. Que le papier de la présentation n'a pas de point d'accrochage mais que le coin en bas à gauche est le point 0,0,0. Que la commande PSLTSCALE cochait la case dans le gestionnaire des échelles de traits (voir l'image).

Mon problème qui persiste est que lorsque la variable PSLTSCALE est activée, pour que les modifications se fasse un regen ne suffit pas, il est nécessaire de rouvrir le fichier (changé PSLTSCALE, enregistré, fermé, rouvrir et à ce moment la modification est visible). Je me demandais comment faire pour qu'une modification se fasse automatique et immédiatement comme sur avec un autre ordinateur, surement qu'il y a une variable activé que je ne maitrise pas.1980691652_InkedCapturedcran2021-05-27150931_LI.thumb.jpg.849a627140411eee83fc115e3e552d7c.jpg

Lien à poster
Partager sur d’autres sites

Coucou,

En effet, il te manquait quelques bases ^^"
Essaye ceci pour commencer :

((lambda (/ *error* InitLayout layout-list acet lay Value Nb)

	(defun *error* (msg)

		(if acet
			(setq acet (acet-ui-progress))
		)
		(princ)

	)

	(setq InitLayout (getvar "CTAB")
	      Nb 0
	)
	(initget "0 1")
	(if (or (null (setq Value (getint "\nQuelle valeur souhaitez-vous affecter à la variable système \"PSLTSCALE\" [0/1] <0> : "))) (and (/= Value 0) (/= Value 1)))
		(setq Value 0)
	)
	(setq layout-list (layoutlist)
	      acet (acet-ui-progress "PSLTSCALECUSTOM en cours d'exécution :" (length layout-list))
	      i 0
	)
	(foreach lay layout-list
		(setvar "CTAB" lay)
		(if (= (getvar "PSLTSCALE") Value)
			(setq Nb (1+ Nb))
		)
		(acet-ui-progress (setq i (1+ i)))
		(setvar "PSLTSCALE" Value)
	)
	(setq acet (acet-ui-progress))
	(setvar "CTAB" InitLayout)
	(prompt (strcat "\nLa variable système \"PSLTSCALE\" est désormais définie à "
			(itoa Value)
			" sur la totalité des présentations du fichier \""
			(getvar "DWGNAME")
			"\"."
			"\n"
			(itoa Nb)
			" / "
			(itoa (length layout-list))
			" présentation(s) possédaient déjà la variable \"PSLTSCALE\" à "
			(itoa Value)
			".\n"
		)
	)

))

Tu fais un copier/coller de l'ensemble du code dans ta ligne de commande et tu fais ENTER (chat lancera le code), tu appuis une seconde fois ENTER (pour définir la valeur à 0 par défaut). Si aucun changement significatifs alors tu peux essayer cette solutions ci :
image.thumb.png.978d55843b8eb3691772a734349d841c.png

Issu du fabuleux recueil de @rebcao ! Voici les liens si tu souhaites le consulter (un CTRL+F te permettra de rechercher des chaînes de caractères pour aller plus vite) :
TOP QUIZ des galères AutoCAD (rebcao)
Variables systèmes AutoCAD 20XX (rebcao)

Bisous,
Luna

Lien à poster
Partager sur d’autres sites

En effet c'est bien la commande rgt qui permet de voir la modification.

Comment faire pour éviter de devoir faire rgt pour que la modification se fasse tout de suite ?

Et pour la lips, j'ai besoin de mettre rgt et lorsque la variable est sur 0 et que je relance la lips, cela m'affiche comme étant 0 mais lorsque la variable est sur 1 et que je relance la lips, cela m'affiche comme étant 0.

Lien à poster
Partager sur d’autres sites

Je ne suis pas sur qu'automatisé un "rgt" après le changement de psltscale soit vraiment nécessairement un gain de temps.

Parfois on se casse la tête des heures pour gagner 2s (je le sais je le fais moi même)

mais bon, j'ai déjà quelque chose y ressemblant alors voici 

(defun c:VarriablePsltscale ( / psl)

	(setq psl (getvar "psltscale"))

	(if (= psl 1)
		(setvar "psltscale" 0) 
		(princ "pslscale = 1 : utilise les valeurs de l'espace papier")
	)
	(prin1)
	(if (= psl 0)
		(setvar "psltscale" 1) 
		(princ "pslscale = 0 : utilise les valeurs de l'espace objet")
	)
	(prin1)
  (command "_REGENALL")

)

 

Lien à poster
Partager sur d’autres sites

Comme je l'ai expliqué précédemment, la variable PSLTSCALE dépend de la présentation ou l'on se trouve, donc si tu modifies la variable pour la "Présentation1" par exemple, la "Présentation2" ne sera pas modifiée. Donc si tu penses à définir cette variable correctement avant de créer 150 présentations, tant mieux, mais si tu t'en rends compte trop tard, tu devrais modifier cette variable manuellement sur chaque présentations (ce qui peut être très long selon le nombre de présentations que tu as).
Ainsi ce programme permet d'homogénéiser la valeur de cette variable pour qu'elle soit la même sur toutes tes présentations !

La fonction que je t'ai donné permet donc de choisir entre 0 ou 1 pour la valeur globale de PSLTSCALE (tu peux donc soit écrire 0 ou 1, ou bien choisir l'option "0" ou "1") et si tu ne réponds rien (donc une validation à vide, via ENTER ou SPACE) cela équivaut à choisir la valeur 0.
Ci-dessous l'aide concernant PSLTSCALE :
 

Gère la mise à l'échelle du type de ligne des objets affichés dans les fenêtres de l'espace papier.

Type: Entier
Enregistré dans: Dessin
Valeur initiale : 1

L'échelle du type de ligne pour les types de ligne discontinus peut être définie de façon à dépendre de l'échelle d'agrandissement de chaque fenêtre de présentation, ou de manière uniforme en fonction de l'échelle générale de l'espace papier. Différents onglets de présentation peuvent avoir des paramètres différents pour PSLTSCALE.

Valeur

Description

0

Aucune mise à l'échelle particulière du type de ligne. La longueur des tirets dépend des unités de dessin de l'espace (objet ou papier) dans lequel les objets sont créés. Mise à l'échelle effectuée par le facteur LTSCALE général.

1

La mise à l'échelle du type de ligne dépend de celle de la fenêtre. Si TILEMODE a pour valeur 0, la longueur des tirets est définie en fonction des unités de dessin de l'espace papier, même pour les objets de l'espace objet. Dans ce mode, les fenêtres peuvent être agrandies différemment et néanmoins afficher des types de ligne identiques. Pour un type de ligne particulier, la longueur des tirets dans une fenêtre est identique à celle des tirets dans l'espace papier. Vous pouvez toujours gérer la longueur des tirets à l'aide de LTSCALE.

Lorsque vous modifiez PSLTSCALE ou que vous utilisez une commande comme ZOOM en définissant PSLTSCALE sur 1, les objets présents dans les fenêtres ne sont pas régénérés automatiquement à l'aide de la nouvelle échelle de type de ligne. Utilisez les commandes REGEN ou REGNTOUT pour mettre à jour les échelles de type de ligne dans chaque fenêtre.

Concernant la REGENALL, normalement le changement de présentation équivaut à un REGENALL (perso je n'ai jamais eu de soucis de mon côté avec cette commande). Si besoin je peux l'y intégrer, tout comme je peux te fournir la commande sous format .lsp pour que tu n'es qu'à charger le fichier dans ton dessin et saisir le nom de la commande :3

Bisous,
Luna

Lien à poster
Partager sur d’autres sites
Just now, Maxime063 said:

(defun c:VarriablePsltscale ( / psl) (setq psl (getvar "psltscale")) (if (= psl 1) (setvar "psltscale" 0) (princ "pslscale = 1 : utilise les valeurs de l'espace papier") ) (prin1) (if (= psl 0) (setvar "psltscale" 1) (princ "pslscale = 0 : utilise les valeurs de l'espace objet") ) (prin1) (command "_REGENALL") )

Pour info, lorsque j'entre cette ligne, il s'écrit "C:VARRIABLEPSLTSCALE" c'est tout, rien ne se passe après.

 

Just now, Luna said:

la variable PSLTSCALE dépend de la présentation ou l'on se trouve

Oui effectivement, lorsque je modifie la variable je restais sur une présentation et en mettant rgt, cela s'affiche correctement, sinon non.

 

Personne ne sait si il y a une variable ou un moyen pour que lorsque une variable est modifier, elle se fasse directement sans avoir besoin de mettre rgt ?

 

En parlant des variables, lorsque j'en active certaines font un dézoom ou une rotation de l'écran (avec la commande air il y a parfois une rotation du scu, tout tourne de 90°), y a t il un moyen de le bloquer ça ?

Lien à poster
Partager sur d’autres sites

Autant pour moi,

Le code que j'ai donné sert surtout pour créer un bouton, il faut charger la commande via "APPLOAD" (si chargé au démarrage, s'assurer qu'elle est dans un emplacement approuvé) et ensuite soit créer un bouton faisant appel à la commande "VarriablePsltscale" ou modifier le nom de commande pour faire plus court, voir même le fichier .PGP pour faire un raccoursi.

concernant l'automatisation de rgt, c'est simplement que le logiciel ne va pas faire de façon native cette commande après la modification d'une variable, cela pourrait entrainer des ralentissements.

 

15 minutes ago, Drédré said:

En parlant des variables, lorsque j'en active certaines font un dézoom ou une rotation de l'écran (avec la commande air il y a parfois une rotation du scu, tout tourne de 90°), y a t il un moyen de le bloquer ça ?

Concernant ça, certains comprendront peut-être mais pour ma part ça semble assez flou.

 

Amicalement.

Lien à poster
Partager sur d’autres sites

Bon,

Pour commencer il est écrit noir sur blanc "Utilisez les commandes REGEN ou REGNTOUT pour mettre à jour les échelles de type de ligne dans chaque fenêtre." dans l'aide d'AutoCAD que je t'ai fourni concernant la variable PSLTSCALE. Autrement dit, cette action de REGNTOUT est propre à la variable PSLTSCALE, mais ce n'est en aucun cas le cas pour la totalité des variables !!!!
Un exemple tout simple :  tu définis la variable "CLAYER" à "0", le changement de calque est instantané, pas besoin de REGNTOUT >w<
Pareil, si tu définis la variable "CTAB" sur "Objet", le changement d'onglet se fait directement, pas de REGEN ou REGNTOUT !!!

Donc à la question "Existe-t-il un moyen pour que lorsqu'une variable est modifiée, elle se fasse directement sans avoir besoin de RGT ?", la réponse est clairement non, car ce problème n'existe pas en réalité. C'est le fonctionnement propre à la variable PSLTSCALE (pas de chances pour toi, tu as eu un soucis avec celle-ci et pas une autre).

Ensuite, qu'est-ce que la commande air ? Veux-tu parler de la commande airE ? Auquel cas je peux comprendre qu'une rotation du SCU n'est pas logique...
Si on touche au SCU, il faut (je pense) connaître la variable UCSFOLLOW. Lors d'un changement de SCU, si UCSFOLLOW est à 1 (= actif) alors la rotation du dessin et un zoom étendu se fait automatiquement, permettant d'avoir constamment le curseur aligné aussi bien horizontalement que verticalement. Si UCSFOLLOW est à 0, alors cette rotation+zoom étendu ne se fait pas, le curseur s'aligne donc sur le nouveau SCU mais le dessin ne subit aucune "rotation" (même si ce n'est pas vraiment une rotation, mais un changement de base).
Sans plus d'explications, il sera difficile de t'aider. Je te suggère de demander à ton collègue de bureau de t'expliquer comment bien définir ton espace de travail et les quelques variables et/ou commandes que tu DOIS connaître, car j'ai l'impression que tu débutes vraiment sur AutoCAD.

On peut t'aider dans un problème précis, mais on ne peut pas non plus te former, il existe de nombreuses formations pour débuter sur AutoCAD et les collègues AutoCADiens pourront également t'apporter bien plus d'aides que nous (dans la limites de leurs compétences). En espérant avoir répondu à quelques unes de tes questions...

Bisous,
Luna

Lien à poster
Partager sur d’autres sites
  • 3 semaines après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...