| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Performance Boost für Ihre Konstruktionen mit SOLIDWORKS 2023 |
Autor
|
Thema: API ExcelBOM auslesen (5168 mal gelesen)
|
HarryD Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 597 Registriert: 01.12.2000 Dell Precision T3620, i7-7700; 3,6GHz; 16.0GB RAM; NX12, TC10.1.7.1; NX-Nastran 12, NX-Motion, "Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht verlorengehen, sondern das ewige Leben haben." Die Bibel
|
erstellt am: 03. Mrz. 2005 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, leider habe ich in den alten Beiträgen zu diesem Thema nichts brauchbares bzw. aktuelles mehr gefungen, auch die hompage von SWX gibt nichts her: Ich habe ein Programm(VB6), das mir im Batchbetrieb alle Zeichnungen eines Ordners nach tif konvertiert. Jetzt möchte ich die auf den Zeichnungen vorhandenen Excel-Stücklisten extern speichern (für die AV , der die Stückliste auf der Zeichnung nicht reicht). Von Hand funzt das ja ganz einfach: BOM markieren, speichern unter, Name vergeben, speichern: fertig. Aber in der API-Hilfe konnte ich mir da auch nichts rechtes zusammenreimen. Ton an: "Help, I need somebody! Help, not just anybody!..." Ton aus ------------------ Gruß Harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 03. Mrz. 2005 16:37 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
hallo, eine einfache Lösung dafür scheint es nicht zu geben! Für das BOMTable-Object gibt es keine Save-Methode und DrawingDoc.SaveAs mit vorher markierter BOM geht auch nicht (obwohl es doch das ist, was man per Maus eigentlich macht ) Wie auch immer, von-hinten-durch-die-brust-gedacht hab ich mal was zusammengestrickt - vielleicht kannst Du ja was damit anfangen ... ------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 03. Mrz. 2005 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
HarryD Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 597 Registriert: 01.12.2000
|
erstellt am: 03. Mrz. 2005 17:28 <-- editieren / zitieren --> Unities abgeben:
|
HarryD Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 597 Registriert: 01.12.2000 Dell Precision T3620, i7-7700; 3,6GHz; 16.0GB RAM; NX12, TC10.1.7.1; NX-Nastran 12, NX-Motion, "Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht verlorengehen, sondern das ewige Leben haben." Die Bibel
|
erstellt am: 04. Mrz. 2005 13:55 <-- editieren / zitieren --> Unities abgeben:
Hallo U. Das Makro funzt bei wenigen Stücklistenpositionen hervorragend. Leider stellt sich bei mehr als 10 Zeilen ein Fehler ein mit dem Hinweis, dass der Index ausserhalb des zulässigen Bereichs liegt. (Programm bricht innerhalb der Ausleseschleife ab) Hab dann noch die Größe des Feldes geprüft, aber daran hat es offensichtlich nicht gelegen. Bin gerade etwas ratlos... ------------------ Gruß Harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 04. Mrz. 2005 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
ich hatte es auch nur mit wenigen Positionen getestet ... Der Fehler ist in der Definition der Variablen BOMtemp, dort sind die Dimensionen für Rows und Cols vertauscht, dehalb kommt bei mehr als 15 Zeilen der Fehler, weil die Matrix verkehrtherum beschrieben wird. Richtig muß es lauten: Dim BOMtemp(1 To BOMRowMax, 1 To BOMColMax) As Variant Habs gerade nochmal an 'ner BOM mit 59 Positionen getestet - jetzt gehts! ------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HarryD Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 597 Registriert: 01.12.2000
|
erstellt am: 04. Mrz. 2005 15:41 <-- editieren / zitieren --> Unities abgeben:
Hallo U. gerade hab ich genau dasselbe herausgefunden und wollte es Dir mitteilen. ***freu-freu*** Danke für die investierte Mühe. Deine Vorgehensweise, die einzelnen Zellen auszulesen und in eine neue Tabelle einzufügen ist schon sehr eleganter Workaround ***lobhudel-lobhudel*** ------------------ Gruß Harry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 13. Aug. 2009 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Tut mir leid, wenn ich diesen Thread hier aus der Versenkung hochholen muss! Ich versuche gerade, das Makro von u.clemens und den Schnipsel (Zeichnung zu PDF speichern mit Artikelnummer) von KMassler zusammen zu fügen. Besten Dank nochmal an euch zwei! Ziel soll es sein, unsere Excel-Stücklisten der Baugruppenzeichnungen unter einem bestimmten Pfad und unter einer bestimmten Eigenschaft der Baugruppendatei (Artikelnummer) abzuspeichern. Leider habe ich da so meine Probleme mit! Kann jemand mal ein Auge auf mein Testmakro werfen und mir sagen, wo genau die Säge klemmt? Besten Dank dafür! ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 13. Aug. 2009 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Hi, Also bei mir funzt das Trim nicht, was aber wohl nicht dein Problem ist denke ich. Weiter unten wirds wohl interessanter. bei Pfad kannst du nicht Pfad = "c:\1Arbeitsverzeichnis mit Artikelnummer" schreiben. Weil die Variable genau den Text als Pfad bekommt. Und den Text ... mit Artikelnummer gibt es ja gar nicht(oder doch?). Ansonsten solltest du mal deine + Verwendung überprüfen, für gewöhnlich benutzt man &. (+ ist für Rechenoperationen) ...so funktionierts bei mir dann auch: Pfad = "c:\1Arbeitsverzeichnis" Part.SaveAs2 Pfad & "\" & Artikelnummer & ".pdf", 0, True, False viele Grüße Andy
[Diese Nachricht wurde von Baumjäger am 13. Aug. 2009 editiert.]
[Diese Nachricht wurde von Baumjäger am 13. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 13. Aug. 2009 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Zitat: Original erstellt von Baumjäger: ...so funktionierts bei mir dann:Pfad = "c:\1Arbeitsverzeichnis" Part.SaveAs2 Pfad & "\" & Artikelnummer & ".pdf", 0, True, False ...
Mhm, mit der PDF-Erstellung habe ich ja auch keine Probleme. Das funktioniert alles bestens. Nur möchte ich eben eine Exceltabelle aus der Zeichnung mit dem Namen der Dateieigenschaft "Artikelnummer" in einem bestimmten Ordner exportieren. Das ist mein Problem... ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 14. Aug. 2009 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Moin, Sorry das hab ich nicht ganz richtig verstanden gehabt. Bei mir funktionierte das speichern auch erst als ich die x Zeichen ersetzt habe...aber seid drum. Was ist denn jetzt überhaupt das Hauptproblem? Bei mir öffnet er eine Eceltabelle aber schreibt dort nichts hinein. Bisher hab ich aber auch nicht rausgefunden wieso und weshalb, scheint als ob sich da an der API was geändert hat. [Diese Nachricht wurde von Baumjäger am 14. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 14. Aug. 2009 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Zitat: Original erstellt von Baumjäger: ...Was ist denn jetzt überhaupt das Hauptproblem? ...
Moin, neuer Tag, neues Glück! Dank erstmal für dein Interesse. Hilfe kann ich im Bereich Makroprogrammierung gut gebrauchen, da ich zwar viel Interesse dran habe, aber um so weniger Ahnung... Vielleicht nochmal ganz kurz erklärt, was ich machen will:
Ich habe eine Zeichnung einer Baugruppe mit einer Excel-Stückliste drauf. Diese Stückliste will ich mit einem Makro auf einem Laufwerk separat abspeichern. Aber nicht direkt mit dem Namen der Zeichnung, sondern mit dem Namen der Dateieigenschaft -> Artikelnummer <- ! Ich hatte vor einiger Zeit mit Hilfe von KMassler eine Lösung gefunden, unsere Zeichnungen per Knopfdruck als PDF mit dem Namen der Dateieigenschaft "Artikelnummer" in einem bestimmten Verzeichnis abzulegen. Naja, sagen wir mal eher er hat... Und dann habe ich hier dieses hübsche Makro für das Problem "Stückliste abspeichern" gefunden. Nun wollte ich die beiden Makros von u.clemens und KMassler irgendwie zusammenrödeln, aber leider bekomme ich es nicht hin. Und das ist mein eigentliches Hauptproblem...
------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Liebezeit Mitglied Dipl.-Ing. Maschinenbau, CSWP
Beiträge: 114 Registriert: 01.07.2005 2007 SP5.0 2008 SP4.0 2009 SP3.0
|
erstellt am: 14. Aug. 2009 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
Thomas Liebezeit Mitglied Dipl.-Ing. Maschinenbau, CSWP
Beiträge: 114 Registriert: 01.07.2005 2007 SP5.0 2008 SP4.0 2009 SP3.0
|
erstellt am: 14. Aug. 2009 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 14. Aug. 2009 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Beim ersten mal hat es geklappt! Ich habe zwar mit "Artikelnummer" den Wert dieser Dateieigenschaft gemeint, aber es tat sich zumindest was. Aber jetzt kommt immer der Fehler 91 mit dem Verweis! Ich spring hier gleich im Dreieck! Für heute habe ich erstmal genug rumgespielt. Muss jetzt noch ein wenig produktiv sein... @Thomas Liebezeit und Baumjäger Vielen herzlichen Dank nochmal! ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 14. Aug. 2009 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
Ehli Mitglied Konstrukteur
Beiträge: 19 Registriert: 17.03.2009
|
erstellt am: 28. Feb. 2010 18:10 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Hallo liebe Gemeinde, ich habe eine Frage bezüglich des SaveBOMasXLS.swb - Makros. Kann mir vielleicht jemand eine kleine Hilfestellung geben wie ich dieses Makro benutze?? Wenn es nicht zu dreist klingt eine kleine Anleitung schreiben??? Wäre dem jenigen zu großem Dank verpflichtet!! Habe die Aufgabe im Rahmen eines Projektes (firmenintern) die Stückliste aus SWX auszulesen, sie als Excel - Liste zu speichern (belibiger Pfad ) und sie an das P2 Programm zu übergeben. Kann mir da jemand weiter helfen??? Ich habe da kein Plan dachte aber das mir zum Beispiel das Makro schon einmal hilft die Excel Stückliste aus SWX automatisch als ( externe Datei )zu speichern unter einem belibigem Pfad ein Stückchen weiter hilft. Vielen Dan im vorraus... Liebe Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 01. Mrz. 2010 09:07 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Ja, ich weiß! Zum Thema: Eine Baugruppenzeichnung ist geöffnet und darauf ist eine Excel-Stückliste abgebildet. Das sind die Vorraussetzungen, jetzt kannst du das Makro starten. Hier mal eine grobe Beschreibung, was während des Durchlaufes passiert: Als erstes wird abgefragt, ob überhaupt ein SWX-Dokument geöffnet ist. Dann wird abgefragt, ob das Dokument auch eine Zeichnung ist. Als nächstes wird die Tabelle ausgelesen. Dann klinkt sich das Makro in ein neues Excelblatt ein und schreibt die Daten dort rein. Dann werden die Zellen regeneriert. Dann werden noch ein paar spezielle benutzerdefinierte Eigenschaften (Artikelnummer) abgefragt. So richtig zum produktiven Einsatz taugt das sicher noch nicht, ich habe unseres auch noch mal umgestrickt. Das hänge ich hier auch noch mal mit an, vielleicht hilft es dir ja schon eher! Edit: Falscher Anhang! Jetzt ist der Richtige dran...
------------------ Viele Grüße, THSEFA [Diese Nachricht wurde von THSEFA am 01. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ehli Mitglied Konstrukteur
Beiträge: 19 Registriert: 17.03.2009
|
erstellt am: 01. Mrz. 2010 21:20 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
Krümmel Moderator Konstrukteur mit rotierter Vergangenheit
Beiträge: 6238 Registriert: 14.09.2008 Was mit SWX so alles geht ;-)
|
erstellt am: 01. Mrz. 2010 22:08 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
Hallo, entweder so (keine Umlaute) oder so! Umlaute im Internet Explorer zulassen Original erstellt von wago Zitat: Der IE kann auch Umlaute lesen. Dazu muss im IE -> Internet-Optionen --> Erweitert/Advanced der Haken bei 'URLs immer als UTF-8 senden' bzw. „UTF-8-URLs senden“ entfernt werden.
MfG Andreas ------------------ Stillstand ist Rückschritt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 02. Mrz. 2010 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
Ehli Mitglied Konstrukteur
Beiträge: 19 Registriert: 17.03.2009
|
erstellt am: 03. Mrz. 2010 19:20 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1141 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 04. Mrz. 2010 09:20 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
|
swx-cad-nutzer Mitglied Konstr
Beiträge: 411 Registriert: 15.06.2011 SWX 2023 SP 4.0 64 bit
|
erstellt am: 30. Mrz. 2017 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für HarryD
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo zusammen,
jetzt benötige ich mal euere hilfe zu einem makro. Es soll können: -in einer Vorhandenen Zeichnung (Baugruppe) nach einer Stückliste suchen und diese speichern unter als Excel-Datei im gleichen Pfad (mit gleicher Nummer) ->pdm-system Ziel der Übung: beim freigeben der Zeichnung soll der Task ablaufen: speichern als: .pdf/.dwg./.xlsx Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |