| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Lispfehler in tschechischem Acad (661 mal gelesen)
|
Wolli Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
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
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 17. Mai. 2006 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 17. Mai. 2006 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 17. Jul. 2006 22:30 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
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
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 / zitieren --> Unities abgeben:
@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
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 25. Jul. 2006 18:48 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
|
Wolli Mitglied Konstrukteur
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 / zitieren --> Unities abgeben:
|