| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation - Der Schlüssel zur Einsparung von CAD-Lizenzen, eine Pressemitteilung
|
Autor
|
Thema: Vermessungen zu Excel Tabelle exportieren (900 mal gelesen)
|
esho Mitglied Automotive Automatisierung

 Beiträge: 22 Registriert: 12.04.2022 Catia V5 R29
|
erstellt am: 12. Apr. 2022 11:06 <-- editieren / zitieren --> Unities abgeben:         
Servus, I need to import specific defined measurements from a tree to a excel sheet. Ich möchte die Vermessungen von den Baum Element 'Measure' zu ein Excel Sheet exportieren. Anbei findet man die Screenshots mit meine Fragen: Photo - 1: Screenshot auf automatisch ausgewählte Items in Baum mit den gekreiste Werte, die ich zu Excel exportieren will. Photo - 2: der zweite Screenshot ist den aktuelle Code in CatiaScript.
Photo - 3: Screenshot von Excel nach Code Ausführen.
Photo - 4: wie den Excel Tabelle ausschauen sollte.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
esho Mitglied Automotive Automatisierung

 Beiträge: 22 Registriert: 12.04.2022 Catia V5 R29
|
erstellt am: 12. Apr. 2022 11:06 <-- editieren / zitieren --> Unities abgeben:         
|
Lionel Hutz Moderator
 
 Beiträge: 497 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 12. Apr. 2022 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für esho
|
esho Mitglied Automotive Automatisierung

 Beiträge: 22 Registriert: 12.04.2022 Catia V5 R29
|
erstellt am: 12. Apr. 2022 13:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo Lionel, Danke für die Rückmeldung. Der Code findet man in Photo-2. Sub CATMain() 'Open Excel file set objexcel=CreateObject("Excel.Application") objexcel.Visible=True Set objWorkbook= objexcel.workbooks.Add() set objsheet1=objWorkbook.sheets.item(1) 'Selection of Measure values Dim oSel As Selection Dim Mylen as Length Dim MySplit Dim s As String
Set oSel = CATIA.ActiveDocument.Selection oSel.Search "CATDMUSearchInformation.DMUMeasureType,all" 'Assigning Titles to Columns For x=1 to oSel.count objsheet1.cells (1,"A") = "Name" objsheet1.cells (1,"B") = "Values" 'Assigning Names and Values to Excel Cells objsheet1.cells(1+x,1)=oSel.item(x).name objsheet1.cells(1+x,2)=oSel.item(x).Value.Name Next 'x End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Apr. 2022 14:11 <-- editieren / zitieren --> Unities abgeben:          Nur für esho
Servus Hier ein Beispiel wie man von der Messung auf die Parameter darunter kommt: Code: Set oRootParameters = CATIA.ActiveDocument.Product.Parameters Set oSel = CATIA.ActiveDocument.Selection oSel.Search "CATDMUSearchInformation.DMUMeasureType,all"for i = 1 to oSel.Count2 Set oMeasure = oSel.Item2(i).Value Set oMeasureParameters = oRootParameters.SubList(oMeasure,true) for each oParameter in oMeasureParameters MsgBox oParameter.Name & ": " & oParameter.ValueAsString 'oder nur .Value ohne die Einheit next next
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
esho Mitglied Automotive Automatisierung

 Beiträge: 22 Registriert: 12.04.2022 Catia V5 R29
|
erstellt am: 12. Apr. 2022 17:19 <-- editieren / zitieren --> Unities abgeben:         
Servus Bernd, Ich habe mit ihren Code versucht. Code: Sub CATMain() 'Open Excel file set objexcel=CreateObject("Excel.Application") objexcel.Visible=True Set objWorkbook= objexcel.workbooks.Add() set objsheet1=objWorkbook.sheets.item(1) 'Selection of Measure values Dim oSel As Selection Dim Mylen as Length Dim MySplit Dim s As String Set oSel = CATIA.ActiveDocument.Selection oSel.Search "CATDMUSearchInformation.DMUMeasureType,all" Set oRootParameters = CATIA.ActiveDocument.Product.Parameters For i=1 to oSel.count objsheet1.cells (1,"A") = "Name" objsheet1.cells (1,"B") = "Values" Set oMeasure = oSel.Item2(i).Value Set oMeasureParameters = oRootParameters.SubList(oMeasure,true) for each oParameter in oMeasureParameters objsheet1.cells(i,1)=oParameter.Name objsheet1.cells(i,2)=oParameter.ValueAsString next Next 'i End Sub XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Aber anscheinend trägt es nur die letze Werte von ein Parameter zu ein Zelle. hier ist ein Photo auf den Baum und Excel List nach Ausführen: (siehe Rechts) Überingens wie kann man bestimmte Parameters bzw. nur den 'Length' von den Liste auswählen und entsprechend in die Liste einlesen lassen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
esho Mitglied Automotive Automatisierung

 Beiträge: 22 Registriert: 12.04.2022 Catia V5 R29
|
erstellt am: 12. Apr. 2022 17:23 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Apr. 2022 20:58 <-- editieren / zitieren --> Unities abgeben:          Nur für esho
Servus Zitat: Aber anscheinend trägt es nur die letze Werte von ein Parameter zu ein Zelle.
Falsch, dein i bleibt während der for-each-Schleife konstant Zitat: Überingens wie kann man bestimmte Parameters
du könntest ja den Namen des Parameters auswerten Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |