BIGC-ROMU Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Bonjours, J'aimerais savoir comment faire pour parametrer par défaut la variable système PSLTSCALE sur 0, dés l'ouverture d'AUTOCAD et aussi lors de la création de nouvelles fenétres. D'avance merci.
lili2006 Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Bonjour à toutes et tous, Bienvenue BIGC-ROMU Tu fais => Format => Type de lignes => décocher "Utiliser les unités de l'espace papier pour une mise à l'échelle " => http://images0.hiboox.com/images/2208/5eb015b908b09c1a03948c388416dac7.jpg Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
rebcao Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 OUI ! mais il faut le faire dans le dessin gabarit ! Ce paramètre est propre à chaque dessin Christian [Edité le 29/5/2008 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Bred Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Salut,tu peux aussi dans un répertoire déclaré dans les chemin supports, créer un fichier AutoCAD.lspCe fichier sera chargé à chaque ouverture d'un nouveau dessin si la variable ACADLSPASDOC = 1. Cela te permettras, même si tu ouvres un pancien plan ou un plan de quelqu'un d'autre, d'avoir toujours tes variables comme tu le désires. Dans ce fichier, tu peux écrire des lignes de codes. Pour ta variable, tu écris :(setvar "PSLTSCALE" 0) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
BIGC-ROMU Posté(e) le 29 mai 2008 Auteur Posté(e) le 29 mai 2008 Merci lili2006, mais je veux éviter d'aller toujours dans la fenetre du gestionnaire des types de ligne. rebcao, c'est ce que j'ai fait, mais dés que je créé une nouvelle présentation, je suis obligé à chaque fois d'aller faire un tour dans le gestionnaire des types de ligne (voir post de lili2006).A moins de copier une présentation existante dans laquelle PSLTSCALE est à 0. Bred, tu semble avoir la réponse que je souhaite. Je suis loin d'être un pro en LISP (même pas au stade débutant) mais j'ai quand même essayé de suivre ton message. J'ai créer un fichier AutoCAD.lsp (dans l'éditeur VisualLisp d'AUTOCAD) avec seulement ta ligne de code (copier/coller), et je l'ai enregistré dans un de mes repertoires déclaré dans les chemins de support.J'ai modifié la variable ACADLSPASDOC à 1.J'ai redémaré AUTOCAD, mais dés que je créer une nouvelle présentation PSLTSCALE est toujour à 1 par défaut ?
papyrus1985 Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Salut, Dans ton fichier AutoCAD.lsp tu dois avoir ceci (defun S::STARTUP() (setvar "PSLTSCALE" 0) (princ) ) Cyprien Utilisateur AutoCAD depuis la R12 Longue Vie à CADxp
Bred Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Salut, Dans ton fichier AutoCAD.lsp tu dois avoir ceci (defun S::STARTUP() (setvar "PSLTSCALE" 0) (princ) ) Non non, pas besoin !(setvar "PSLTSCALE" 0)suffit !(tu peux rajouter un (princ) après si tu veux pour la propreté. J'ai redémaré AUTOCAD, mais dés que je créer une nouvelle présentation PSLTSCALE est toujour à 1 par défaut ?ça c'est bizarre... vérifie ton chemin dans les fichiers support... :casstet: Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Salut La variable acadlspasdoc doit être à 1 pour charger automatiquement le fichier AutoCAD.lsp @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Bred Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Salut Patrick_35,La variable acadlspasdoc doit être à 1 pour charger automatiquement le fichier AutoCAD.lspC'est déjà dit.il l'a fait.Mais ça marche pas.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
BIGC-ROMU Posté(e) le 29 mai 2008 Auteur Posté(e) le 29 mai 2008 Dans ton fichier AutoCAD.lsp tu dois avoir ceci (defun S::STARTUP() (setvar "PSLTSCALE" 0) (princ) ) Désolé papypus 1985, mais c'est toujours la même chose Bred, j'ai bien mis le fichier AutoCAD.lsp dans un répertoire qui est référencé dans " chemin de recherche de fichiers de support" dans -> outils -> option -> onglet Fichiers. J'ai contourné le probléme en créant une petite macro lier à une icone dans une nouvelle barre d'outils ^C^C_PSLTSCALE;0;_REGENALL que j'utilise aprés avoir créé une nouvelle présentation (sa m'économise 3 à 4 clics)mais se serait mieux si PSLTSCALE était à 0 par défaut.
Bred Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Dans le AutoCAD.lsp, copie ça après (setvar "PSLTSCALE" 0) :(alert "Acad.lsp chargé !") puis ouvre un nouveau plan (pas besoin de fermer/ouvrir autocad si la variable acadlspasdoc est à 1) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
BIGC-ROMU Posté(e) le 29 mai 2008 Auteur Posté(e) le 29 mai 2008 Désolé Bred, mais sa ne change rienDans mon nouveau fichier, l'espace objet et ma présentation (present dans mon fichier gabari de départ) on bien PSLTSCALE à 0, mais dés que je récréé une présentation par: Insertion -> Présentation -> Nouvelle présentation, celle-ci à PSLTSCALE à 1 !?!...
Bred Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Désolé Bred, mais sa ne change rienSi tu as fait ce que j'écris dessus, que le fichier AutoCAD.lsp est bien enregistré, et si tu n'as pas à l'ouverture de ton plan une boite de dialogue avec dedans marqué AutoCAD.lsp chargé !, c'est que justement ton AutoCAD.lsp n'est pas chargé !... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 Une autre solution, je regarderais à placer (setvar "PSLTSCALE" 0) dans le fichier AutoCAD.mnl situé dans: C:\Documents and Settings\[surligneur]Ton User[/surligneur]\Application Data\Autodesk\AutoCAD 2008\R17.1\fra\Support\acad.mnl Comme ceci, cette modif ne sera valable que dans ton profil. NB: Dans l'explorateur windows activer dans le menu "Outils" -> "Options des dossiers....", puis dans l'onglet affichage, cocher "Afficher les fichiers et les dossiers cachés" pour pouvoir accéder à ce fichier. Tu peux en profiter pour décocher (rien a voir avec le sujet) "Masquer les extensions des fichiers dont le type est connu" (Cela peut être pratique lorsque l'on veut renommer des extensions de fichiers dans l'explorateur) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
rebcao Posté(e) le 29 mai 2008 Posté(e) le 29 mai 2008 je vois pas le problème !!! En fait il faut justement cocher l'option "utiliser les unités de l'espace papier pour ..." dans Echelle type ligne et mettre une valeur de l'ordre de 0,33 et ça marche très bien Christian [Edité le 1/8/2008 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
BIGC-ROMU Posté(e) le 30 mai 2008 Auteur Posté(e) le 30 mai 2008 Si tu as fait ce que j'écris dessus, que le fichier AutoCAD.lsp est bien enregistré, et si tu n'as pas à l'ouverture de ton plan une boite de dialogue avec dedans marqué AutoCAD.lsp chargé !, c'est que justement ton AutoCAD.lsp n'est pas chargé !... Bred, J'ai déplacer mon fichier AutoCAD.lsp dans le répertoire:C:\Documents and Settings\Ton User\Application Data\Autodesk\AutoCAD 2008\R17.1\fra\Support(alors que mon répertoire ou était AutoCAD.lsp était bien référencé dans les répertoirs des fichiers support)et maintenant quand j'ouvre un nouveau plan, j'ai bien le message "Acad.lsp chargé !" . Mais quand je créer une nouvelle présentation: Insertion -> Présentation -> Nouvelle présentationcelle-ci à PSLTSCALE à 1 !?!... J'ai remarqué aussi , quand j'ouvre un ancien plan dont l'EO et l'ensemble des présentations ont PSLTSCALE à 1 avant l'ouverture, PSLTSCALE de l'EO et la 1ère présentation est passé à 0, mais les autre présentations sont resté à 1 aprés l'ouverture? rebcao, je ne vois pas ou tu veux en venir.Je veux que les types de lignes aparaisse dans toutes mes présentations (quelque soit l'échelle de mes fenêtres) comme dans l'EO, par conséquent, s'est PSLTSCALE à 0 qui peut me le permettre, et le problême, c'est que par défaut PSLTSCALE est à 1 lors de la création d'une nouvelle fenêtre (à part en copiant une présentation existante).
Bred Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 Salut,Mais quand je créer une nouvelle présentation:Insertion -> Présentation -> Nouvelle présentationcelle-ci à PSLTSCALE à 1 !?!... :casstet: Pige pas...après avoir ouvert ton plan, et que tu as bien le message "Acad.lsp chargé !", PSLTSCALE est à 1 ? Tu ne te serais pas tromper dans l'orthographe de PSLTSCALE dans AutoCAD.lsp ?(désolé, je cherche....) Si tu copie la ligne (setvar "PSLTSCALE" 0) dans ton AutoCAD.lsp, et que tu la colle dans la ligne de commande, tu as bien la variable qui passe à 0 ? Tu n'as pas mis de parenthèse en trop, de point virgule ou autre dans le fichier AutoCAD.lsp ?(fait moi une copie de ce que tu as écris et colle le dans un message dessous....) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
papyrus1985 Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 Bonjour, Chaque présentation a sa valeur PSLTSCALE qui lui est propre quand tu crées une présentation la valeur par defaut est 1tu peux creer une macro pour mettre PSLTSCALE à 0 pour le creation d'une présentation ^C^C_layout;_new;\_PSLTSCALE;0; Cyprien Utilisateur AutoCAD depuis la R12 Longue Vie à CADxp
rebcao Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 NON ! Cette valeur est identique pour tout le dessin. Toutes les fenêtres utilisent cette valeur. Sa valeur initiale dépend du dessin gabarit de démarrage. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Bred Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 Chaque présentation a sa valeur PSLTSCALE qui lui est propre quand tu crées une présentation la valeur par defaut est 1Ah ben oui, tiens, bien vu !C'est idiot... et même pas expliqué dans l'aide ! ... il doit bien y avoir une solution.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Bred Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 NON ! Cette valeur est identique pour tout le dessin. Toutes les fenêtres utilisent cette valeur. Sa valeur initiale dépend du dessin gabarit de démarrage. Eh non, recao, je confirme, même avec le gabarit à 0, un nouvelle présentation à cette variable à 1.....(testé sous 2009) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
BIGC-ROMU Posté(e) le 30 mai 2008 Auteur Posté(e) le 30 mai 2008 Bred, pour moi, tes lignes dans AutoCAD.lsp marche correctement, j'ai vérifier justement en changeant la valeur de PSLTSCALE, mais apparement cela n'affecte que l'onglet dans lequel la derniére sauvegarde à eu lieu (pour l'ouverture d'un ancien plan). Effectivement, un fichier peu avoir une valeur de PSLTSCALE différente dans chacun de ses onglets. Par conséquent, je pense que ta ligne de code ne peut pas modifier la valeur de PSLTSCALE dans l'ensemble des onglets d'un ancien plan à son ouverture. Aprés reflexion je pense que mon problême vient de la commande: _layoutqui créé une nouvelle présentation avec PSLTSCALE avec 1 par défaut, alors il faudrait modifier le code de la commande _layout (impossible!!) ou de rajouter des commandes supplémentaire à la commande: Nouvelle présentation
BIGC-ROMU Posté(e) le 30 mai 2008 Auteur Posté(e) le 30 mai 2008 tu peux creer une macro pour mettre PSLTSCALE à 0 pour le creation d'une présentation ^C^C_layout;_new;\_PSLTSCALE;0; Et non papyrus 1985, déja fait, il faut activer l'onglet de la nouvelle présentation avant de modifier PSLTSCALE, et je ne sait pas commant l'écrire!
Bred Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 Re,Par conséquent, je pense que ta ligne de code ne peut pas modifier la valeur de PSLTSCALE dans l'ensemble des onglets d'un ancien plan à son ouverture.En effet,Ci dessous un lisp qui le fait, mais plus il y a d'onglet, plus c'est long... (et je ne parle pas de la regen)A mettre dans AutoCAD.lsp :;;; Active chaque présentation et change valeur de PSLTSCALE (vl-load-com) (defun PUT-PSTSCALE (val / AC-DOC AC-LAY) (setvar "PSLTSCALE" val) (setq Ac-Doc (vla-get-activedocument (vlax-get-acad-object)) Ac-Lay (vla-get-activelayout Ac-Doc)) (vlax-for Lay (vla-get-layouts Ac-Doc) (vla-put-ActiveLayout Ac-Doc Lay) (setvar "PSLTSCALE" val) ) (vla-put-ActiveLayout Ac-Doc Ac-Lay) (princ) ) (PUT-PSTSCALE 0) par contre, pour les nouveau onglet, faudrais un réacteur.....et moi, les réacteurs...Si Patrick_35 repasse par là..... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 30 mai 2008 Posté(e) le 30 mai 2008 Salut Si Patrick_35 repasse par là.....Un réacteur qui force la variable PSLTSCALE à 0 lors de chaque changement de présentation.Pour activer le réacteur --> PSLTONPour désactiver le réacteur --> PSLTOFF (defun patrick:changer_layout(rea lay) (or (eq (car lay) "Model") (setvar "psltscale" 0) ) ) (defun c:pslton() (if patrick:reacteur_lay (princ "\nLe réacteur de changement de Présentation pour la variable PSLTSCALE est déjà actif.") (progn (setq patrick:reacteur_lay (vlr-miscellaneous-reactor nil (list (cons :vlr-layoutswitched (function patrick:changer_layout))))) (princ "\nLe réacteur de changement de Présentation pour la variable PSLTSCALE est activé.") ) ) (princ) ) (defun c:psltoff() (if patrick:reacteur_lay (progn (vlr-remove patrick:reacteur_lay) (setq patrick:reacteur_lay nil) (princ "\nLe réacteur de changement de Présentation pour la variable PSLTSCALE est désactivé.") ) (princ "\nLe réacteur de changement de Présentation pour la variable PSLTSCALE est déjà désactivé.") ) (princ) ) Bred.Ton lisp est bien, mais je me dit qu'Autocad doit quand même écrire quelque part la valeur de psltscale en fonction de la présentation. J'ai beau regarder en vlisp ou avec les codes dxf dans la table des layouts. Je ne trouve rien :casstet: ps : encore un effort. Les réacteurs ne sont pas si terrible à faire ;) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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