| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Engineering Erleben: Innovationen. Interfaces. Impulse., eine Veranstaltung am 01.10.2024
|
Autor
|
Thema: leerzeichen in blocknamen neuerdings erlaubt? (1819 mal gelesen)
|
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 02. Okt. 2007 16:54 <-- editieren / zitieren --> Unities abgeben:
ich besitze autocad civil 3d v. 2007 sp3, da läuft auch autocad alleine. bei beiden programmen habe ich das phänomen, dass beim -einfüge befehl der bereits in der zeichnung enthaltene blockname ausgeschrieben und nicht wie früher mit der leertaste (space) bestätigt werden kann, sondern enter gedrückt werden muss! das gleiche tritt bei der eingabe der attribute für den block auf. bedeutet dies, dass ab acad 2007 die blockeingabe sowie attributeingabe mit leerzeichen erlaubt ist? diese sache ist äußerst unangenehm beim skripting von koordinatenlisten mit der automatischen attributsbeschriftung, da nun immer für die bestätigung des blocknamens und der attribute zeilenumbrüche gesetzt werden müssen, was die struktur der liste komplett zerstört. hat jemand hier schon ähnliche sachen erlebt und weiß, wie man dies wieder abschaltet, vielleicht eine variable ausschalten, die ich noch nicht kenne? mfg der AutoCATer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 02. Okt. 2007 21:31 <-- editieren / zitieren --> Unities abgeben:
Hab die ganze Sache gerade auch mit AutoCAD 2005 getestet. Das Problem scheint sich einfach auf die Beendigung der Eingabe eines Blockattributes als Skript-Befehl zu reduzieren bzw. auf die Frage: Gibt es außer dem Zeilenumbruch noch eine weitere Möglichkeit die Eingabe von Enter im Skripting zu verarbeiten? Leerzeichen werden wie gesagt als normale Zeichenkette bei der Attributeingabe akzeptiert und führen nicht zum Beenden der Attributeingabe. Das Beenden ist aber notwendig, da mein Skript vernünftig weiterlaufen soll und ich weitere Attribute zu einem Punkt einfügen möchte. Hat jemand doch noch ne Lösung für mein Problem? Euer: AutoCATer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 03. Okt. 2007 21:12 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCATer
In Skripten müsste auch Semikolon ; als ENTER gelten - in diesem Fall aber ungewiss. Wenn du den Text in "Hochkomma" einpackst - was passiert dann? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 04. Okt. 2007 09:01 <-- editieren / zitieren --> Unities abgeben:
Semikolons dienen der Auskommentierung. Hochkommata werden ganz normal genommen als wären sie Bestandteil des Attributs, schon probiert. Du kannst die Sache auch ganz einfach nachvollziehen. Einfach Block mit 2 oder mehr Attributen erzeugen. _-insert aufrufen -> Blocknamen eingeben und dann bei Attribut 1 mal was mit Leerzeichen (oder Hochkammata oder ...) eintippen. Leerzeichen bedeutet in diesem Fall nicht Enter und das ist genau das Problem. Welches Zeichen würde hier zur Eingabebestätigung führen bzw. Enter ersetzen? Dies gilt nicht nur für das Skript, sondern auch für AutoCAD allgemein bzw. der alternativen Beendigung der Eingabe eines Attributs, falls mal die Enter-Taste nicht funktioniert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 04. Okt. 2007 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCATer
also ich hab eine Blockdefinition "AA" mit zwei Attributsdefinitionen in der Zeichnung. Da läuft folgendes Script problemlos _-insert aa 0,0 1 1 0 qwer ttt iou zuu .. das erste Attribut wird mit "qwer ttt" gefüllt, das 2. mit "iou zuu" ------------------ - 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 |
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 04. Okt. 2007 10:39 <-- editieren / zitieren --> Unities abgeben:
In deinem Skript stellen die Zeilenumbrüche Enter da -> dies funktioniert unbestritten! Eine Liste von Punkten sieht aber so aus mit z.B. 2 Attributen bzw. das zugehörige skript: _-insert pkt 100,100 attr1 attr2 _-insert pkt 101,102 attr1 attr2 _-insert pkt 100,200 attr1 attr2 _-insert pkt 100,100 attr1 attr2 mit: _-insert -> einfügebefehl pkt -> blockname 100,100 -> einfügepunkt attr1 -> attribut 1 attr2 -> attribut 2 Wie hier zu erkennen ist, besitzt diese Liste eine geordnete Struktur und darum gehts, dass diese Struktur nicht erst noch mit wilden Zeilenumbrüchen für die einzelnen Attribute zerstört werden muss. Meist liegen ja die Listen auch wie oben vor. Mit einem zu erstellenden Block mit nur einem Attribut funktioniert die Sache einwandfrei, da dann hinter dem Attribut Zeilenumbruch. Probleme gibt es halt, wenn mehrere Attribute eingegeben werden müssen. Dann wird das Leerzeichen zwischen Attribut1 und Attribut2 als Eingabe für das Attribut1 behandelt und nicht als Enter. Daraus genau ergibt sich die eingangs erwähnte Frage: Besteht die Möglichkeit, die Liste nicht durch Zeilenumbrüche zu zerstören, sondern spaltenförmig zu erhalten und die Attributeingabe für Attribut1 irgendwie abzuschließen ohne Zeilenumbruch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 04. Okt. 2007 11:00 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCATer
wenn du unbeding so 'ne Textdateitabelle mit Spaltenform haben willst, wirst du wohl auf einen gewissen LISP-Anteil zur Auswertung umsteigen müssen. z.B. ; NAME PUNKT X Y R ATT1 ATT2 (command "_-insert" "aa" '( 0 0 0) 1 1 0 "111" "BBB 11") (command "_-insert" "aa" '( 100 100 0) 1 1 0 "222" "BBB 22") (command "_-insert" "aa" '( 500 100 0) 1 1 0 "333" "BBB 33")
------------------ - 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 |
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 04. Okt. 2007 14:51 <-- editieren / zitieren --> Unities abgeben:
Ich möchte die Liste ja nicht unbedingt haben, wenn ich aber zum Bsp. den Befehl eattext für Attributsextraktion ausführe und dann manuell Attribute ändere oder Koordinaten umrechne, dann wäre es nicht schlecht, diese wieder möglichst einfach als Block mit Attributen in Autocad importiert zu bekommen. Da sich auch die Bezeichnungen sowie Lage ändern können, helfen auch Befehle aus den Expresstools nicht. Skripting wäre wesentlich einfacher gewesen, als jetzt Lisp-Routine zu schreiben, aber wenns nicht anders geht, bleibt dies wohl die einzige Lösung. :-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Puschner Ehrenmitglied V.I.P. h.c. Rentner
Beiträge: 13006 Registriert: 29.08.2003
|
erstellt am: 04. Okt. 2007 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCATer
|
AutoCATer Mitglied
Beiträge: 40 Registriert: 13.02.2004 AutoCAD 2007, civil3D 2007, windows xp pro, amd athlon xp 64, 2gb ram
|
erstellt am: 04. Okt. 2007 18:18 <-- editieren / zitieren --> Unities abgeben:
|