| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | Schnell, effizient und günstig: Mit der Kisters 3DViewStation 3D Arbeits- und Reparaturanleitungen einfach erstellen und pflegen, eine Pressemitteilung
|
Autor
|
Thema: Exel 3D-Punkte nach Catia V5 einlesen (2863 mal gelesen)
|
ManniBo Mitglied Konstrukteur

 Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 10. Mrz. 2010 16:40 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ist es möglich das Makro so zu ändern das es die Dateiauswahl öffnet und nicht direkt auf ("d:\punkte.xls") zugreift ? Ich würde den Excelsheet gerne ohne genaue Pfadangabe und Namen auswählen Set Excel = CreateObject("Excel.Application") 'Excel starten Excel.Visible = True Set WB = Excel.Workbooks.Open("d:\punkte.xls") 'Arbeitsmappe öffnen Set WS = WB.Worksheets.Item(1) 'Tabelle holen Für eine Hilfe wäre ich sehr Dankbar. Mit freundlichen Grüßen Manni 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: 10. Mrz. 2010 18:19 <-- editieren / zitieren --> Unities abgeben:          Nur für ManniBo
|
V5Playaz Mitglied Dipl.-Ing (BA)
 
 Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 10. Mrz. 2010 21:31 <-- editieren / zitieren --> Unities abgeben:          Nur für ManniBo
|
ManniBo Mitglied Konstrukteur

 Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 11. Mrz. 2010 13:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo Dominik, ich habe erst mit diesem Thema begonnen und habe jetzt ein Problem. In Excel (Makro) habe ich das schon gemacht aber mit CATIA noch nicht. Das CATIA-Makro läuft super, es ist mir aber zu unflexibel. Das ganze läuft als CATScript. Ich finde jedoch nichts zu "FileSelectionBox". Das Aufzeichnen des Makros zum öffnen der Dateiauswahl funzt nicht. Hast Du vielleicht ein kleines Makro ? Mit freundlichen Grüßen Manni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur

 Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 11. Mrz. 2010 13:45 <-- editieren / zitieren --> Unities abgeben:          Nur für ManniBo
Hallo Manni wegen dialog öffnen Code: myTabelle = CATIA.FileSelectionBox("FileOpen", "*.xlsx;*.xls", CatFileSelectionModeOpen) If myTabelle <> "" Then DEIN codeEnd If
somit ist mytabelle deine Punktedatei Grüsse AndyEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManniBo Mitglied Konstrukteur

 Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 11. Mrz. 2010 14:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo Andy, sorry aber ich bring das Makro mit deinem Vorschlag nicht zum laufen. Kannst Du mir bitte nochmals kurz helfen. Habe das Makro aus dem Forum leicht angepasst. Sub CATMain() 'Set CATIA = GetObject("", "CATIA.Application") ' wird nur benötigt, weil ich Excel als Entwicklungssumgebung benutze Dim Excel As Application Dim WB As Workbook Dim WS As Worksheet Set Excel = CreateObject("Excel.Application") ' Excel starten Excel.Visible = True Set WB = Excel.Workbooks.Open("d:\punkte.xls") ' Arbeitsmappe öffnen Set WS = WB.Worksheets.Item(1) ' Tabelle holen Set Part1 = CATIA.ActiveDocument.Part ' aktives part holen Set partDocument1 = CATIA.ActiveDocument Set HybShapeFac = Part1.HybridShapeFactory 'factory zu erstellen der Punkte Set HKoerper = CATIA.ActiveDocument.Part.HybridBodies 'hauptkörper holen zum einfügen der Punkte Set measurement_points = HKoerper.Add 'Geoset einfügen measurement_points.Name = "Messpunkte" 'benennen nRow = 2 'ab Zeile 2 Zeile der Tabelle einlesen Do 'lesen bis EOF ' Spalte 1 = Name // Spalte 2,3,4 = Werte Element = (WS.Cells(nRow, 1).Value) XCoord = CDbl(WS.Cells(nRow, 2).Value) YCoord = CDbl(WS.Cells(nRow, 3).Value) ZCoord = CDbl(WS.Cells(nRow, 4).Value) Set hybridShapeFactory1 = Part1.HybridShapeFactory Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(XCoord, YCoord, ZCoord) measurement_points.AppendHybridShape hybridShapePointCoord1 ' Punkt einfügen hybridShapePointCoord1.Name = Element ' Punkt benennen nRow = nRow + 1 ' Zeile hochzählen Loop While (WS.Cells(nRow, 2).Text <> "") ' Schleife verlassen, wenn Zelle leer ist Part1.Update ' Part aktualisieren Excel.Quit ' Excel schliessen End Sub Mit freundlichen Grüßen Manni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur

 Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 11. Mrz. 2010 14:25 <-- editieren / zitieren --> Unities abgeben:          Nur für ManniBo
Hallo Manni auf die schnelle mal dein script Code: Sub CATMain() 'Set CATIA = GetObject("", "CATIA.Application") ' wird nur benötigt, weil ich Excel als Entwicklungssumgebung benutze Dim Excel As Application Dim WB As Workbook Dim WS As Worksheet dim mytabelle as String myTabelle = CATIA.FileSelectionBox("FileOpen", "*.xlsx;*.xls", CatFileSelectionModeOpen) If myTabelle <> "" Then Set Excel = CreateObject("Excel.Application") ' Excel starten Excel.Visible = True Set WB = Excel.Workbooks.Open(mytabelle) ' Arbeitsmappe öffnen Set WS = WB.Worksheets.Item(1) ' Tabelle holen Set Part1 = CATIA.ActiveDocument.Part ' aktives part holen Set partDocument1 = CATIA.ActiveDocument Set HybShapeFac = Part1.HybridShapeFactory 'factory zu erstellen der Punkte Set HKoerper = CATIA.ActiveDocument.Part.HybridBodies 'hauptkörper holen zum einfügen der Punkte Set measurement_points = HKoerper.Add 'Geoset einfügen measurement_points.Name = "Messpunkte" 'benennen nRow = 2 'ab Zeile 2 Zeile der Tabelle einlesen Do 'lesen bis EOF ' Spalte 1 = Name // Spalte 2,3,4 = Werte Element = (WS.Cells(nRow, 1).Value) XCoord = CDbl(WS.Cells(nRow, 2).Value) YCoord = CDbl(WS.Cells(nRow, 3).Value) ZCoord = CDbl(WS.Cells(nRow, 4).Value) Set hybridShapeFactory1 = Part1.HybridShapeFactory Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(XCoord, YCoord, ZCoord) measurement_points.AppendHybridShape hybridShapePointCoord1 ' Punkt einfügen hybridShapePointCoord1.Name = Element ' Punkt benennen nRow = nRow + 1 ' Zeile hochzählen Loop While (WS.Cells(nRow, 2).Text <> "") ' Schleife verlassen, wenn Zelle leer ist Part1.Update ' Part aktualisieren Excel.Quit ' Excel schliessen end if End Sub
versuch es mal! Hab es nur bis zum dialog schnell getestet! Grüsse Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManniBo Mitglied Konstrukteur

 Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 11. Mrz. 2010 15:04 <-- editieren / zitieren --> Unities abgeben:         
|