Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: Baugruppen in Baugruppe zählen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  Makro: Baugruppen in Baugruppe zählen (713 / mal gelesen)
Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 31. Mai. 2022 08:31    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

Guten Tag zusammen,

ich bin gerade auf der Suche, wie ich die Gesamtanzahl von Baugruppen in einer Baugruppe ermitteln kann. Das natürlich bis zur n-ten Unterbaugruppe

Ziel ist es, eine Gesamtübersicht zu bekommen und es sollen ja nachher nicht zu wenig Baugruppen bestellt werden :-)

Gibt es da ein Makro um das zu zählen oder eben einen Ansatz?

Vielen Dank,

Gruß Pete

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 31. Mai. 2022 09:11    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 Pete85 10 Unities + Antwort hilfreich

Hallo Pete,

Ein Makro habe ich keines um die Baugruppen zu zählen,

Wir haben das Problem auch nicht, da wir von jeder Baugruppe die Stückliste ins ERP System übergeben.

Falls ihr ohne ERP System Arbeitet kann man dies aber auch über verschidene Stücklisteneinstellungen lösen.

Es kommt dann nur darauf an wie genau euere "Endstückliste" auszusehen hat und wie die Baugruppenstruktur bei euch ist.

Mit etwas Überlegungsarbeit und den Stücklistenoptionen in den Konfigurationseigenschaften der Baugruppen lässt es sich darstellen.

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 31. Mai. 2022 09:49    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 Pete85 10 Unities + Antwort hilfreich

Hi Pete,

was fertiges habe ich nicht für dich, aber einen Ansatz.

Hier ein Beispiel aus der SOLIDWORKS API mit einer Schleife über alle Teile, Baugruppen und Unterbaugruppen.
https://help.solidworks.com/2015/english/api/sldworksapi/traverse_assembly_at_component_level_example_vb.htm

Der Part an dem du eingreifen müsstest, wäre dieser hier...

Code:

    'Hier werden die Kind-Komponenten in vChildComp übergeben

    vChildComp = swComp.GetChildren

    'Die Schleife wirkt hier wie eine versteckte IF-Abfrage, denn es soll eine Schleife über die Größe vom Array vChildComp erfolgen.
    'Wenn es keine Kind-Komponenten gibt (es also ein Teil ist) ist die Arraygröße Null und es wird nicht weiter ausgeführt.
    'An dieser Stelle müsstest du also deinen Counter irgendwo einbringen

EDIT: Hat sich als falsch erwiesen, bitte ignorieren

    For i = 0 To UBound(vChildComp)
        Set swChildComp = vChildComp(i)
        TraverseComponent swChildComp, nLevel + 1
        Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"
    Next i


Ich hoffe ich konnte dir damit helfen.

LG Kevin


------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools

[Diese Nachricht wurde von deckelmaho am 01. Jun. 2022 editiert.]

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

Andi Spieler
Mitglied
Mechaniker


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

Beiträge: 1347
Registriert: 12.12.2002

SOLIDWORKS 2024SP1

erstellt am: 31. Mai. 2022 11:26    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 Pete85 10 Unities + Antwort hilfreich


AsEx_UB_ASP.jpg

 
Hallo Pete,

reicht die Baugruppenstatistik nicht?

VG
AndiS

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

deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 31. Mai. 2022 12:18    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 Pete85 10 Unities + Antwort hilfreich


Gewusst wo, aber ich denke die Leistungsbewertung ist doch ein guter Workaround für Pete ohne sich mit der API herumschlagen zu müssen.

Und ich hab auch wieder was gelernt.

Danke Andi 

------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools

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

Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 31. Mai. 2022 12:58    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 zusammen,

danke für die Ansätze.

Wir schreiben wirklich noch alles per Hand in user System. Leider kommt es hier immer wieder zu fehlern und wir haben entweder zu viel, zu wenig oder es passt.

deswegen meine Frage.

Hätte hier gerne eine Übersicht aller Baugruppen in einer excel oder ähnliches.

Die anderen Funktionen (die mir bekannt sind) sind mir hier zu umständlich oder nicht genau genug


danke

Gruß Pete

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 31. Mai. 2022 13:05    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 Pete85 10 Unities + Antwort hilfreich

Hallo Pete,

hast du dich auch mit Treehouse beschäftigt?

Dort kannst du auch in Excel ausgeben.

HTH

------------------
Wenn ,Wenn....Wenn meine Tante Nüsse hätte, dann wäre sie mein Onkel....

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

Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 01. Jun. 2022 06: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

Treehouse kannte ich noch nicht.

Habe es gerade ausprobiert. Hier hat SW beim BG analysieren einfach abgebrochen und es geht nix ,ehr...

scheint  also leider auch nicht das richtige zu sein.

trozdem Danke :-)

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

deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 01. Jun. 2022 08:10    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 Pete85 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Pete85:
Hallo zusammen,

danke für die Ansätze.

Wir schreiben wirklich noch alles per Hand in user System. Leider kommt es hier immer wieder zu fehlern und wir haben entweder zu viel, zu wenig oder es passt.

deswegen meine Frage.

Hätte hier gerne eine Übersicht aller Baugruppen in einer excel oder ähnliches.

Die anderen Funktionen (die mir bekannt sind) sind mir hier zu umständlich oder nicht genau genug


danke

Gruß Pete


Ich habe dir die Komponenten Schleife mal umgeschrieben, sodass du nachher auch einen Wert für die Unterbaugruppen im VBA erhältst.
Den Excelteil müsstest du dir selber schreiben.

Code:

Option Explicit

Dim AssemblyCounter As Integer
Dim TempModel As ModelDoc2

Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
    Dim vChildComp As Variant
    Dim swChildComp As SldWorks.Component2
    Dim swCompConfig As SldWorks.Configuration
    Dim sPadStr As String
    Dim i As Long
   
   
    For i = 0 To nLevel - 1
        sPadStr = sPadStr + "  "
    Next i
   
   
    vChildComp = swComp.GetChildren
    For i = 0 To UBound(vChildComp)
        Set swChildComp = vChildComp(i)
        Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & ">"
       
        Set TempModel = swChildComp.GetModelDoc2
        If Not TempModel Is Nothing Then
            If TempModel.GetType = swDocumentTypes_e.swDocASSEMBLY Then AssemblyCounter = AssemblyCounter + 1
            TraverseComponent swChildComp, nLevel + 1
        End If
           
    Next i
End Sub
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swConf As SldWorks.Configuration
    Dim swRootComp As SldWorks.Component2
    Dim bRet As Boolean
    Dim fileName As String
    Dim errors As Long
    Dim warnings As Long
   
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    If swModel.GetType <> swDocumentTypes_e.swDocASSEMBLY Then
        MsgBox "Das Dokument ist keine Baugruppe"
        Exit Sub
    End If
    AssemblyCounter = 0
   
   
    Set swConf = swModel.GetActiveConfiguration
    Set swRootComp = swConf.GetRootComponent3(True)
    Debug.Print "File = " & swModel.GetPathName
    ' Traverse components
    TraverseComponent swRootComp, 1
   
    MsgBox "Die Anzahl der Unterbaugruppen beträgt: " & AssemblyCounter

    'Der Wert wurde ermittelt, hier könnte die Ausgabe ins Excel erfolgen.
End Sub


Grüße und so

------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 01. Jun. 2022 18:29    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 Pete85 10 Unities + Antwort hilfreich

Hallo Pete,

brauchst du eine Auflistung der Gesamtmenge an Baugruppen oder brauchst du eine komplette Stücklistenstruktur.
Also in BG 1 ist BG 2 und BG 3 verbaut. In BG 2 ist BG 3 und BG 4 verbaut.


-> Gesamtinhalt wäre dann 1x BG 2 / 2x BG 3 und 1x BG4

Variante 1 geht wie vom Andi Spieler geschrieben mit der Baugruppenstatiskik funktionieren.

Variante 2 ist schwieriger:

Auf oberster Ebene Stückliste mit Option "Mit Einzug" erstellen. In dieser Stückliste ist die ganze Struktur aufgelistet.
Das ganze nach Excel exportieren.
Im Excel würde ich mit einem Makro die Baugruppen zusammenzählen. Bei der Gelegenheit können die Einzelteile auch aufsumiert werden. -> Am Schluss gibts ne Liste welche Baugruppen Montiert werden müssen + eine Liste welche Einzelteile insgesammt beschafft werden müssen.

Ist das in etwa wie du es brauchst?

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

Pete85
Mitglied



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

Beiträge: 156
Registriert: 09.05.2016

erstellt am: 02. Jun. 2022 06:45    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 Christoph,

ich bin auf der Suche nach der 2ten Variante.

Das zusammenzählen in Excel über ein Makro habe ich mal angefangen. ist schon länger her... war aber immer mit einer großen Unsicherheit verbunden.

Daher wollte ich mal fragen ob es da eventuell einen Code bzw. eine Funktion in SolidWorks gibt.

Danke für euren Support :-)

Gruß Pete

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)2024 CAD.de | Impressum | Datenschutz