| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD |
Autor
|
Thema: Systemvariablen (1994 mal gelesen)
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004
|
erstellt am: 16. Apr. 2012 08:32 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte folgende Einstellungen für jede BRICSCAD-Zeichnung automatisch setzen: Anzeige Nachkommastellen = Variable LUPREC Einheiten = Variable LUNITS Relativ, Absolut, Aus = welche Variable ist dafür zuständig???
Ich würde das dann in die Datei "on_doc_load_default.lsp" schreiben: (princ "\nSetzen von Systemvariablen:") (princ "\nLUPREC = 3 => Anzeige Nachkomastellen") (setvar "LUPREC" 3);;;Anzeige Nachkommastellen (princ "\nLUNITS = 2 => Dezimal lineare Einheiten") (setvar "LUNITS" 2);;;Dezimal lineare Einheiten ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
T.Moses Mitglied
Beiträge: 82 Registriert: 16.03.2005 Win10, Core i9-9900k @5.0 GHz, 32 GB Ram, NVidia GT1030
|
erstellt am: 16. Apr. 2012 21:36 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
Hallo, bin mir nicht sicher, was mit "Relativ, Absolut, Aus" gemeint ist - ggf. einen SysVar-Reaktor mal ansetzen, und Einstellung ändern => dann kommt der Reaktor, und sagt einem, was es ist Die Einstellungen besser in "on_doc_load.lsp" ... jene "...default.lsp" wird evtl. mal mit Bricscad ausgeliefert, dann ist die eigene "futsch" Viele Grüsse ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004
|
erstellt am: 16. Apr. 2012 22:12 <-- editieren / zitieren --> Unities abgeben:
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 17. Apr. 2012 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Torsten, so, ich habe mich mal mit Erfolg an einem SYSVAR-Reactor versucht, daher weiß ich jetzt, daß ich die Variable "COORDS" gesucht hatte. Code:
;;;SysVar-Reactor (vl-load-com) (if (not *VLR:JB:CHECK_SYSVAR*) (setq *VLR:JB:CHECK_SYSVAR* (VLR-Sysvar-Reactor nil '((:vlr-sysVarWillChange . R:JB:CHECK_SYSVAR_WILLCHANGE) (:vlr-sysVarChanged . R:JB:CHECK_SYSVAR_CHANGED) )))) ;;;Beginn Systemvariable ändern, alten Wert speichern in globaler Variable (defun R:JB:CHECK_SYSVAR_WILLCHANGE (ReactorVar SysvarName / ) (setq JB$$VarValue (JB_CHECK_SYSVAR:WertToSTring (getvar (car SysVarName)))) ) ;;;WertToString, Datentyp auf Liste checken (defun JB_CHECK_SYSVAR:WertToSTring (VarValue / ) (if (= (type VarValue) 'LIST) (vl-string-right-trim ", " (apply 'strcat (mapcar '(lambda(A) (strcat(JB_CHECK_SYSVAR:WertToSTring:Convert A) ", ") )VarValue))) (JB_CHECK_SYSVAR:WertToSTring:Convert VarValue))) ;;;WertToString, Konvertierung (defun JB_CHECK_SYSVAR:WertToSTring:Convert (VarValue / ) (cond ((= (type VarValue) 'INT) (itoa VarValue)) ((= (type VarValue) 'REAL) (rtos VarValue 2 (getvar "LUPREC"))) ('T VarValue))) ;;;Systemvariable wurde geändert, Änderung per ALERT anzeigen (defun R:JB:CHECK_SYSVAR_CHANGED (ReactorVar SysvarName / NewValue) (if (cadr SysVarName) (progn (setq NewValue (JB_CHECK_SYSVAR:WertToSTring (getvar (car SysVarName)))) (alert (strcat "Die Systemvariable \"" (car SysVarName) "\" wurde geändert:\n" "alter Wert: " JB$$VarValue "\n" "neuer Wert: " NewValue)))))
Allerdings ist mir noch ein Bug in BRICSCAD aufgefallen: Der Reactor vlr-sysVarWillChange startet scheinbar zu spät, wenn ich mit GETVAR den Inhalt der Variablen abfrage, dann wird bereits der neue Wert präsentiert. Bei AutoCAD dagegen wird an der Stelle der alte Wert von GETVAR zurückgegeben. ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
T.Moses Mitglied
Beiträge: 82 Registriert: 16.03.2005 Win10, Core i9-9900k @5.0 GHz, 32 GB Ram, NVidia GT1030
|
erstellt am: 17. Apr. 2012 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
|
T.Moses Mitglied
Beiträge: 82 Registriert: 16.03.2005 Win10, Core i9-9900k @5.0 GHz, 32 GB Ram, NVidia GT1030
|
erstellt am: 17. Apr. 2012 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
Hallo, Jörn, ja, der Fehler ist drin, und bei mir bereits korrigiert. In der Tat wurde "sysvarWillChanged()" event zu spät abgeschickt, nachdem die Systemvariable bereits geändert ist. Mit meiner Korrektur arbeitet es jetzt korrekt, wird wohl im nächsten Bricscad enthalten sein. Vielen Dank nochmals ! Und viele Grüsse ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|