Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  
  Lisp für fortlaufende Zahlen klemmt

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
[an error occurred while processing this directive]
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD
Autor Thema:  Lisp für fortlaufende Zahlen klemmt (283 / mal gelesen)
cadalacad
Mitglied



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

Beiträge: 78
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 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 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.
良い精神



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

Beiträge: 21979
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 12. Jan. 2024 10:43    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 cadalacad 10 Unities + Antwort hilfreich

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

cadalacad
Mitglied



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

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

Wow!!!
Das isses - 1000 Dank!     

Viele Grüße
Axel

------------------
"Wir dürfen jetzt nicht den Sand in den Kopf stecken!"

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