| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Textsize mit Lisp steuern (1542 mal gelesen)
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 03. Mai. 2005 13:00 <-- editieren / zitieren --> Unities abgeben:
Servus Hab mir ein kleines Lisp zusammen "gepastelt". Soll die Variable "Textsize" steuern ohne lästiges herumrechnen mit Einheiten u. Massstab. unten aktueller Code [Diese Nachricht wurde von Bernd P am 17. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 03. Mai. 2005 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
Hallo Bernd! es ist relativ einfach! Deine Dialogroutine gibt einen TEXT(!) zurück: Zitat:
(if (/= 0 ns) (nth SIZ NAMES) )
Du brauchst aber zahlen, mit denen Du rechnest Zitat:
(setq Thohe (* LMasstab THohew / LEinheit2))
also...(?) Grüsse, Henning Jesse
------------------ http://www.voxelman.de Computer-Dienstleistungen für Architekten und Ingenieure Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 03. Mai. 2005 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
Hallo Bernd, Deine Listen enthalten Zeichenketten, diese werden bei der Auswahl auch wieder zurückgegeben. Ändere mal folgende Dinge: (setq THohew (DIA ....)) zu (setq (THohew (atof (DIA ...))) dto. mit (setq (LMasstab (DIA ...)) und dann noch falsche syntax in (setq Thohe (* LMasstab THohew / LEinheit2)) zu (setq Thohe (/(* LMasstab THohew ) LEinheit2)) dann sollte es klappen. Viele Grüße spider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 03. Mai. 2005 13:40 <-- editieren / zitieren --> Unities abgeben:
@wronzky Das hab ich mir gedacht nur wuste ich nicht wieso @spider_dd THX funkt echt super (gleich viel besser ohne Fehlermeldungen ) ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier [Diese Nachricht wurde von Bernd P am 03. Mai. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 17. Nov. 2005 11:32 <-- editieren / zitieren --> Unities abgeben:
gelöscht ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier[Diese Nachricht wurde von Bernd P am 17. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 17. Nov. 2005 13:33 <-- editieren / zitieren --> Unities abgeben:
Servus die 2. So nach langen herumtesten funktioniert es endlich, nur bekomm ich eine unschöne Fehlermeldung kann mir wer helfen? Bekomme ich die Fehlermeldung ; Fehler: Fehlerhafter Argumenttyp: stringp 10.0
Code: ;Hauptfunktion (defun c:Texthöhe (/) (setq Objekte (ssget)) (setq THohew (DIA:Liste '("aktuelle Hoehe" "1" "1.25" "1.5" "1.75" "2" "2.25" "2.5" "2.75" "3" "3.25" "3.5" "3.75" "4" "4.5" "5" "5.5" "6" "6.5" "7") ) ) (if (not THohew) (exit) );if (if (= THohew "aktuelle Hoehe") ((setq Thohe (atof (getvar 'textsize))) (command "_textsize" Thohe) (if (not Objekte) (exit) (command "bks" "") ) (if (not Objekte) (exit) (command "skaltext" Objekte "" "" Thohe) ) (command "bks" "vo") ) ) (if (/= THohew "aktuelle Hoehe") (setq LEinheit (DIA:Liste '("Zentimeter" "Meter") ) ) ) (if (not LEinheit) (exit) );if (if (= LEinheit "Zentimeter") (setq LMasstab (atof (DIA:Liste '("1" "5" "10" "20" "25" "50" "100" "200" "250" "500" "1000") )) ) ) (if (= LEinheit "Meter") (setq LMasstab (atof (DIA:Liste '("10" "20" "25" "50" "100" "200" "250" "500" "1000" "2000" "2500" "5000" "10000" "25000" "50000") )) ) ) (if (not LMasstab) (exit) );if (if (= LEinheit "Zentimeter") (setq LEinheit2 10) );if (if (= LEinheit "Meter") (setq LEinheit2 1000) );if (setq Thohe (/(* (atof THohew) LMasstab)LEinheit2)) (command "_textsize" Thohe) (if (not Objekte) (exit) (command "bks" "") ) (if (not Objekte) (exit) (command "skaltext" Objekte "" "" Thohe) ) (command "bks" "vo") ) ;Dialog aufrufen (defun DIA:Liste (NAMES / dcl_id ns SIZ) (setq dcl_id (load_dialog "Texthöhe.dcl")) (if (not (new_dialog "Texthöhe" dcl_id) ) (exit) ) (start_list "selections") (mapcar 'add_list NAMES) (end_list) (action_tile "accept" "(setq SIZ (atoi (get_tile \"selections\")))(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq ns (start_dialog)) (unload_dialog dcl_id) (if (/= 0 ns) (nth SIZ NAMES) ) )
------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier [Diese Nachricht wurde von Bernd P am 17. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 17. Nov. 2005 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
Ohne texthöhe.dcl kann man das Programm natürlich nicht test, aber der fehler liegt wohl hier: Zitat:
... (if (= THohew "aktuelle Hoehe") ((setq Thoehe (atof (getvar 'textsize))) (command "_textsize" Thohe)
Besser so: Zitat:
... (if (= THohew "aktuelle Hoehe") (PROGN (setq Thohe (getvar "TEXTSIZE")) ; überflüssig Thohe ist doch gerade auf TEXTSIZE worden ; (command "_textsize" Thohe) ; ansonsten besser (SETVAR "TEXTSIZE" Thohe) ; statt command ... ); ende Progn );ende if
------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |