Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro für Stücklistenexport - Dateiname als CSV

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Makro für Stücklistenexport - Dateiname als CSV (293 mal gelesen)
abullaman
Mitglied
Konstrukteur, Admin, Produktarchitektur

Sehen Sie sich das Profil von abullaman an!   Senden Sie eine Private Message an abullaman  Schreiben Sie einen Gästebucheintrag für abullaman

Beiträge: 4
Registriert: 08.11.2019

SWX19

erstellt am: 08. Nov. 2019 15:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


MakroAnforderungenSWX_GH.pdf

 
Hallo Zusammen,
da ich mich heute das erste mal mit Makros und VBA befasst habe und nun nicht so recht weiß wie es weitergeht, benötige Hilfe beim erstellen von 3 Makros...Ziel ist:
______________
______________

Makro 1: Einfügen einer Stückliste
- Einfügen einer Stückliste gemäß Stücklistenvorlage
   →BOM-Export_Vorlage
- Optimal wäre Einfügen an einem bestimmten Ankerpunkt oder Koordinaten (X/Y)
- benutzerdefinierte Stücklisteneinstellungen übernehmen:
    o Stücklistentyp: mit Einzug- Grobe Nummerierung
    o detaillierte Zuschnittsiste
    o Positionsnummern: Beginnen bei 10 – Inkrement 10

Makro 2: Inhalt der Stückliste anhand von Symbolen bzw. Inhalten bearbeiten
Folgende Regeln
- Lösche alle Zeilen ohne Artikelnummer (Rohbleche)
- Lösche alle Zeilen mit Symbol „Schweißkonstruktion“

Makro 3 Speichern der Stückliste
- Das Makro soll die Stückliste in einem definierten Pfad speichern
- Dateiname: eine benutzerdefinierte Dateigenschaft „TeileID“
- Dateiformat: .CSV
________________
________________

Folgendes habe ich bereits...ergänzt die Stückliste in SWX gemäß der Vorlage "bomvorlage" und speichert mir eine .csv-Datei mit dem "Dateinamen" der CAD-Datei auf den Desktop:

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swBOMTable As SldWorks.BomTableAnnotation
Dim swTable As SldWorks.TableAnnotation
Dim swAnn As SldWorks.Annotation

Const BOMTemplate As String = ""
Const OutputPath As String = "C:\Users\Stefan.Bulla\Desktop\" 'Pfad für Tests.eigentlich"\\profile\ExchangeDir\ImportBOM\Test\"


Sub main()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swBOMTable = swModel.Extension.InsertBomTable("\\server001\$Konstruktion\SOLIDWORKS\SWX\Tabellenvorlagen\bomvorlage.sldbomtbt", 0, 0,
                     swBomType_e.swBomType_Indented, "Standard")
  
    Set swTable = swBOMTable
    swTable.SaveAsText OutputPath & swModel.GetTitle() & ".csv", vbTab
    Set swAnn = swTable.GetAnnotation
    swAnn.Select3 False, Nothing

End Sub
________________
________________

Folgende Frage habe ich:
- Wie kann ich anstatt "GetTitle" eine benutzerdefinierte Dateieigenschaft als Dateiname der csv-Datei verwenden ?
- Wie kann ich einstellen dass meine Stücklistenvorlage automatisch als "grobnummerierte" Stückliste mit "Zuschnittliste" und "Inkrement"=10
  eingestellt wird ?
- Welchen Mode benötige ich um das Ganze auch in einer Zeichnung zu verwenden ? Aktuell für die 3D-Bgr. ausgeführt...
- Ist das bearbeiten einer Stückliste mittels Makros möglich ? (ich möchte gerne Schweißkonstruktionen anhand des Symbols erkennen & löschen und
  außerdem leere Zeilen löschen)

Falls jemand die Muse hat mir weiterzuhelfen, bitte langsam und ausführlich für Anfänger, danke !!!


------------------
www.dampfkessel.com

[Diese Nachricht wurde von abullaman am 08. Nov. 2019 editiert.]

[Diese Nachricht wurde von abullaman am 08. Nov. 2019 editiert.]

[Diese Nachricht wurde von abullaman am 11. Nov. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2284
Registriert: 18.07.2012

-Solid Works 2019 SP3
-Pro Engineer WF 3

erstellt am: 11. Nov. 2019 08:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für abullaman 10 Unities + Antwort hilfreich

Hallo,

ich lese hier "profile" in deinem Pfad, geht es hier um den Import in das ProFile PDM/DMS? Wenn ja kannst du die Stücklistenanpassungen doch in ProFile über ein Datenbankscript machen lassen und diese Stückliste dann auch entsprechend auf die Zeichnung holen.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 11. Nov. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

abullaman
Mitglied
Konstrukteur, Admin, Produktarchitektur

Sehen Sie sich das Profil von abullaman an!   Senden Sie eine Private Message an abullaman  Schreiben Sie einen Gästebucheintrag für abullaman

Beiträge: 4
Registriert: 08.11.2019

SWX19

erstellt am: 11. Nov. 2019 16:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

an sich hast du recht ja, allerdings geht es bei diesem Thema um Schweißkonstruktionen und das "Auflösen" dieser, was am Ende ggf. auch noch das Makro übernehmen soll. Ich möchte keine Artikelnummern für bearbeitete Halbzeuge in der BOM haben...

------------------
www.dampfkessel.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2284
Registriert: 18.07.2012

-Solid Works 2019 SP3
-Pro Engineer WF 3

erstellt am: 11. Nov. 2019 17:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für abullaman 10 Unities + Antwort hilfreich

Hallo,

sind bei dir Zeile 2 und 4 Baugruppen wenn ja, kannst du bei diesen doch einstellen (endweder in der Unterbaugruppe die Komponenteneigenschaft der Komponente (Aus Stückliste ausschließen) oder in der Unterbaugruppe die Konfigurationseigenschaft (Kindkomponenten ausblenden)) das diese nicht in der Stückliste erscheinen, würde dir schon mal arbeit sparen.

Für das Einfügen der BOM kannst du dich an dem Beispiel aus der SWX-API-Hilfe "Insert and Show BOM Table and BOM Balloon Example (VBA)" orrientieren.
Für das Durchsuchen der BOM könntest du dich am Beispiel "Get Components in Each BOM Table Row Example (VBA)" orrientieren.
Für das Exportieren nach CSV kannst du dich an folgendem Macro aus dem www orrientieren Hier entlang

Wie man aber eine Zeile löscht hab ich auf die schnelle keine Idee.

Gruß
Bernd

PS: Dir ist bekannt das ProFile die Stückliste auf der Zeichnung eigentlich egal ist, ProFile erzeugt Grundsätzlich seine Stückliste anhand der Baugruppenstruktur und den Stauts der verbauten Komponenten (Sichtbar, Unterdrückt, Virtuell, Phantom, Komponenteneigenschaft "Aus Stückliste ausschliesen" etc.) und wie ProFile konfiguriert ist, weiter automatische Anpassungen an der Stückliste erfolgen dann in der Regel auf Datenbankebene per Script das z.B. bei Statuswechsel angestossen wird.

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete   

[Diese Nachricht wurde von bk.sc am 11. Nov. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

abullaman
Mitglied
Konstrukteur, Admin, Produktarchitektur

Sehen Sie sich das Profil von abullaman an!   Senden Sie eine Private Message an abullaman  Schreiben Sie einen Gästebucheintrag für abullaman

Beiträge: 4
Registriert: 08.11.2019

SWX19

erstellt am: 11. Nov. 2019 19:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd,

danke für deine ausführliche Antwort und die Beispiele. Ich werde mir alles einmal ansehen und das austesten, kann jedoch etwas dauern, wie gesagt, VBA-Neuling...

Bzgl. Kindkomponenten ausblenden funktioniert leider nicht, auch nicht Untedrücken, ausblenden, Stücklisten-relevanz-Einstellungen etc, da ich ja die "Eltern" ausblenden, und die "Kinder" eine Ebene nach oben und einblenden möchte...

Funktion von Profile etc. ist mir als als Admin bekannt ja, bietet jedoch keine "Standard" Möglichkeiten für das was ich erreichen möchte, und zwar dass ich für die geschnittenen Teile KEINEN Artikel anlegen muss...Beispiel:

Baugruppe beinhaltet:
  - Art.Nr. Komponente A - (Bearbeitetes Blech), gefertigt aus:
                - Art.Nr. RohBlech
  - Art.Nr. Komponente B (Schweißkonstr./Bearb. Rohr), gefertigt aus:
                - Art.Nr. Halbzeug / Meterware etc.


Rohblech soll raus, da ich für bearbeitete Bleche sowieso eine Artikelnummer brauche da ich Bleche extern beziehe.
Komponente B soll raus, da ich selbst Halbzeuge verarbeite und keine Artikelnummern für ein abgeschnittenes Stück Rohr anlegen will, da mir sonst die Anzahl Varianten langfristig explodieren als Anlagenbauer...

------------------
www.dampfkessel.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2284
Registriert: 18.07.2012

-Solid Works 2019 SP3
-Pro Engineer WF 3

erstellt am: 12. Nov. 2019 13:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für abullaman 10 Unities + Antwort hilfreich

Hallo,

du kannst doch in Pro.File auch Dokument ohne Teil anlegen, das heißt du hast ein Dokument (Rohling) dem kein Artikel zugeordnet ist der daher auch nicht in der Pro.File Stückliste erscheint, des weiteren kannst du auch virtuelle Komponenten / Phantom Komponenten welche auch keine Artikelnummer bekommen verwenden.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

abullaman
Mitglied
Konstrukteur, Admin, Produktarchitektur

Sehen Sie sich das Profil von abullaman an!   Senden Sie eine Private Message an abullaman  Schreiben Sie einen Gästebucheintrag für abullaman

Beiträge: 4
Registriert: 08.11.2019

SWX19

erstellt am: 13. Nov. 2019 07:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja Richtig, genau so möchte ich dann die Teile für Schweißkonstruktionen anlegen, und damit die "Halbzeuge" in die Stückliste kommen (eine Ebene nach oben), benötige ich dann das Makro...

------------------
www.dampfkessel.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz