| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: ENTER in Script (4483 mal gelesen)
|
dias Mitglied Bauzeichner
Beiträge: 124 Registriert: 03.02.2009 AutoCad Map 3D 2016 Win7 AMD Athlon 64 X2 Dual CORE Prozessor 5200+ 2.71 GHZ 1.93 GB RAM NVIDIA GeForce 6150 LE HP DJ 750C Plus
|
erstellt am: 27. Sep. 2011 11:03 <-- editieren / zitieren --> Unities abgeben:
Hallo, probierem mich gerade in einfachen Script erstellen und komme nicht weiter... Ich habe in einer Exceltabelle Daten stehen, die ich über einen Block mit Attributen in eine Zeichnung relativ automatisch einfügen will. Es handelt sich um ein Bauteil mit verschiedenen Angaben (Größe, Gwicht usw.). Diese Angaben stehen in der Tabelle so: Nr. Lage (Koordinaten) Länge Höhe Gewicht 01 10,25 3,50 1,20 63 02 10,35 4,50 1,65 112 ... ... Ich habe nun einen entsprechenden Block mit den erforderlichen Attributen erzeugt. Über Excel habe ich mir eine Befehlsabfolge zusammengebastelt, die ich dann einfach über die Zwischenablage in ACAD kopieren möchte, und was auch die Attributsabfragen bedient: _einfüge Bauteil 10,25,0 3,50 1,20 63 Das Problem ist, das der Block "Bauteil" nicht erkannt wird bzw. er sucht dann "Bauteil 10,25,0....). Also wird wahrscheinlich das Leerzeichen hinter dem Blockname nicht als ENTER interpretiert. Wie könnte man das hinbekommen? Gibt es ein Sonderzeichen für "Enter"? Ein wirklicher Zeilenumbruch wäre zu aufwändig, es sollte schon möglichst alles in einer Zeile stehen (wegen Excel..) Vielen Dank! Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Yeti Mitglied CADmin
Beiträge: 1444 Registriert: 21.12.2000
|
erstellt am: 27. Sep. 2011 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für dias
|
dias Mitglied Bauzeichner
Beiträge: 124 Registriert: 03.02.2009 AutoCad Map 3D 2016 Win7 AMD Athlon 64 X2 Dual CORE Prozessor 5200+ 2.71 GHZ 1.93 GB RAM NVIDIA GeForce 6150 LE HP DJ 750C Plus
|
erstellt am: 27. Sep. 2011 12:07 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 27. Sep. 2011 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Was genau steht im Textfenster, wenn Du DIESEN Teil den Du gepostet hast, als *.scr in Deine Zeichnung ziehst? Code: Befehl: einfüge Blocknamen eingeben oder [?] <Bauteil>: Bauteil Einheiten: Meter Konvertierung: 1.000 Einfügepunkt angeben oder [Basispunkt/Faktor/X/Y/Z/Drehen]: 10,25,0 X-Skalierfaktor eingeben, entgegengesetzte Ecke angeben oder [Ecke/XYZ] <1>: 3,50 Drehwinkel angeben <0.0000g>: 1,20 Befehl: 63 Unbekannter Befehl "63". Drücken Sie F1-Taste für Hilfe.
Es fängt ja schon damit an, dass es den Befehl _einfüge nicht gibt. Es gibt EINFÜGE und _INSERT, aber nicht Unterstrich mit deutschem Befehl... Lösungsvorschlag: Code: einfüge Bauteil 10,25,0 1 1 0 3,50 1,20 63
ist halt mit Zeilenumbruch aber Excel kann ja durchaus mehr als nur eine Zeile ;-) Kürzer (einzeilig) kann ich nicht, scheint auch lt. >> diesem << thread nicht immer zu funktionieren. Lösungsmöglichkeit2 steht im thread. HTH------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3331 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 27. Sep. 2011 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Hi, die Zeile kann grundsätzlich doch gar nicht funktionieren. _einfüge -> -einfüge oder _-insert Und dann wird das Komma als Koordinatentrennzeichen und Dezimalpunkt verwendet. Pack außerdem den Blocknamen in Anführungszeichen, denn Blocknamen dürfen Leerzeichen enthalten. Gruß CADchup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2675 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 27. Sep. 2011 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Hatten wir doch schon ein paar MalCode: verketten( ... ; Zeichen(13) & Zeichen(10); ...)
[Edit]: Weil es mir gerade auffällt: Mathias (Dias), die gleiche Anfrage von Dir war doch schon im Juni, wie hattest Du das den damals gelöst?
[Diese Nachricht wurde von KlaK am 27. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dias Mitglied Bauzeichner
Beiträge: 124 Registriert: 03.02.2009 AutoCad Map 3D 2016 Win7 AMD Athlon 64 X2 Dual CORE Prozessor 5200+ 2.71 GHZ 1.93 GB RAM NVIDIA GeForce 6150 LE HP DJ 750C Plus
|
erstellt am: 27. Sep. 2011 13:45 <-- editieren / zitieren --> Unities abgeben:
Danke für alle Antworten! @KlaK: Damals habe ich es erstmal nur mit einfachen Punkt auf eine Koordinate gelöst, das war noch relativ einfach... ALSO: ich habe nun aufgrund eurer Hinweise viel probiert und es denke ich hinbekommen...!!! Die Lösung in Excel ist: "ENTER" ersetzt man immer durch "ZEICHEN(13)" ! Alle anderen (Attributs-) Abfragen ergänzt man einfach in deren Reihenfolge.Fertig! Dann in Excel diese "Formel" entsprechend runterkopieren. Das leicht irreführende dabei: Die ENTER-Zeichen sieht man nicht !!! Sie sind als Steuerzeichen wahrscheinlich nur im Hintergrund vorhanden... Nun diese Zellen über die Zwischenablage in einen Texteditor kopieren und alle " an Anfang und Ende der Zeile mit einem Leerzeichen ersetzen. Jetzt muss nur noch das eine Leerzeichen vor jeder Zeile weg. Mache ich z.Z. händisch, das muss bestimmt aber auch leichter gehen...?! Das Ganze dann markieren und über die Zwischenablage in die Befehlszeile von ACAD einfügen. ---> Funktioniert prima !!!! Danke für alle Hinweise! Ihr seid klasse !! Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2675 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 27. Sep. 2011 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Zitat: Original erstellt von dias: Nun diese Zellen über die Zwischenablage in einen Texteditor kopieren und alle " an Anfang und Ende der Zeile mit einem Leerzeichen ersetzen. Jetzt muss nur noch das eine Leerzeichen vor jeder Zeile weg. Mache ich z.Z. händisch, das muss bestimmt aber auch leichter gehen...?!
Verstehe ich nicht. Da hast Du doch einen Fehler in Deiner Excelformel. Wenn ich ein Script über Excel "bastel", kommt das ohne Nachbearbeitung in eine Scriptdatei. Kannst ja mal eine Beispieltabelle hochladen (Zip-Datei), wenn Du nicht selber auf die Lösung kommst. Grüße, Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dias Mitglied Bauzeichner
Beiträge: 124 Registriert: 03.02.2009 AutoCad Map 3D 2016 Win7 AMD Athlon 64 X2 Dual CORE Prozessor 5200+ 2.71 GHZ 1.93 GB RAM NVIDIA GeForce 6150 LE HP DJ 750C Plus
|
erstellt am: 27. Sep. 2011 14:24 <-- editieren / zitieren --> Unities abgeben:
Hallo KlaK, das liegt bestimmt an meiner Unwissenheit. Ich habe mit Scriptdateien als solches noch nicht viele gemacht, immer nur über einfügen an der Befehlszeile. Wie bekommt man denn die fertigen Zellen von Excel in eine Scriptdatei? Wie gesagt, wenn ich sie in einem Texteditor einfüge, sind am Anfang und am Ende die " - Zeichen, die natürlich weg müssen... Anbei mal ein Screenshot der Excelzellen. Viele Grüße! Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2675 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 27. Sep. 2011 16:50 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Ups, gerade mal getestet und ich muß Dir recht geben, der Text wird von Hochkomma eingerahmt. Was mir allerdings aufgefallen ist, Du hast ein Zeichen(13) am Ende zuviel ( E2 & Zeichen(13) )
Code: =VERKETTEN("-einfüge VermPunkt" & ZEICHEN(13);B2&","&C2&",0 ";"1 1 0 ";A2 & ZEICHEN(13);D2&ZEICHEN(13);E2 )
reicht (Ich benutze diese Funktion lieber, da es beim Erzeugen übersichtlicher ist)Dann braucht man nur noch die " gegen (leer) zu tauschen und hat das fertige Script
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
foltas1234321 Mitglied
Beiträge: 1 Registriert: 17.06.2020
|
erstellt am: 17. Jun. 2020 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Hallo! Bei mir funktionier die Auswahl und Positionierung des Blockes einwandfrei. Doch die Attribute werden nicht übernommen da hier ein Fenster mit einer Eingabeaufforderung kommt. kann mir hier jemand weiterhelfen? Danke im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21720 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Jun. 2020 17:47 <-- editieren / zitieren --> Unities abgeben: Nur für dias
|
kirk007 Mitglied
Beiträge: 3 Registriert: 29.10.2019
|
erstellt am: 23. Apr. 2022 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für dias
|
cadffm Moderator 良い精神
Beiträge: 21720 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 24. Apr. 2022 01:55 <-- editieren / zitieren --> Unities abgeben: Nur für dias
Zitat: Original erstellt von kirk007: \U+000D
Vielleicht etwas wenig Text bei der Antwort - wo es dazu auf keine offensichtliche Frage gepostet wurde. Ich ergänze mal für dich: \U+000D kann in einem Script als Enter eingesetzt werden (statt einem Zeilenumbruch), wenn also ein einer Situation Leerzeichen nicht funktioniert (weil gerade ein Textwert abgefragt wird bei dem auch Leerzeichen zulässig sind) und man keine Zeilenumbrüche möchte, dann ist dies (\U+000D) die Alternative dazu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kirk007 Mitglied
Beiträge: 3 Registriert: 29.10.2019
|
erstellt am: 24. Apr. 2022 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für dias
|