| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Olgun Celik: Entwirft hochwertige Fahrzeugfedern mit ZW3D |
Autor
|
Thema: BOM Export (480 / mal gelesen)
|
Concierge Mitglied
Beiträge: 13 Registriert: 23.01.2023
|
erstellt am: 23. Jan. 2023 14:54 <-- editieren / zitieren --> Unities abgeben:
Hey Leute, ich habe mal wieder ein Anliegen. Ich möchte gern meine Benutzerdefinierte Stückliste exportieren (nach . accdb). Das Funktioniert auch mit dem Standardbefehl, allerdings exportiert er nur die Standardliste und nicht die mit meinen Benutzerdefinierten Spalten. Zusammengefasst hätte ich gern: Die Strukturierte Stückliste mit allen Ebenen die genau so aussieht wie im Inventor. Kann mir da einer Helfen welche Befehle ich da brauche... VG Maik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 23. Jan. 2023 20:28 <-- editieren / zitieren --> Unities abgeben: Nur für Concierge
Hallo Wäre mir neu das Inventor nach .accdb exportiert. In eine Exceltabelle geht's einfach mit: Code:
Public Sub BOMExport() Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument Dim oBOM As BOM Set oBOM = oDoc.ComponentDefinition.BOM oBOM.StructuredViewFirstLevelOnly = False oBOM.StructuredViewEnabled = True Dim oStructuredBOMView As BOMView Set oStructuredBOMView = oBOM.BOMViews.Item("Strukturiert") oStructuredBOMView.Export "C:\temp\BOM-StructuredAllLevels.xls", kMicrosoftExcelFormat End Sub
Ansonsten kenne ich nur CSV oder TXT als Exportformat. Die Anpassung der Stückliste muss bereits durch den Benutzer erfolgt sein. Andernfalls kannst du nur versuchen die Anpassung als XML-Datei einmal zu exportieren und über die ImportBOMCustomization-Methode des BOM Objektes in der jeweiligen Baugruppe vor dem Export zu laden.
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Concierge Mitglied
Beiträge: 13 Registriert: 23.01.2023
|
erstellt am: 06. Mrz. 2023 11:13 <-- editieren / zitieren --> Unities abgeben:
Hallöchen ich möchte gern vor dem Export abfragen ob die Datei schon existiert und ich frage ob diese ersetzt werden soll, welches ich so gemacht habe: If Not System.IO.File.Exists(BOMName) Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) Else If System.IO.File.Exists(BOMName) Then MessageBox.Show("Ersetzen???", "Datei existiert bereits...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) End If If vbYes Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) If vbNo Then End If End If End If Wenn ich Nein bestätige soll er ja abbrechen bzw. beenden. Er überschreibt die Datei aber trotzdem. Habe ich noch etwas vergessen oder muss ich die Abfrage anders gestalten? BTW, gibt es eine Liste mit den ganzen Befehlen und Erklärungen dazu? Da ich Anfänger bin wäre sowas ziemlich hilfreich. Mfg Maik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 06. Mrz. 2023 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für Concierge
Moin Wo soll man da anfangen? Du speicherst den Rückgabewert deiner Abfrage nirgends. Deine nachfolgenden IF-Abfragen evaluieren immer zu True. Wurde da Code entfernt? Die Prüfung der MessageBox Antworten ergibt irgendwie auch nur innerhalb des True-Zweiges von If FileExists Sinn... Schreib dir Debuggermeldungen in die verschiedenen Zweige, damit du nachverfolgen kannst wann was passiert. Oder debugge über VisualStudio oder portiere den Codeauszug nach VBA und nutze im Inventor VBA-Editor den vorhandenen Debugger. P.S.: Code-Tags wären schön. Code:
If Not System.IO.File.Exists(BOMName) Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) Else Dim Result as DialogResult = MessageBox.Show("Ersetzen???", "Datei existiert bereits...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) End If End If
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 702 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 06. Mrz. 2023 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für Concierge
Da passen die die If nicht, außerdem muss die Antwort der Messagebox gemerkt werden (in eine Variable schreiben). So sollte es gehen (ohne es ausprobiert zu haben): Code: If Not System.IO.File.Exists(BOMName) Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) Else 'File existiert ret = MessageBox.Show("Ersetzen???", "Datei existiert bereits...", MessageBoxButtons.YesNo,MessageBoxIcon.Question) If vbYes = ret Then ThisBOM.Export("Structured", BOMName, kMicrosoftAccessFormat) Else 'nein oder abgebrochen 'nix tun End If End If
------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|