| |
| CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min |
| |
| Dassault PLM Integrationen mit der 3DViewStation, eine Pressemitteilung
|
Autor
|
Thema: Stückliste mit Makro speichern (3876 mal gelesen)
|
JohannesWW Mitglied
Beiträge: 158 Registriert: 09.10.2008 CATIA v5 R16 Intel Core Duo 2,5Ghz 2 GB RAM Windows XP SP3
|
erstellt am: 24. Aug. 2010 12:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, mit folgendem Makro definieren wir unser Stücklistenformat und spreichern anschließend die Stückliste als EXCEL ab. Language="VBSCRIPT" Sub CATMain() Dim productDocument1 As Document Set productDocument1 = CATIA.ActiveDocument Dim product1 As Product Set product1 = productDocument1.Product Dim assemblyConvertor1 As CATBaseDispatch Set assemblyConvertor1 = product1.GetItem("BillOfMaterial") Dim arrayOfVariantOfBSTR1(9) arrayOfVariantOfBSTR1(0) = "Nummer" arrayOfVariantOfBSTR1(1) = "Menge" arrayOfVariantOfBSTR1(2) = "Teilenummer" arrayOfVariantOfBSTR1(3) = "Produktbeschreibung" arrayOfVariantOfBSTR1(4) = "Hersteller" arrayOfVariantOfBSTR1(5) = "Werkstoff" arrayOfVariantOfBSTR1(6) = "Abmessung" arrayOfVariantOfBSTR1(7) = "Type" arrayOfVariantOfBSTR1(8) = "DIN" arrayOfVariantOfBSTR1(9) = "Typ" assemblyConvertor1.SetCurrentFormat arrayOfVariantOfBSTR1 Dim Speicherziel As String Speicherziel = CATIA.FileSelectionBox("Sichern unter", "*.xls", CatFileSelectionModeSave) If Right(Speicherziel, 3) = "xls" Then assemblyConvertor1.[Print] "XLS", Speicherziel, product1 Else assemblyConvertor1.[Print] "XLS", Speicherziel & ".xls", product1 End If End Sub Ich würde gerne auch automatisch abspeichern, wobei der Dateinamen aus der Teilenummer und der Beschreibung des Produkts bestehen soll. Wie kann ich Teilenummer und Beschreibung abfragen? Gruß Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Aug. 2010 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
Servus Versuch es mal mit: Code: dim FullPath as String FullPath = productDocument1.Path & "\" & product1.PartNumber & ".xls" assemblyConvertor1.[Print] "XLS", FullPath, product1
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 24. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JohannesWW Mitglied
Beiträge: 158 Registriert: 09.10.2008 CATIA v5 R16 Intel Core Duo 2,5Ghz 2 GB RAM Windows XP SP3
|
erstellt am: 25. Aug. 2010 10:52 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 25. Aug. 2010 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
Servus Die Beschreibung bekommst du über: Code: product1.DescriptionRef
Ich weiß aber nicht was passiert wenn ein Zeilenwechsel bzw ein Sonderzeichen in der Beschreibung vorkommt (ungültiges Zeichen im Dateinamen?).Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 25. Aug. 2010 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
|
Sergei1985 Mitglied Konstrukteur
Beiträge: 13 Registriert: 27.03.2024 Catia V5 R24
|
erstellt am: 28. Mrz. 2024 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
Hallo zusammen, ich habe ein ähnliches Problem mit dem Speichern. Die Stückliste immer mit dem selben Namen abzuspeichern geht. Sub CATMain() 'Dim MyProduct As Product Set MyProduct = CATIA.ActiveDocument.Product 'Dim catFileTypeText As CatFileType MyProduct.ExtractBOM catFileTypehtml , "W:\000000_Transfer\CAD-Miclas X\BOM.html" End Sub Jetzt möchte ich gerne die Teilenummer und die Nomenklatur als Dateinamen haben. Name1 = Produkt.PartNumber Name2 = Produkt.Nomenclature Kann ich das ohne großen aufwand mit in den Code einbauen. Ich bin was VBA angeht leider nicht ganz auf der Höhe. Bis jetzt habe ich mit logischem hin und her kopieren helfen können... Vielen Dank im voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 744 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 28. Mrz. 2024 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
Hallo, Code:
Dim BomName as String BomName = Product.PartNumber & "_" &Product.Nomenclature & ".html" MyProduct.ExtractBOM catFileTypehtml , "W:\000000_Transfer\CAD-Miclas\x\" & BomName
Gruß Randle ------------------ Planung ersetzt Fehler durch Irrtum! [Diese Nachricht wurde von Randle am 28. Mrz. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sergei1985 Mitglied Konstrukteur
Beiträge: 13 Registriert: 27.03.2024 Catia V5 R24
|
erstellt am: 28. Mrz. 2024 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
|
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Mrz. 2024 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
Servus MyProduct ist bei dir das Product-Object Code: BomName = MyProduct.PartNumber & "_" & MyProduct.Nomenclature & ".html"
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 744 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 28. Mrz. 2024 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
|
Sergei1985 Mitglied Konstrukteur
Beiträge: 13 Registriert: 27.03.2024 Catia V5 R24
|
erstellt am: 28. Mrz. 2024 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für JohannesWW
|