Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Per Makro Zuschnittliste in Baugruppe automatisch erstellen und aktualisieren

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:   Per Makro Zuschnittliste in Baugruppe automatisch erstellen und aktualisieren (446 mal gelesen)
Sascha1986
Mitglied


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

Beiträge: 1
Registriert: 09.01.2017

erstellt am: 09. Jan. 2017 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

Guten Abend miteinander,

ich bin aktuell auf der Suche nach einer Lösung für unsere alten Daten.
Wir arbeiten hauptsächlich mit Blechteielen und somit auch mit Schweißkonstruktionen.
Das Problem ist nun, dass wir aktuell unser System automatisieren wollen.
D.h. Vorschläge für benötigte Lagerbestände von Blechen, definiertere Ermittlung der Herstellungskosten einzelner Bauteile für Kosteneinsparungen usw.

Um das ganze auf dem schnellsten Wege umzusetzen benötigen wir die Zuschnittsliste von Solidworks.
Soweit auch kein Problem. Um jedoch die alten Daten ins System zu laden, werden Stücklisten mit Einzug und somit auch eine Zuschnittsliste in den einzelnen Teilen benötigt.

Leider fehlt mir die nötige Erfahrung in der Programmierung der Makros.
Aktuell kann das Makro nur auf ein einzelnes Teil angewendet werden. Ziel soll jedoch sein, dass das Makro sich durch die Baugruppe arbeitet und alle fehlenden Zuschnittslisten der Teile erstellt und diese automatisch aktualisiert.

Anbei der bisherige Code:

Code:
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim swBodyFolder As SldWorks.BodyFolder
Dim FeatType As String
Dim FeatTypeName As String
Dim ModelDoc As Object

Sub main()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swFeat = swModel.FirstFeature
    Set swFeatMgr = swModel.FeatureManager

    Do While Not swFeat Is Nothing

        FeatType = swFeat.Name
        FeatTypeName = swFeat.GetTypeName2

        If FeatTypeName = "SolidBodyFolder" Then
            Set swBodyFolder = swFeat.GetSpecificFeature2
            swBodyFolder.SetAutomaticCutList True
            swBodyFolder.SetAutomaticUpdate True

        End If

        Set swFeat = swFeat.GetNextFeature

    Loop
End Sub


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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 524
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 10. Jan. 2017 07:53    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 Sascha1986 10 Unities + Antwort hilfreich

Zum Basteln:

Code:

    Set swapp = Application.SldWorks
    Set swAllDocs = swapp.EnumDocuments2
    Set FirstDoc = swapp.ActiveDoc

    DocCount = 0
    swAllDocs.Reset
    swAllDocs.Next 1, swdoc, NumDocsReturned

    ' This loop will go through all of the documents within an assembly, including sub-assemblies.

    While NumDocsReturned <> 0
            bDocWasVisible = swdoc.Visible ' Use Hidden Parts

          ' check the file to make sure it's a "sldprt" file.

            If (UCase(Right(swdoc.GetPathName, 6)) = UCase("sldprt")) Then
                swapp.ActivateDoc2 swdoc.GetPathName, True, longstatus    'open and activate the part
               
                'Hier deinen Code reinfummeln
               
                swdoc.SaveAs (swdoc.GetPathName)    ' save the change
                swapp.CloseDoc (swdoc.GetTitle())  ' close the part
            End If

            swAllDocs.Next 1, swdoc, NumDocsReturned  ' Go to the next part
            DocCount = DocCount + 1    ' Keep a count of all parts within the assembly, including sub-assemblies.
    Wend


 

Gruß, Jens

------------------
CSWA, CSWP =)

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

ramsy77
Mitglied
Admin


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

Beiträge: 109
Registriert: 17.12.2009

immer am letztstand...

erstellt am: 08. Jan. 2018 15:42    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 Sascha1986 10 Unities + Antwort hilfreich

Hallo,

ist bei eurem Versuch was raus gekommen?
Dieses Makro ist höchst interessant zumal ich beispielsweise versuche aus einer BG, in der auch irgendwo strukturbauteile verbaut sind, eine zuschnittsliste raus zu fahren um der AV die benötigten Längen an Profilen zu übergeben.

das funkt in der BG nur dann wenn am top-level ein strukturbauteil verbaut ist der auch tatsächlich ein volumen hat (leere vorlage reicht nicht)

danke vorab!

mfg, R.

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)2018 CAD.de