Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Lispfehler in tschechischem Acad

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:  Lispfehler in tschechischem Acad (658 mal gelesen)
Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 17. Mai. 2006 11:06    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 ein Lisp zum automatischen erstellen von Bloecken.
Dieses Lisp funktioniert auf deutschem XP und deutschem ACAD
Es funkioniert auch auf tschechischem XP und deutschen ACAD
Es funkioniert aber nicht auf tschechischm XP mit tschechischem ACAD
Hier das Lisp:
(defun c:ba ()
  (setq ss (ssget))
  (setq ent1 (vl-prin1-to-string (cdr (assoc -1 (entget (ssname ss 0))))))
  (setq l (strlen ent1))
  (setq ent1 (strcat "A$_Block" (substr ent1 14 (- l 14))))
  (command "_-block" ent1 (setq p1 (getpoint)) ss "" "_-insert" ent1 p1 "" "" "")
  )

Wenn alles funktioniert wird ein Block mit dem Namen z.B. A$_Block7ed562b8
Das ist ein beliebiger eindeutiger Name
In dem tschechischen ACAD moechte das Lisp einen Block mit dem Namen
A$_Block: 7ed562b8 erstellen. Das scheitert aber weil ACAD meldet dass der Name unzulaessig ist.
An dem Dollar liegt es nicht sondern vermutlich an dem Doppelpunkt oder der Leerstelle. im deutschen ACAD wird mit dem gleichen Lisp kein Doppelpunkt und keine Leerstelle erzeugt.
Wie muss ich das lisp anpassen dass es auch auf tschechisch lauft ?

Danke und Gruss Wolfgang

------------------
"Früher war die Zukunft besser"
-Karl Valentin-

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 17. Mai. 2006 11:23    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 Wolli 10 Unities + Antwort hilfreich

dann bring doch ein vl-string-translate rein, welches dir die Fehler verursachenden Zeichen ersetzt.

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




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 17. Mai. 2006 11:24    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 Wolli 10 Unities + Antwort hilfreich

guck dir mal an. was (substr ent1 14 (- l 14)))) bringt..
im deutschen "<Objektname:" wird im tscheischen sicher anders heißen und eine andere Stringlänge haben .. dh. legt den Wert nicht mit 14 fest sondern ermittel ihn vorher über (vl-string-search ":" oder so ...

------------------
  - 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

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 17. Mai. 2006 13:05    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 Holger, Hallo Thomas,

danke Euch beiden, das hoert sich richtig an, aber leider reichen meine Lisp Kenntnisse nicht aus um damit was anzufangen.

Geht es bitte etwas genauer?

Danke fuer die Muehe

Gruss Wolfgang

------------------
"Früher war die Zukunft besser"
-Karl Valentin-

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ex-Mitglied
Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 12. Jul. 2006 09:44    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

Danke Rabbit,

entschuldigung dass ich mich jetzt erst melde, ich habe eben die Rückmeldung aus Tschechien bekommen dass es nicht funktioniert.
Ich werde mal genau nachfragen (Fehlermeldung...)

Danke und Gruß Wolfgang

------------------
"Früher war die Zukunft besser"
-Karl Valentin-

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ex-Mitglied
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. Jul. 2006 22:30    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 Wolli 10 Unities + Antwort hilfreich

Alternative kann mann statt dieses geprnteten Entitynamens ja genau so gut den Objekthandle nehmen.
Code:

(defun c:ba2 ( / ss p1 ent1)
  (if (and (setq ss (ssget))
          (Setq p1 (getpoint "\nPkt?"))
      )
    (progn
      (setq ent1 (strcat "A$_Block" (cdr (assoc 5 (entget (ssname ss 0)))))); Handle
      (command "_-block" ent1 p1 ss "")
      (command "_-insert" ent1 p1 "" "" "")
    )
  )


------------------
Mit freundlichem Gruß

Udo Hübner

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 25. Jul. 2006 15:23    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

@alle,

Danke, jetzt leuft es, mit dem Ansatz CADmium
von 14 auf 16 geändert

(defun c:ba ()
  (setq ss (ssget))
  (setq ent1 (vl-prin1-to-string (cdr (assoc -1 (entget (ssname ss 0))))))
  (setq l (strlen ent1))
  (setq ent1 (strcat "A$_Block" (substr ent1 16 (- l 16))))
  (command "_-block" ent1 (setq p1 (getpoint)) ss "" "_-insert" ent1 p1 "" "" "")
  )

Auch der Code von Udo funktioniert. Danke
Wobei der automatische eindeutige Teil im Blocknamen nur 4 Stellen hat
und das zu wenig ist um zu sagen dass er einmalig ist.

Gruß Wolfgang

------------------
"Früher war die Zukunft besser"
-Karl Valentin-

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

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: 25. Jul. 2006 18:48    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 Wolli 10 Unities + Antwort hilfreich

Der Handle ist pro Zeichnung immer eindeutig! Je mehr Objekte, desto länger wird die Handle Nummer (Hex-Zahl).

------------------
Mit freundlichem Gruß

Udo Hübner

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 02. Aug. 2006 14:57    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

Stimmt Udo,

ich hatte es immer nur mit 4 Linien getestet.

Danke und Gruß Wolfgang

------------------
"Früher war die Zukunft besser"
-Karl Valentin-

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