| |
| KISTERS 3DViewStation: Mit Modellbasiertem Design zum Modellbasierten Unternehmen , eine Pressemitteilung
|
Autor
|
Thema: Punkte in Catia importieren (15461 mal gelesen)
|
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 07. Mai. 2009 10:18 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe ein, für mich grosses Problem. Zunächst erstmal die Info: ich habe keine Ahnung von Makro-Programmierung. Trotzdem soll ich die Punkte aus der nebenstehenden Datei in Catia V5 R16 importieren. Das dise mit einem Makro passieren soll, ist mir schon gesagt worden. Nur wie stelle ich das an? Bitte helft mir. Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001
|
erstellt am: 07. Mai. 2009 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
|
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 07. Mai. 2009 10:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe hier im Forum schon nach Makros gesucht und auch welche gefunden. Nur das Problem ist das Dateiformat welches ich aus einer anderen Abteilung erhalte (die Ausgabedatei kann nicht anders gespeichert werden). Du siehst: in einer Zeile sind 2 Punkte mit ihren Koordinaten angegeben. Die Makros die ich gefunden habe, funktionieren meines Erachtens nur, wenn ich pro Zeile einen Punkt angebe. Das Problem weiterhin ist, dass ich die Punkte pro Zeile noch mit einer Regelgeraden verbinden muss, um zum Schluss Flächen zu erzeugen. Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 07. Mai. 2009 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo Thomas, erst einmal habe ich noch die ein oder andere Frage vor allem zum Layout der *.txt-Datei. 1.: Ist der Kopf der Datei immer der selbe oder kann er sich von *.txt-Datei zu *.txt-Datei unterscheiden? Das ist wichtig den falls sich der Kopf unterscheidet muss man das Auslesen der *.txt-Datei anders aufbauen 2.: Warum hat ein 1 Element gleich 6 Koordinaten? Kann es sein das 1 Element aus zwei Punkten besteht? der erste Punkt stellt den Punkt das Abdeckblechs dar und der zweite den Punkt der Auflage? 3.: Spricht etwas dagegen die Tabelle in Excel einzulesen und von dort mit den alt bekannten Makro in CATIA zu importieren? ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 07. Mai. 2009 10:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, zu 1.: Ja, er Kopf ist immer derselbe, wobei die Anzahl der Punkte variieren kann. zu 2.: In der Zeile 1 z.B. sind 2 Punkte mit ihren jeweiligen x,y,z-Koordinaten angegeben. Ein oberer Punkt und ein unterer Punkt. Diese sollen dann mit einer Linie verbunden werden. Dies gilt dann für alle Zeilen (oberer mit unteren Punkt verbinden). zu3.: zunächst soll erstmal versucht werden, genau dieses Format zu verwenden, wenn es absolut nicht funktioniert, dann müsste man über eine Excel-Datei gehen. Grüsse, Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 06:51 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hat keiner von Euch eine Ahnung, wie ich mein Problem lösen kann. Ich stehe völlig auf dem Schlauch. Die Punkte die ich bekomme, sind Schaufeln eines Verdichterrades. Mit diesen Punkten sollen dann Flächen erzeugt werden, welche dann zur Berechnung der Strömung herhalten müssen. Mein Chef möchte, dass, wenn neue Räder konzipiert werden müssen, es nur noch "einige wenige" Knopfdrücke bedarf, um das neue Rad zu erzeugen (in Catia. Also, bitte gebt mir doch mal Hinweise zur Problemlösung! Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Mai. 2009 07:30 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Servus Du könntest dieses Makro modifizieren. Dazu die Werte erst ab der n-Zeile auslesen, den Separator auf den Tabulator setzen und die "Do until"-Schleife anzupassen, dass pro Zeile zwei Punkte erstellt werden. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 08. Mai. 2009 07:32 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo Thomas, in dieser Beitrag wir (aus ein anderer Format) ein Punkt pro Zeile importiert: Punkte für Spline aus CSV. Wenn du ein Kommentar vor den AppendSpline setzt und den vom Punkt wegnimmst, hast du nur die Punkte. Das musst du aus zwei Hinsichten ändern: 1)Kopf deiner TXT unberücksichtigt lassen 2)Pro Zeile 2 Punkte, andere Trenner (Leerzeichen anstatt Semikolon) Strategievorschläge für die Änderungen: 1) a) wenn die Anzahl der Zeilen im Kopf gleich ist, am Anfang einfach Zählen b) wenn nicht, dann soweit laufen, bis du die letzte Zeile der Kopf findest, anschließend lesen. 2) Auslesen funktioniert pro Spalte. -Mit LTrim(Text) (schneidet Leerzeichen von Anfang/Links von Text ab). -Den Rest nach Leerzeichen absuchen. -Zeichen dazwischen auswerten. -Und wieder, bis Zeilenende -Wenn du die Daten hast, einfach 2 Punkte erzeugen. Versuche mal den obigen Skript zu ändern. Wenn du nicht weiterkommst, stell deine Probleme hier rein. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 08:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich weiss, dass hört sich jetzt ganz hohl an, ab für mich sind das zunächst einmal "böhmische Dörfer". Ich habe überhaupt keine Ahnung von Makros und von der dort verwendeten Programmiersprache. Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 08. Mai. 2009 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo Thomas, ich hatte gerade ein wenig Zeit und hab dir mal ein solches Makro gebastelt. Dieses Makro ließt deine *.txt-Datei aus (mit der im Beispiel angegebenen Formatierung) und erstellt die Punkte (Start- und Endpunkte für Linien). Anschließend erzeugt es die Linien die du für die Flächen benötigst. Das mit den Flächen kann ich dir mit dem jetzigen Wissensstand nicht bieten, da ich keine Ahnung habe wie das ganze im fertigen Zustand aussehen soll. Das *.zip File im Anhang enthält folgende Dateien: 1. Die *.catvba Datei (diese Bibliothek musst du unter Tools -> Makro -> Makros -> Makrobibiotheken... -> vorhandene Bibiothek hinzufügen) hinzufügen. (dann kannst du die CATMain starten und das Makro läuft) 2. Deine eigene Beispieldatei (*.txt) die ich zum Testen hergenommen habe 3. Ein CATPart das aus dem Scriptlauf entstanden ist (ich denke so soll es aussehen) ANMERKUNG: Das Ganze ist natürlich noch eine Version 1 BETA. D.h hier können noch Fehler auftretten die ich noch nicht abgefangen habe. Damit das ganze stabil und sicher läuft ist bestimmt noch ein wenig Arbeit zu investieren. Du kannst uns ja mal eine kleine Beispieldatei (also *.CATPart) anhängen. Dann kann ich mir das mit den Flächen auch mal anschauen. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 11:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, dass hört sich ja schon sehr gut an. Nur habe ich keine Möglichkeit das "vba"-Format in meine Bibiothek aufzunehmen. Wenn ich Tool-Makro-Makros öffnen, erhalte ich schon eine Liste aller vorhandenen Makros. Von Bibiothek ist nichts zu sehen. Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 11:56 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 08. Mai. 2009 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo, geh mal auf Tools -> Makro und schau ob der Visual Basic Editor (unterster Eintrag im Pulldownmenü) verfügbar ist. Unter Tools -> Macro -> Makros sind die in der aktuellen Bibiothek vorhandenen Makros sichtbar. In der obersten Zeile (rechte Seite) steht Makrobibiotheken. Dort musst du draufklicken und dann siehst du alle Bibiotheken (da kannst du dann eine neue hinzufügen und fertig) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 12:35 <-- editieren / zitieren --> Unities abgeben:
Den Visual Basic Editor ist nicht verfügbar (Schaltfläche ist nicht selectierbar). Ich habe eine neue Bibiothek erzeugt, nur wie kann ich jetzt das Makro von Dir ausführen (catvba-Format). Kann nur vbs-Scripte starten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 08. Mai. 2009 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo, ok ja wenn das so ist kannst du tatsächlich die *.catvba nicht ausführen (der Visual Baisc Editor wurde nicht mitinstalliert). Sitz gerade nicht an meinem CATIA Rechner den ich hab Mittagspause aber wenn ich wieder da bin bekommst du das Script als *.catScript. In dem Sinne bis gleich ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 12:46 <-- editieren / zitieren --> Unities abgeben:
So, dann werde ich mal warten und freue mich schon darauf . Gleich dann noch mal eine Frage: wenn ich dann das Makro starte, ist es möglich, das eine Abfrage kommt, aus welcher Datei ich die Punkte einlesen möchte? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 08. Mai. 2009 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo, so war doch ein wenig mehr Aufwand. Ich hatte nicht beachtet, das CATScripte keine Collection als Deklaration kennen Aber ich habe es nun komplett auf ein CATScript umgebaut. Der Anhang ist nochmal der selbe bis auf die *.catscript-Datei die du halt zu deiner Bibiothek hinzufügne musst. Die Dateiabfrage kommt selbverständlich vor. Man will ja ein anwenderfreundliches Makro haben Eine Frage hätte ich noch (die zu einem Problem führen könnte): Kann es sein, das das Makro mehrmals im selben CATPart ausgeführt wird und zwischendurch die Tabelle geändert wird? Das ist nämlich dann schwerer zu realisieren, den dann musst du dir eine Updateroutine schreiben In dem Sinne viel Spass beim rumprobieren mit dem Script Feedback ist wie immer gewünscht ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 08. Mai. 2009 13:40 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 08. Mai. 2009 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hi, hast du es mal mit der Beispieldatei versucht? Wenn ja dann kann es sein das ich ev. eine nicht ganz aktuelle Version gespeichert habe. Ansonsten pack mal die *.txt Datei und die *.catscript-Datei und häng sie hier nochmal an.
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 11. Mai. 2009 07:17 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 11. Mai. 2009 07:42 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Guten Morgen Thomas, also das war wie gesagt nur ein veralterter Code den ich dir gegeben habe . Im Anhang ist der aktuelle Code + ein Bild was ich am Code geändert habe. Jetzt sollte das Teil stabil laufen. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
as-tom Mitglied techn. Zeichner
Beiträge: 117 Registriert: 19.01.2006 Catia V5 R18
|
erstellt am: 11. Mai. 2009 08:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, das Makro läuft jetzt auch bei mir. Und ich habe es auch mit der "richtigen Datei" (sind mehr als die paar Punkt in der txt-Datei) zum Laufen bekommen. Klasse Jetzt habe ich Dir mal eine Datei angehängt, die ich so bekomme von der Entwicklung der Räder (nur die Anzahl stimmt wieder nicht). Das Format sieht so aus. Kann man Dein Makro auch so umschreiben, dass es auch damit funktioniert? Zur Erläuterung: es ist einmal die Saugseite der Schaufel und eimal die Druckseite. Gruss, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 11. Mai. 2009 19:01 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
Hallo Thomas, ich werde mich morgen ransetzen. Sollte kein Problem sein das Script auf die neuen Bedüftnisse anzupassen
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gabati2000 Mitglied ingenieur
Beiträge: 1 Registriert: 10.05.2014
|
erstellt am: 10. Mai. 2014 20:41 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
wer kann mir mit vollständiung dieses Macros helfen. Der Macro soll eine Leitung in catia bilden.Der Verlauf der Leitungen ausreichend gut mit einer „Spline“ innerhalb der CATIA GSD(Generative Shape Design)-Workbench dargestellt werden kann. Der spline soll durch die punkte,die in der Excel Tabelle eingebeben sind (s.unten), definiert werden. Raduis der Leitung ist user-input. Vielen Dank für jede Hilfe Gade Mein Excelfile-inhalt name: pipeline_AB Radius[mm]: 1 X [mm] Y [mm] Z [mm] 1440 -712 488 1387 -715.5 455 1269 -742 467 1310 -715.5 467.2 1155 -704 600 mein code: Sub CATMain() 'Start CATIA and add an Open body to the document 'Start CATIA and add an Open body to the document 'Start_CATIA Not needed because you are in process with CATIA. Dim MyPartDocument As PartDocument Dim MyPart As Part Dim PointGeoSet As HybridBody Set MyPartDocument = CATIA.Documents.Add("Part") Set MyPart = MyPartDocument.Part Set PointGeoSet = MyPart.HybridBodies.Add() PointGeoSet.Name = "MyPoints" 'Excel fie reading Const ForReading = 1 Const FileName = "User_List.csv" 'Variabls declaring Dim FSO , File, PointCoornate Dim TextLile, TextLile1 , TextLile2 , TextLile3 Dim Counter1, Counter2, Counter3, i Dim x As Double Dim y As Double Dim z As Double 'Object Creation Set FSO = FSO.OpenTextFile(FileName, ForReading, False) Counter1 = 0 Counter2 = 0 Counter3 = 0 'File til the End reading While not File.AtEndOfStream 'first and second lines If Counter1 = 0 then TextLine1 = File.Readline() If Counter2 = 0 then TextLine2 = File.Readline() If Counter3 = 0 then TextLine3 = File.Readline() 'Read the rest of the file (points coordinates) TextLine = FileReadline() 'split the value and save it in array PointCoornate = Split(TextLine,";") Msg PointCoornate(0) & ";" & PointCoornate(1) & ";" PointCoornate(2) x = PointCoornate(0) y = PointCoornate(1) z = PointCoornate(2) i = 1 CreateZYXPoint MyPart, PointGeoSet,x,y,z,cstr(i) i = i + 1 Counter1 = Counter1 + 1 Counter2 = Counter2 + 1 Wend 'Close the file File.Colse MyPart.Update End Sub Sub CreateXYZPoint(TargetPart As Part, TargetGeometricalSet As HybridBody, _ Xmm As Double, Ymm As Double, Zmm As Double, _ PointCount As String) Dim HSFactory As HybridShapeFactory Dim NewPoint As Point 'get the factory Set HSFactory = TargetPart.HybridShapeFactory 'create the point with the factory Set NewPoint = HSFactory.AddNewPointCoord(Xmm, Ymm, Zmm) 'Append the point to the geometrical set TargetGeometricalSet.AppendHybridShape NewPoint 'rename the point NewPoint.Name = "Point." & PointCount End Sub ------------------ I like Catia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 13. Mai. 2014 07:59 <-- editieren / zitieren --> Unities abgeben: Nur für as-tom
|