Patrick_35 Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Bonjour Dans le gestionnaire de mise en page, il y a une case à cocher pour Afficher les styles de tracé.Connaissez-vous la variable qui la gère ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Hello +1 avec P35 ! Question fort interessante :- Je n'ai jamais trouve la variable (presque sur, qu'il n'y en a pas !) - ni meme la cle en base de registre Donc a votre bon coeur ... lecrabe Autodesk Expert Elite Team
PHILPHIL Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 hello j'y connais rien une piste , ca ne serait pas lier a l'onglet de presentation ?? car on peut l'avoir coché dans un onglet et decoché dans un autre a+phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Dinosor Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Nan, rien... Il n' y a, semblerait-il, que la commande GESTSTYLE d'après ce que j'ai trouvé dans les méandres de l'aide. Mais ce n'est pas ce que tu cherches... :huh: C'est vague, on ne trouve rien de plus... La piste à Phil peut-être... Seuls nous allons vite, ensemble nous allons plus loin... CPU Intel 3,5Go / Nvidia RTX-3090 AutoCad (Architecture) 2022 - Lumion PRO BMW R-1200-RT, c'est moche, oui... je sais... www.neda.ch
VDH-Bruno Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Salut Patick_35 Je vais me rallier à l’avis de lecrabe, j’ai été jusqu'a déclaré un réacteur de type vlr-sysvar-reactor, et cela n’a rien donné … (or *acadvarreactor* (setq *acadvarreactor* (vlr-sysvar-reactor nil '((:vlr-sysVarChanged . trace-sysvar-callback)))) ) (defun trace-sysvar-callback (rea sysvar) (princ "\n") (princ (car sysvar))) A+ Bruno Apprendre => Prendre => Rendre
Patrick_35 Posté(e) le 27 septembre 2012 Auteur Posté(e) le 27 septembre 2012 Merci à vous tous pour vos réponses.Je n'ai rien trouvé; vous m'avez confirmé qu'apparemment il n'y en a pas et Phil m'a indiqué où chercher. Cela m'a donné une idée et du coup, trois petit lisps. Pour faire Afficher ou pas le style de tracé sur l'onglet (layout) actif0 = Inactif et 1 le contraire ;)(defun c:ast(/ chx def lay) (vl-load-com) (setq lay (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))) def (if (eq (vla-get-showplotstyles lay) :vlax-true) "1" "0") ) (initget "0 1") (setq chx (getkword (strcat "\nValeur de la variable AST [0/1] <" def "> : "))) (or (not chx) (eq chx rep) (if (eq chx "0") (vla-put-showplotstyles lay :vlax-false) (vla-put-showplotstyles lay :vlax-true) ) ) ) Pour afficher sur tous les onglets (layout) les styles de tracé(defun c:aston(/ lay) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (vla-put-showplotstyles lay :vlax-true) ) (princ) ) Pour ne plus afficher sur tous les onglets (layout) les styles de tracé(defun c:astoff(/ lay) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (vla-put-showplotstyles lay :vlax-false) ) (princ) ) ps : ast = afficher style tracé @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Salut, Je ne pense pas non plus que ce soit une variable système, mais la propriété COM ShowPlotStyles des objets Layout semble correspondre à ce que tu cherches (c'est la même en .NET). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Ou alors c'est stocké dans les variables d'environnement... (getenv) (setenv) J'ai bien une liste, mais elle date des années 2002 environ, depuis il doit y en avoir une floppée qui se soient rajoutées. Citation "ACADALTMENU""AcadClassic""ACADLOGFILE""ACADLspAsDoc""ActiveAssistance""AlarmOnError""ARXDemandLoad""AssignInsertUnits""AuditControlFlags""AutomaticSaveMinutes""AutoSaveFile""AutoSnapColor""AutoSnapPolarAddAng""AutoSnapPolarAng""AutoSnapPolarDistance""AutoSnapPolarMode""AutoSnapShowAperture""AutoSnapSize""AutoSnapTrackPath""Autotracking vector""AVEMAP""Background""BmpOutCompression""CheckDrawingSignature""CmdHistLines""CmdLine.BackColor""CmdLine.FontFace""CmdLine.FontHeight""CmdLine.FontItalic""CmdLine.FontPitchAndFamily""CmdLine.FontWeight""CmdLine.ForeColor""CmdVisLines""CommandDialogs""ContextMenus""CreateViewports""CursorSize""CustomColors""CustomDictionary""DatabaseTablesOpenMode""DatabaseWorkSpacePath""DefaultFormatForSave""DefaultLayerZeroPlotStyle""DefaultPlotStyle""DefaultPlotToFile""DemandLoadingModeler""DigitizerArbitration""DisableGraphicsTextArea""DisableScreenMenuArea""DisableTrueColor""EdgeMode""EmergencyFont""EntityExtentVariant""ExplorerInsertUnits""FileDialog""FontFace""FontHeight""FontItalic""FontMappingFile""FontPitchAndFamily""FontWeight""GripBlock""GripColor""GripHot""Grips""GripSize""HatchAlertDisabled""HatchType""HideWarningDialogs""ImageHighlight""ImportPathInfo""InsertUnitsDefSource""InsertUnitsDefTarget""IsaveBackupDwg""IsavePercent""Layout background""LayoutRegenControl""LayoutXhairPickboxEtc""LineWeightDisplayScale""LineWeightUnits""LoadPaletteBySession""LOGFILE""LogFileOpen""LogFilePath""MainDictionary""MaxApp""MaxArray""MaxDwg""MaxHatch""MaxOctTreeNodesToAllocate""MaxSortEntries""Measureinit""MenuFile""MenuOptionFlags""MiddleButtonPan""ModeBits""MonoVectors""MRUFilesToList""MTextEditor""NetLocation""NoStartUpDialog""ObjectARXSupportPath""ObjectDBXSupportPath""ObjectSnapCursorSize""OffsetCurveGapType""OleHide""OsnapCoord""PickAdd""PickAuto""PickBox""PickDrag""PickFirst""PlineType""Plot preview background""PlotRotationMode""PlotSpoolerDirectory""PlotSpoolerNode""PostscriptQuality""PrinterConfigDir""PrinterDescDir""PrinterStyleSheetDir""PROXYWEBSEARCHNUMBER""PSOUT_PrologFileName""QAFlags""RasterPreview""RtDisplay""SaveFilePath""ScreenMenu""Scrollbars""SDF_AttributeExtractTemplateFile""SDIMode""ShowFullPathInTitle""ShowHyperlinkCursor""ShowHyperlinkToolTip""ShowOleScaleDialog""ShowPaperBackground""ShowPaperMargins""ShowPaperSize""ShowPlotSetup""ShowPrintBorder""ShowProxyDialog""ShowProxyGraphics""ShowRuler""ShowTabs""SnapType""SQLIndexInDwg""StatusLine&CoordinateDisplay""TempDirectory""TemplatePath""TextFill""TextWindow.BackColor""TextWindow.FontFace""TextWindow.FontHeight""TextWindow.FontItalic""TextWindow.FontPitchAndFamily""TextWindow.FontWeight""TextWindow.ForeColor""ToolTips""Trim&ExtendProjectMode""Trimmode""UCSAxisAng""UcsIcon3d""UcsIconActiveColor""UcsIconCone""UcsIconLineWidth""UcsIconNonActiveColor""UcsIconSize""UCSOrtho""UCSView""Use TODAY as Startup dialog""UseContextMenus""UseMenuHeader""UserName""WhipArcEnable""WHIPTHREAD""WhipThreadEnable""XFadeCtl""XhairPickboxEtc""XrefControlFlags""XrefLazyLoadMode""XrefLoadPath""ZoomFactor""UseMRUConfig""PLOTLEGACY""PSTYLEPOLICY""OLEQUALITY""Anyport""Validation Policy""Validation Strategy" Je me demandais si une fonction récursive ne serait pas capable de faire une recherche de toutes les variables d'environnement valides dans Autocad (sachant que l'on peut créer ses propres variables et que celle ci sont sensible à la case) Je m'y suis essayé, mais pour l'instant, choux blanc! Je ne suis pas très doué pour appréhender ces fonctions récursives correctement....Mon idée de départ était d'incrémenter avec (chr) dans une plage de 32 à 128 sur environ 32 ou 64 caractères et de vérifier par (getenv) leur validité afin de générer une liste pour la version (avec ses Add-On) sur laquelle on tourne. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
VDH-Bruno Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Salut BonusCAD Citation Mon idée de départ était d'incrémenter avec (chr) dans une plage de 32 à 128 sur environ 32 ou 64 caractères et de vérifier par (getenv) leur validité afin de générer une liste pour la version (avec ses Add-On) sur laquelle on tourne Pour avoir déjà tenter quelque chose de similaire avec la fonction getvar ,avant de m’apercevoir qu’il était possible de récupérer la liste des variables AutoCAD via la Citation commande MODIFVARCommande:MODIFVAR Entrez le nom de la variable ou [?]: ?Entrez les variables à répertorier <*>: Je peux dire que je me suis confronté très vite à la notion d’explosion combinatoire (que j’ai apprise à l’occasion) en atteingnant péniblement la combinaison du 5ème caractères après plus d’une demi-journée. En fait, on peut apparenter cela au type de code qualifié de brut de force utilisé pour craker des mots de passe. Pour générer ma liste je m’étais basé sur cette fonction, car selon moi une récursive ne s’impose pas.. ;; --------------------------------------------------------------- ;; ar-1:n => Arrangement à Répétition de 1 à n (Version itérative) ;; --------------------------------------------------------------- ;; Argument: Une liste de symboles (d'éléments) ;; Retourne: Tous les arrangements de 1 à n ;; Exemple : ;; (ar-1:n '(A B C) 2) ;; => ((A) (B) (C) (A A) (A B) (A C) (B A) (B B) (B C) (C A) (C B) (C C)) (defun ar-1:n (l n / lst res) (setq lst '(nil)) (repeat n (setq res (append res (setq lst (apply 'append (mapcar '(lambda (x) (mapcar '(lambda (y) (cons x y)) lst)) l))) ) ) ) ) Donc je ne pense pas que la solution soit là, à moins que je ne me trompe et n’ai rien compris à ton idée…A+ Apprendre => Prendre => Rendre
(gile) Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Je ne pense vraiment pas que cette donnée soit conservée dans une variable système ni d'environnement puisqu'elle est conservée dans l'objet Layout (PlotSettings plus exactement) de chaque présentation. On y accède avec AutoLISP par la liste DXF de l'entrée du dictionnaire ACAD_LAYOUT correspondant à la présentation, il s'agit du bit 2 dans le groupe 70 suivant le marqueur de sous-classe AcDbPlotSettings. Bonuscad,Pour les variables d'environnement, je pense qu'il serait plus rapide et plus simple de tester (getenv ...) avec les clés de la base de registre dans (vlax-product-key). Une fonction récursive s'imposera aussi pour parcourir l'arborescence. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Citation Pour avoir déjà tenter quelque chose de similaire avec la fonction getvar ,avant de m’apercevoir qu’il était possible de récupérer la liste des variables AutoCAD Pour les variables c'est sur que tu peut récupérer la liste comme du l'énonce (avec le joker *).Encore que certaine variable cachée ne te seront pas retournées. Pour les variables d'environnement, rien n'existe de similaire. Citation En fait, on peut apparenter cela au type de code qualifié de brut de force utilisé pour craker des mots de passe.Bien que le but ne soit pas cela, c'est vrai que c'est similaire.Mais bon vu mon niveau, pour moi je serais juste capable de faire CA Citation plus simple de tester (getenv ...) avec les clés de la base de registre dans (vlax-product-key) Si effectivement elles sont toutes à cet endroit, la solution deviendrait plus simple. J'essayerais d'explorer cette voie (à temps perdu...) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
VDH-Bruno Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Re, Pour le plaisir le code que j’avais écrit (adapté avec getenv) testé en limitant la recherche à un arrangement de 1 à 3 caractères en se limitant aux caractères alphabétiques, tu verras cela mouline déjà un peu..(apply 'append (mapcar '(lambda (v) (if (getenv v) (list v) ) ) (mapcar '(lambda (x) (apply 'strcat x)) (ar-1:n '("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z") 3 ) ) ) )Pour info cela me retourne les 2 variables suivantes ("OS" "TMP") Citation Mais bon vu mon niveau, pour moi je serais juste capable de faire CAPas mieux… ;) La preuve plus haut.. Citation avec les clés de la base de registre dans (vlax-product-key). Une fonction récursive s'imposera aussi pour parcourir l'arborescence.Merci (gile), pour le tuyau je ne connaissais pas.. faut dire que question d'environnement en dehors d’AutoCAD je suis très limité mais grace à vos contributions à tous, petit à petit je m’améliore.. A+ Apprendre => Prendre => Rendre
(gile) Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 Je viens de regarder un peu et je m'aperçois qu'AutoLISP est très pauvre pour utiliser la base de registre : il n'existe pas de fonction permettant de retrouver toutes les valeurs/variables d'une clé.Je vais essayer en .NET, je posterais mes résultats. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 27 septembre 2012 Posté(e) le 27 septembre 2012 J'ai fait truc ici, je ne suis pas certain de toutes les avoir trouvé, mais j'en récupère autour de 300 suivant les versions. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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