| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: punkte kugeln (1680 mal gelesen)
|
renebus Mitglied cad cam user
Beiträge: 7 Registriert: 13.10.2004
|
erstellt am: 13. Okt. 2004 23:06 <-- editieren / zitieren --> Unities abgeben:
|
JoeG Mitglied Systemadmin NX und Autocad
Beiträge: 122 Registriert: 18.10.2002 Autocad 2000 und Win2000
|
erstellt am: 14. Okt. 2004 07:17 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Hallo renebus Wenn das eine einmalige Sache ist versuch es mahl so, ansonsten wirst du um ein kleines VBA-Programm nicht herumkommen. Ein Befehlsscript erzeigen: Die Textdatei hab ich in Excel geöffnet da kann man die restlichen Befehle gut ergänzen. Die Zeile könnte so aussehen: Kugel 10,15,1 10 Das ganze dann als DSV-Datei speichern und in *.scr umbenennen. Mit einem Texteditor die Trennzeichen gegen ein LEER ersetzen und in Autocad laden. In VBA ist das auch nicht allzu aufwendig meld dich einfach wenn es Probleme gibt. Joe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Die Phönizier haben das Geld erfunden - aber warum so wenig? (Johann Nepomuk Nestroy)
|
erstellt am: 15. Okt. 2004 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 15. Okt. 2004 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
|
JoeG Mitglied Systemadmin NX und Autocad
Beiträge: 122 Registriert: 18.10.2002 Autocad 2000 und Win2000
|
erstellt am: 15. Okt. 2004 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Kleiner Fehler >Was ist denn eine DSV-Datei? Startrek hat recht es war *.CSV gemeint >Un warum der Umweg? Ich kenne leider kein Programm mit dem man eine Befehlszeile für so viele Punkte halbwegs schnell zusammenstellen kann, ausgenommen Excel.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Die Phönizier haben das Geld erfunden - aber warum so wenig? (Johann Nepomuk Nestroy)
|
erstellt am: 15. Okt. 2004 12:04 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Dieses Werkzeug heisst wie immer in solchen Fällen "Regular Expressions". Angenommen, die Punkte liegen so in der Datei vor: 7402,30 9741,01 5125,01 1653,28 2926,08 6988,87 3550,50 5836,41 3973,14 0080,09 6875,52 5356,89 9552,96 6683,10 2921,25 1775,11 6877,19 2041,25 2943,24 Dann kann man mit einem kleinen RE-Ausdruck das hier draus machen: _SPHERE 7402,30 10 _SPHERE 9741,01 10 _SPHERE 5125,01 10 _SPHERE 1653,28 10 _SPHERE 2926,08 10 _SPHERE 6988,87 10 _SPHERE 3550,50 10 _SPHERE 5836,41 10 _SPHERE 3973,14 10 _SPHERE 0080,09 10 _SPHERE 6875,52 10 _SPHERE 5356,89 10 _SPHERE 9552,96 10 _SPHERE 6683,10 10 _SPHERE 2921,25 10 _SPHERE 1775,11 10 _SPHERE 6877,19 10 _SPHERE 2041,25 10 _SPHERE 2943,24 10 Der RE-Ausdruck ist das hier: s/(\d*,\d*)/_SPHERE \1 10/; Das kannst du mit jedem RE-fähigen Texteditor bewerkstelligen. Hier mal ein Beispiel für ein kleines perl-script, das dir das erledigt: Code:
use strict;my $radius = 10; my $infile = "data.txt"; my $outfile = "spheres.scr"; my $script; open(FILE,"< $infile") or die "Kann Datei $infile nicht zum Lesen öffnen"; while(<FILE> ){ s/(\d*,\d*)/_SPHERE \1 $radius/; $script .= $_; } close FILE; open(FILE, ">$outfile") or die "Kann Datei $outfile nicht zum Schreiben öffnen"; print FILE $script; close FILE;
Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 15. Okt. 2004 20:48 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Hm, Axel, wie immer Nagel und Kopf und so, brillant :-) mal nur so ein Gedankengang am Freitagabendrande ... die Sache mit den 'personal Editoren' ist ja eine Endlosdiskussion an sich schon wert, da steht wohl jeder auf was andres ;-) Jedenfalls wärs in diesem und andren Zusammenhängen vielleicht sinnvoll mal zusammenzutragen, welche FreewareEditoren überhaupt dieses 'teufelswerkzeug' RegExp unterstützen ? ;-) lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
renebus Mitglied cad cam user
Beiträge: 7 Registriert: 13.10.2004
|
erstellt am: 16. Okt. 2004 13:24 <-- editieren / zitieren --> Unities abgeben:
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Die Phönizier haben das Geld erfunden - aber warum so wenig? (Johann Nepomuk Nestroy)
|
erstellt am: 17. Okt. 2004 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Hi Nancy! > zusammenzutragen, welche FreewareEditoren überhaupt dieses > 'teufelswerkzeug' RegExp unterstützen Es gibt Listen von Editoren, wie z.B. diese hier: http://www.webattack.com/freeware/webpublish/fwtext.shtml Aber so genau geht das alles nicht daraus hervor. Bei vielen Editoren heisst es zwar, dass sie RE unterstützen, aber sie tun das vielleicht mit einer völlig eigenen Syntax. Als Beispiel fällt mir SciTE ein, ein interessanter Editor. Aber an dessen RE-Syntax könnte ich mich nicht gewöhnen. RE sind nicht gleich RE, es gibt die klassischen UNIX-RE, POSIX-Varianten und schließlich PCRE, die komplexeste Ausführung. RE sind nun mal eine extrem komplizierte Sache. Mir fällt es da schwer, mich umzugewöhnen. Da ich viel in Perl programmiere, würde ich mir auch nichts mehr anschaffen, was nicht Perl-kompatibel ist. Ich habe schon das Problem, dass mein Texteditor, den ich seit über einem Dutzend Jahre benutze (MultiEdit, keine Freeware), sein eigenes Süppchen kocht. Das führt dazu, dass ich innerhalb des Editors nur noch ganz einfache Ausdrücke verwende. Wird es komplexer, speichere ich die Datei, schreibe ein perl-Skript wie oben und öffne die veränderte Datei wieder. Ich habe schon Fälle gehabt, wo für einen einzigen RE-Ausdruck ein Arbeitstag draufgegangen ist - ich bin da auch nicht der Weltmeister;-) Müsste ich dann noch mit verschiedenen Versionen und Syntax-Unterschieden hantieren, würde es nochmal so lang dauern. Auf der Suche nach einem Free-Editor würde ich sagen: Fast alles, was aus der Unix-Welt kommt, beherrscht RE in irgendeiner Form - allen voran natürlich emacs. Bei reinen Windows-Programmen steigt die Wahrscheinlichkeit, dass sich die Programmierer 'irgendetwas' ausgedacht haben für das Suchen und Ersetzen, wie z.B. in MS Word. Insgesamt wird - glaube ich - das Potenzial von RE von den AutoCADlern nicht wahrgenommen (man kann damit z.B. unglaublich schnell DXF-Dateien reparieren/modifizieren oder wie oben Batchdateien und Scripte erzeugen). Diese Seite hier könnte auch von Interesse sein: http://en.wikipedia.org/wiki/Regular_expressions Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 18. Okt. 2004 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
ich mach das meistens mit UltraEdit, da erreiche ich axels script mit genau 2 mausclicks txt-daei öffnen an die erste stelle in der ersten zeile stellen menü:spalte-> spalte einfügen -> text _SPHERE[blank] eingeben -> erste spalte wurde erstellt. an die letzte stelle stellen und das gleiche mit [blank]10 machen
------------------ WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Die Phönizier haben das Geld erfunden - aber warum so wenig? (Johann Nepomuk Nestroy)
|
erstellt am: 19. Okt. 2004 22:53 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Hi fuchsi, es bleibt aber die Frage: geht es über RE in UltraEdit, oder ist das einfach nur irgendein 'Search & Replace'? Das hat ja jede Textverarbeitung im weiteren Sinne, selbst Word und Notepad können das. Aber versuch mal, mit dem S&R von Word einen VBA-Code so einzufärben, wie er im VBA-Editor aussieht, oder die Validität einer email-Adresse zu testen. Ich weiss ja, ich mache hier Werbung für RE, als würde mich einer bezahlen. Aber es so traurig, wenn man feststelt: Das letzte Script hat mein Editor noch geschafft, aber dieses... Was kann denn UltraEdit? Man hört viel davon, aber ich kenne ihn nicht wirklich. Gruß, Axel Strube-Zettler Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 19. Okt. 2004 23:44 <-- editieren / zitieren --> Unities abgeben: Nur für renebus
Zu UE kann ich nich viel sagen ..., ausser es ist keine Freeware, hattes mal kurz in der Demo angetestet - ist aber schon ne Ecke her - hatte sich doch gleich auch hartnäckig beim Anschauen des Quelltextes von *.html Seiten bemerkbar gemacht ;-) Ob UE RegExp kann, kann ich garnich sagen, einfach zu lange her und damals nicht getestet, weil keinen Plan gehabt von RE und sowieso überhaupt keinen Plan ;-) Wegen des 'zusammentragens' silly me [hätt mir den andren Thread nochmal auf der Zunge zergehen lassen sollen], da haste natürlich recht, ohne einen 'global_pauschal Standard' macht das wohl weniger Sinn ;-( gute Nacht ;-) lg Nancy -- Every tool carries with it the spirit by which it was created. (Werner Heisenberg)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|