Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  BricsCAD
  Systemvariablen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Systemvariablen (1828 mal gelesen)
joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1661
Registriert: 11.10.2004

erstellt am: 16. Apr. 2012 08:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von T.Moses an!   Senden Sie eine Private Message an T.Moses  Schreiben Sie einen Gästebucheintrag für T.Moses

Beiträge: 73
Registriert: 16.03.2005

Win7-64B, Acad 14-2012, LT 2000-2012, Core i7-2600k - 4.4 GHz, 16 GB Ram, NVidia GT220

erstellt am: 16. Apr. 2012 21:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für joern bosse 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1661
Registriert: 11.10.2004

erstellt am: 16. Apr. 2012 22:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Torsten,
das mit dem SysVar-Reactor ist eine gute Idee, werde mich aber erst morgen dran setzen.
Das mit dem Namen "on_doc_load.lsp" ist ebenfalls gut zu wissen.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1661
Registriert: 11.10.2004

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

erstellt am: 17. Apr. 2012 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von T.Moses an!   Senden Sie eine Private Message an T.Moses  Schreiben Sie einen Gästebucheintrag für T.Moses

Beiträge: 73
Registriert: 16.03.2005

Win7-64B, Acad 14-2012, LT 2000-2012, Core i7-2600k - 4.4 GHz, 16 GB Ram, NVidia GT220

erstellt am: 17. Apr. 2012 11:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für joern bosse 10 Unities + Antwort hilfreich

Hallo, Jörn,
Danke für den Hinweis - schaue ich mir an, und werde dies korrigieren.
Ich melde mich dann hier wieder.
Tschüssi !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T.Moses
Mitglied



Sehen Sie sich das Profil von T.Moses an!   Senden Sie eine Private Message an T.Moses  Schreiben Sie einen Gästebucheintrag für T.Moses

Beiträge: 73
Registriert: 16.03.2005

Win7-64B, Acad 14-2012, LT 2000-2012, Core i7-2600k - 4.4 GHz, 16 GB Ram, NVidia GT220

erstellt am: 17. Apr. 2012 17:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für joern bosse 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz