Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Textsize mit Lisp steuern

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Textsize mit Lisp steuern (1488 mal gelesen)
Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3358
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 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


Texthöhe.dcl.txt


Texthöhe.lsp.txt

 
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



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

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 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 Bernd P 10 Unities + Antwort hilfreich

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



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

Beiträge: 1111
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 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 Bernd P 10 Unities + Antwort hilfreich

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



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

Beiträge: 3358
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 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

@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



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

Beiträge: 3358
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 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

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



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

Beiträge: 3358
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 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

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



Projektleiter / Bauingenieur / Architekt (m/w/d) Industrieanlagen

Wir sind ein Ingenieurunternehmen, das sich auf die bautechnische Planung in den Bereichen Abfallwirtschaft, Energiegewinnung und Umwelttechnik spezialisiert hat. Als General- oder als Objektplaner der Bautechnik führen wir für unsere Kunden aus Deutschland und der Schweiz anspruchsvolle Großprojekten im Industrie- und Anlagenbau aus. Zur Verstärkung unseres Bau-Teams suchen wir an unserem Hauptsitz ...

Anzeige ansehenTeamleitung, Gruppenleitung
CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 17. Nov. 2005 14:16    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 Bernd P 10 Unities + Antwort hilfreich

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

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)2023 CAD.de | Impressum | Datenschutz