| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Voreinstellen von Eingaben (2019 mal gelesen)
|
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 15. Mrz. 2006 12:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Lispler Habe ein Lisp wo ich eine PL um ein Text zeichnen kann (mit Abstand). Jetzt will ich den Abstand von Text und die PL Stärke vorher festlegen. Das der Wert in der Zeichnung erhalten bleibt. (z.B Abstand 5 und Stärke PL 3) mach das so (setq abstand (getreal "\nAbstand von Text:") mus halt immer den Abstand neu eingeben wen ich das lisp Starte, ist unständlich. wie mach ich das am besten. bin für jede Hilfe offen danke ------------------ Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Mrz. 2006 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
so: (or(setq abstand(getreal "\nAbstand von Text<5.7>:")) (setq abstand 5.7) ) ? ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 15. Mrz. 2006 12:40 <-- editieren / zitieren --> Unities abgeben:
Danke CADmium das hilft mir schon weiter, aber wie kann ich meinen Wert speichern, den ich eingebe. ER soll mir wen ich statt die 5.7 4 eingebe den Wert 4 behalten. Geht das auch danke ------------------ Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SebZ Mitglied Bauingenieur Tiefbau
Beiträge: 189 Registriert: 17.10.2004 AutoCAD 2010 Civil 3D DACH WinXP Professional 2002 SP3 MS Office 2007 Intel Core2Duo 2.80 GHz, 3.00 GB RAM
|
erstellt am: 15. Mrz. 2006 12:56 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Mrz. 2006 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
Zitat: Original erstellt von Dober Heinz: ... aber wie kann ich meinen Wert speichern, den ich eingebe.
in einer Variablen. Der einfachste, aber auch unsauberste Weg ist das Speichern in einer globalen Variablen. 2te Möglichkeit ist das Speichern im Blackboard. Das hat dann auch den Vorteil/Nachteil, dass den darin gespeicherten Wert auch in anderen Zeichnungen als Voreinstellung findest. Zitat: Original erstellt von Dober Heinz: ... ER soll mir wen ich statt die 5.7 4 eingebe den Wert 4 behalten. Geht das auch ...
Ja, das geht auch. dann musst du diesen String der Befehlszeile zusammen setzen. Das folgende Bsp arbeitet mit 'ner globalen Variablen *zahl* (setq zahl (if *zahl* *zahl* (setq *zahl* 5.7))) (setq zahl (getreal (strcat "Text <" (rtos VORGABE 2 2) ">:"))) und natürlich musst du dann auch den Fall abfangen, dass der Anwender nur mit [Eingabe] die Eingabeaufforderung bedient. (if (not zahl) (setq zahl *zahl*) (setq *zahl* zahl) ) so zumindest das Prinzip. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Mrz. 2006 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
für eine ACAD-Sitzung sollte der Ansatz über das BLACKBOARD ( gemeinsamer Variablenraum von ACAD) genügen ... ansonsten gibs als Speicherort noch die Registry oder - wie schon erwähnt- eine externe Datei (if(numberp(setq ABSTAND(vl-bb-ref 'BB-ABSTAND))) (progn (or(setq ABSTAND(getreal (strcat"\nAbstand von Text<"(rtos ABSTAND 2)">:"))) (setq ABSTAND (vl-bb-ref 'BB-ABSTAND)) ) (vl-bb-set 'BB-ABSTAND ABSTAND) ) (progn (or(setq abstand(getreal "\nAbstand von Text<5.7>:")) (setq abstand 5.7) ) (vl-bb-set 'BB-ABSTAND ABSTAND) ) ) für nur innerhalb einer Zeichnung reicht die Speicherung in einer globalen Variablen ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 15. Mrz. 2006 13:08 <-- editieren / zitieren --> Unities abgeben:
|
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 15. Mrz. 2006 13:12 <-- editieren / zitieren --> Unities abgeben:
|
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 15. Mrz. 2006 13:31 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Mrz. 2006 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
Zitat: Original erstellt von Dober Heinz: @ CADmium Danke Brauche die Var immer nur in einer Zeichnung. und wie geht das global. Danke
dream z.B. so: (if(numberp(setq ABSTAND *GLOBALABSTAND*)) (progn (or(setq ABSTAND(getreal (strcat"\nAbstand von Text<"(rtos ABSTAND 2)">:"))) (setq ABSTAND (vl-bb-ref 'BB-ABSTAND)) ) (setq *GLOBALABSTAND* ABSTAND) ) (progn (or(setq abstand(getreal "\nAbstand von Text<5.7>:")) (setq abstand 5.7) ) (setq *GLOBALABSTAND* ABSTAND) ) )
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 15. Mrz. 2006 13:34 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 15. Mrz. 2006 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 15. Mrz. 2006 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 15. Mrz. 2006 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für Dober Heinz
Hallo Heinz, Windows-conform kannst Du auch die Funktionen vl-registry-read und vl-registry-write benutzen. Etwa so: Code: (setq abstand (read (vl-registry-read "HKEY_CURRENT_USER\\Heinz-Variable")))
und:Code: (vl-registry-write "HKEY_CURRENT_USER\\Heinz-Variable" (vl-princ-to-string abstand))
und weiter wie Thomas...Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 16. Mrz. 2006 07:40 <-- editieren / zitieren --> Unities abgeben:
|