| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD | | | |  | Werde ArchiCAD Experte mit 3D-Planung & BIM , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: Lisp für fortlaufende Zahlen klemmt (640 / mal gelesen)
|
cadalacad Mitglied

 Beiträge: 79 Registriert: 04.05.2012 BricsCAD BIM 2023, AEC-Collection, aktuell 2020 im Einsatz Intel i7 CPU 4790 @ 3.60 GHz NVIDIA Quadro K2200 32 GB RAM
|
erstellt am: 12. Jan. 2024 09:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe seit vielen Jahren (keine Ahnung, wo die ursprünglich mal her war) die folgende kleine Lisp im Einsatz um fortlaufende Zahlen zu erzeugen: (Defun C:ZAHLEN () (START) (prompt "\n\n\nDie aktuelle Texthöhe wird übernommen...") (Setq A (Getint "\nStartnummer: ")) (Setq E 1) (Setq I 0) (Initget 1 "A") (Setq P1T (Setq P1 (Getpoint"\nEinfuegepunkt oder Abbruch"))) (While(/= P1T "A") (Setq F (Itoa A)) (Command "Text" "z" P1 "" I F) (Setq A (+ A E)) (Initget 1 "A") (Setq P1T (Setq P1 (Getpoint "\nEinfuegepunkt oder A für Abbruch"))) ) (end) (Princ) ) (defun *error* (em) (end) (princ "\nAbbruch : ") (princ em) ) (defun end() (if clay (progn (command "LAYER" "SE" clay "") (setvar "BLIPMODE" bmod) (setvar "CMDECHO" 1) (setvar "MENUECHO" mech) (setvar "OSMODE" mosm) (setvar "SNAPMODE" msna) (setvar "ORTHOMODE" mort) ) ) (princ) ) (defun start() (setq bmod (getvar "BLIPMODE") mosm (getvar "OSMODE") msna (getvar "SNAPMODE") mort (getvar "ORTHOMODE") clay (getvar "CLAYER") mech (getvar "MENUECHO") ) (setvar "BLIPMODE" 0) (setvar "CMDECHO" 0) (setvar "MENUECHO" 3) (setvar "OSMODE" 0) (setvar "SNAPMODE" 0) (setvar "ORTHOMODE" 0) (command "LAYER" "M" "Text" "Fa" "1" "" "") ) Die funktioniert soweit (früher in AutoCAD jetzt in BricsCAD) auch gut, allerdings nur, wenn ein Textstil aktuell eingestellt ist, welcher keine Texthöhe (also 0) hat. In meiner Vorlagenzeichnung habe ich jedoch einen Textstil mit einer Höhe festgelegt und dann klappt die Lisp leider nicht mehr . Kennt sich einer von Euch mit Lisp aus und kann mir sagen, was ich einstellen muss, damit es auch mit solchen Textstilen funktioniert? Vielen Dank schonmal ------------------ "Wir dürfen jetzt nicht den Sand in den Kopf stecken!" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22689 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 12. Jan. 2024 10:43 <-- editieren / zitieren --> Unities abgeben:          Nur für cadalacad
Hi, hier ist die Zeile was das Programm an die Befehlszeile senden: (Command "Text" "z" P1 "" I F) Text ist der Befehl, z die Ausrichtung, hinter P1 verbirgt sich die Angabe des Einfügepunktes und dann.. Bei Stilen ohne Texthöhe erfolgt die Höhenabfrage, bei Stilen mit Texthöhe micht. und hinter I verbirgt sich die Drehung, F beinhaltet den Textwert.
statt (Command "Text" "z" P1 "" I F) versuche mal (if (eq 0.0 (cdr(assoc 40 (entget(tblobjname"STYLE"(getvar 'TEXTSTYLE)))))) (Command "Text" "z" P1 "" I F) (Command "Text" "z" P1 I F) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Anzeige: | Infos zum Werbeplatz >> | GeoTools CAD APP für Tiefbau, Facility Management, GIS, Vermessung und Kartografie GeoTools is a geo-data application that is useful to view, create, modify, analyze and report on CAD data that is geographic in nature. Useful for GIS data creation, surveying, mapping, facilities management, infrastructure, landscape development, city planning or similar, workflows.
|
|
cadalacad Mitglied

 Beiträge: 79 Registriert: 04.05.2012 BricsCAD BIM 2023, AEC-Collection, aktuell 2020 im Einsatz Intel i7 CPU 4790 @ 3.60 GHz NVIDIA Quadro K2200 32 GB RAM
|
erstellt am: 12. Jan. 2024 10:53 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |