Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Macro alle Teile & Unterbraugruppen umbenennen

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:  Macro alle Teile & Unterbraugruppen umbenennen (2381 / mal gelesen)
Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 07. Apr. 2021 08: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

Moin 

ich bin gerade auf der Suche, möglichst flott alle Teile/Unterbaugruppen einer Baugruppe umzubenennen.
Hintergrund ist, dass wir zukünftig alle unsere Anlagen anderen Abteilungen zur Verfügung stellen müssen. Zusätzlich habe ich die Auflage, alle Teilenamen "dumm" zu machen (da im Dateinamen teilweise vertrauliche Informationen stecken).

Da dieser Vorgang für sämtliche Anlagen und bei jeder Revision erneut passieren muss, fällt mir eigentlich nur ein, das Ganze per Macro zu machen.

Ich habe ein Macro gefunden, was in einer geöffneten Baugruppe die ausgewählte Unterkomponente automatisch umbenennt.
Leider bin ich nicht besonders fit in VBA, daher wäre es genial, wenn mir jemand helfen könnte, das Macro folgendermaßen abzuändern:
- Es soll nicht nur das ausgewählte Teil/Baugruppe umbenannt werden, sondern sämtliche Teile/Unterbaugruppen und deren Teile (also alles)
- Der Dateiname soll nicht erweitert werden, sondern komplett umbenannt werden (Egal in was...z.B. Teil1, Teil2 etc.)

Code:
Const SUFFIX As String = "_Renamed"

Dim swApp As SldWorks.SldWorks

Sub main()
   
    Set swApp = Application.SldWorks
   
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr

    Set swModel = swApp.ActiveDoc
   
    If Not swModel Is Nothing Then
   
        Set swSelMgr = swModel.SelectionManager
       
        Dim swComp As SldWorks.Component2
       
        Set swComp = swSelMgr.GetSelectedObject6(1, -1)
       
        If Not swComp Is Nothing Then
       
            Dim compName As String
           
            compName = swComp.Name2
           
            If Not swComp.GetParent() Is Nothing Then
                'if not root remove the sub-assemblies name
                compName = Right(compName, Len(compName) - InStrRev(compName, "/"))
            End If
           
            If swComp.IsVirtual() Then
                'if virtual remove the context assembly name
                compName = Left(compName, InStr(compName, "^") - 1)
            Else
                'remove the index name
                compName = Left(compName, InStrRev(compName, "-") - 1)
            End If
           
            Dim newCompName As String
            newCompName = compName & SUFFIX
           
            swComp.Name2 = newCompName
           
        Else
            MsgBox "Please select component to rename"
        End If
   
    Else
        MsgBox "Please open assembly document"
    End If
   
End Sub


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: 07. Apr. 2021 22:13    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 Captain Feature 10 Unities + Antwort hilfreich

Hallo,

hast du es schonmal mit der funktion Pack and Go von SWX versucht?

Hier kann man alle Bauteile umbenennen bzw. auch mit Suchen/Ersetzten umbennennen lassen.

Du musst nur aufpassen das die Dateinamen eindeutig bleiben:
Also "Projekt_XY_Teil_1"
Ansonsten könnte es vorkommen das 2 Bauteile gleich heißen-> dann weiß SWX nichtmehr welches Bauteil gemeint ist.

Eine andere Möglichkeit wäre die Baugruppe zuerst als Part abzuspeichern. Anschließend diese Datei (enthält ja noch die Dateinamen) als Parasolid exportieren und wieder importieren.
Übrig bleibt ein Teil, in dem alle anderen Teile als einzelene Volumenkörper abgebildet sind. Benannt sind diese anschließend mit Importiert1 /Importiert2 / Importiert3.

Allerdings ist dies je nach Größe der Baugruppe bzw. der komplexität dann nicht mehr sinnvoll für die "anderen Abteilungen"

------------------
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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 08. Apr. 2021 06:23    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

Moin,

danke für die Tipps 

An Pack & Go habe ich auch schon gedacht, leider ist das ziemlich aufwändig, da unsere Anlagen teilweise aus mehreren hundert Bauteilen bestehen. Diese Anlagen haben noch bis zu 20 Variationen, die über Konfigurationen realisiert wurden...müssten dann also 20x exportiert werden. Und das jedes mal, wenn die Anlage revidiert wird.

Das mit Baugruppe->Teil->Parasolid ist bisher auch meine einzige Lösung. Die verschlingt aber auch viel Zeit, da alleine das Speichern einer großen Baugruppe als Teil bei uns schon ~40min. dauert (von SSD auf SSD). Bedeutet, dass man tagelang vorm Rechner sitzt um zu öffnen/speichern.
Zusätzlich wäre es super, wenn die Baugruppen weiterhin flexibel bleiben, damit man z.B. einen darin enthaltenen Kompressor auch mal bei Bedarf verschieben kann (z.B. wenn das Modell beim Kunden dazu benutzt wird, um den Betriebsraum zu planen). Über Umwege geht das bestimmt auch mit dem Einzelteil aber eleganter wäre es mit einer Baugruppe.

Wenn ich ein Macro hätte, was mit einem Klick alle Bauteile umbenennt (meinetwegen auch vorher alle Bauteile virtuell macht), würde der Export nur einen Bruchteil der Zeit kosten.
Ich google heute noch weiter und hoffe, dass ich mir doch irgendwie selbst ein Macro zusammenbasteln kann.
Nur als VBA Laie ist das manchmal nicht so einfach 

Also wenn jemand doch noch ein Tipp für das Macro hätte, wäre ich mega dankbar 

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

Ralf Tide
Moderator
-




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

Beiträge: 4978
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 08. Apr. 2021 09:14    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 Captain Feature 10 Unities + Antwort hilfreich

Hallo Captain 

schau Dir doch mal das Beispiel von Stefan an: http://solidworks.cad.de/mm_36.htm
Speziell den Teil: Private Function TraverseComponent(Level As Integer, Component As Object) ' rekursive Routine, die alle Komponenten durchläuft

HTH
Ralf

------------------

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 08. Apr. 2021 12: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

Super Hinweis Ralf!
Genau das ist für mich immer eine Schwierigkeit (Schleifen in VBA einbauen)
Gucke ich mir gleich mal an 

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 13. Apr. 2021 13: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

So, ich bin schon ein wenig weiter:
Das Macro funktioniert schon fast.
Es durchläuft alle Komponenten, macht alle virtuell, die noch nicht virtuell sind und benennt sie dann um.

Code:
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssy As SldWorks.AssemblyDoc
Dim swComp As SldWorks.Component2
Dim swCompModel As SldWorks.ModelDoc2
Dim i As Integer
Dim vComps As Variant
   
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swAssy = swModel
   
    vComps = swAssy.GetComponents(False)
   
    If IsEmpty(vComps) Then Exit Sub
   
    For i = 0 To UBound(vComps)
        Set swComp = vComps(i)
        Set swCompModel = swComp.GetModelDoc2
            'RUN YOUR CODE HERE
            Dim compName As String
          
            compName = swComp.Name2
          
            If Not swComp.GetParent() Is Nothing Then
                'if not root remove the sub-assemblies name
                compName = Right(compName, Len(compName) - InStrRev(compName, "/"))
            End If
          
            If swComp.IsVirtual() Then
                'if virtual remove the context assembly name
                compName = Left(compName, InStr(compName, "^") - 1)
            Else
                'if not virtual make component virtual & remove the context assembly name
            boolstatus = swComp.MakeVirtual()
            compName = swComp.Name2
            compName = Left(compName, InStr(compName, "^") - 1)
            End If
          
            Dim newCompName As String
            newCompName = "Komponente" & i + 1
          
            swComp.Name2 = newCompName
            '====================================================
    Next i
End Sub

Ein Problem habe ich aber noch:
Das Macro ändert nicht die Bauteile von Unterbaugruppen.
Hat jemand eine Idee, woran das liegen kann?

[Diese Nachricht wurde von Captain Feature am 13. Apr. 2021 editiert.]

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

EIBe 3D
Mitglied
Dipl. - Ing. (FH)


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

Beiträge: 267
Registriert: 24.01.2020

HP Z4 G4 Workstation
Xeon 3,6 32GB
Nvidia P2000
WIN10
SW2015 SP5.0
SW2017
*************
Inv2018 akt.SP

erstellt am: 13. Apr. 2021 13:47    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 Captain Feature 10 Unities + Antwort hilfreich

Code:
... Hat jemand eine Idee, woran das liegen kann?

Ja. 

Schrieb oben schon Ralf.

Du traversierst nicht. Schau dir das Beispiel oben an. In deine Sub Main gehört im Prinzip nur der Aufruf mit Übergabe der OBG als Parameter deiner rekursiven Methode (die du ja schon hast) welche all die Arbeit erledigt. Diese muss sich, wenn sie eine UBG erkennt wiederum selbst aufrufen mit Übergabe der UBG als Parameter.


Grüße

EIBe 3D

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 13. Apr. 2021 14:13    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

Zitat:
Original erstellt von EIBe 3D:
Code:
... Hat jemand eine Idee, woran das liegen kann?

Ja.  

Schrieb oben schon Ralf.

Du traversierst nicht. Schau dir das Beispiel oben an. In deine Sub Main gehört im Prinzip nur der Aufruf mit Übergabe der OBG als Parameter deiner rekursiven Methode (die du ja schon hast) welche all die Arbeit erledigt. Diese muss sich, wenn sie eine UBG erkennt wiederum selbst aufrufen mit Übergabe der UBG als Parameter.


Grüße

EIBe 3D


Oh Gott...ich merke immer öfter, was ich für ein blutiger Anfänger in VBA bin 

Ich glaube zwar, dass ich deinen Hinweis so halbwegs verstehe, aber hab wiedermal 0 Ahnung, wie ich das in VBA umsetzen soll 


Ich gucke mir das Beispiel-Macro von Ralf/Stefan noch mal an...vllt werde ich doch noch schlau daraus 

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

Ralf Tide
Moderator
-




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

Beiträge: 4978
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 13. Apr. 2021 18:57    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 Captain Feature 10 Unities + Antwort hilfreich


033379_CaptainFeature.mp4

 
Hallo Captain,

die Codezeilen von Stefan und Deine drei Befehle hab ich mal Q&D zusammengefasst...

Code:
Dim i As Integer        ' Zähler der Komponente

Sub main()
    ' wesentliche Teile von Stefan Berlitz http://solidworks.cad.de/mm_36.htm
    Dim swApp As Object
    Dim AssemblyDoc As Object
    Dim Configuration As Object
    Dim RootComponent As Object
    ' an SolidWorks anklinken und aktives Assembly holen
    Set swApp = Application.SldWorks
    Set AssemblyDoc = swApp.ActiveDoc
    ' Root-Komponente des Assemblies als Ausgangspunkt festmachen
    Set Configuration = AssemblyDoc.GetActiveConfiguration()
    Set RootComponent = Configuration.GetRootComponent()

    swApp.CommandInProgress = True
    ' und jetzt rekursiv durch alle Ebenen
    i = 0
    If Not RootComponent Is Nothing Then
        TraverseComponent 1, RootComponent
    End If
    swApp.CommandInProgress = False

End Sub

Private Function TraverseComponent(Level As Integer, swComp As Object)
    ' rekursive Routine, die alle Komponenten durchläuft

    Dim Children As Variant
    Dim Child As Object
    Dim ChildCount As Integer
    Dim Feature As Object
    Dim FeatureCreatedBy As String
    Dim ret As Boolean
    If Not (swComp.IsVirtual()) Then
        ret = swComp.MakeVirtual2(True)
    End If
    swComp.Name2 = "TIDE" & i
    i = i + 1
    ' schauen, ob's ein Subassy ist und ggf. über die Kinder rüberschauen
    Children = swComp.GetChildren
    ChildCount = UBound(Children) + 1
    For j = 0 To (ChildCount - 1)
        Set Child = Children(j)
        TraverseComponent Level + 1, Child
    Next j
End Function


Ist nicht so ganz sauber, da die erste Komponente (die BG in der das Makro gestartet wurde) nicht virtuell gespeichert werden kann...
Ist aber auch nur ein Gerüst 

HTH
Ralf

------------------

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 14. Apr. 2021 06:22    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

Ganz ehrlich Ralf? Du bist der Knaller!     

Genau so hatte ich mir das gedacht. Funktioniert einwandfrei.

Jetzt gucke ich mir erst mal den Code an und versuche zu verstehen, was mir gefehlt hat (wenn man vorher noch nie mit Rekursion, traversieren etc. zu tun hatte, ist das alles nicht so aus dem Ärmel geschüttelt  )

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: 720
Registriert: 17.01.2007

SWX 2019 SP5
AutoCAD 2019
Win 10 pro 64 bit
Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz
64GB RAM
Nvidia Quadro M5000
SWx EPDM

erstellt am: 14. Apr. 2021 08:00    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 Captain Feature 10 Unities + Antwort hilfreich

Bitte teste das Ganze seeehr gründlich!

Ich habe mir vor einigen Jahren selbst ein ähnliches Makro zur Aufbereitung großer Zukauf-Baugruppen aus den gleichen Bausteinen zusammengestellt, das Komponenten und Unterbaugruppen virtuell macht, das Material ändert und auch Alles umbenennt.

Ich habe das hier nicht gepostet, weil:

Wenn ich das Makro im Einzelschritt laufen lasse, tut es.
Wenn ich das Makro auf kleinere Baugruppen mit wenigen Unterbaugruppen loslasse, tut es.
Wenn ich das Makro auf große Baugruppen mit einigen Unterbaugruppen loslasse, tut es MEISTENS.

An einem bestimmten Punkt scheint entweder mein Makro oder SolidWorks selbst durcheinanderzukommen und vergibt den gleichen Dateinamen mehrmals. Selbstverständlich an nicht-identische Teile/Baugruppen. Da es das Ganze auch speichert hat man beim nächsten Laden auf einmal einige Teile doppelt und andere fehlen. Da virtuelle Teile i.d.R. nirgends anders gespeichert werden, sind die dann pfutsch.

Ich will nicht ausschließen, dass irgendwo in meinem Makro ein Bug rumkrabbelt, dann wäre es aber ein sehr gerissener kleiner Käfer.


Gruß, Jens 

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

Ralf Tide
Moderator
-




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

Beiträge: 4978
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 14. Apr. 2021 09: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 Captain Feature 10 Unities + Antwort hilfreich

Hallo Captain,

der Hinweis von Jens  ist dringend zu beachten!
Ich zitier mich ja gerne selbst 

Zitat:
Original erstellt von Ralf Tide:
...nur ein Gerüst
Ein paar Anregungen/Fragen, die mir zum Thema einfallen:
  • Was passiert mit Konfigurationen?
  • Was passiert mit unterdrückten Teilen?
  • Was passiert mit mehrfach verwendeten Teilen?
    - Vielleicht eine Abfrage ob das Teil schon "TIDE"  heißt.
  • Ich würde unbedingt eine Protokolldatei anlegen mit mindestens folgenden Informationen:
    - Name der Komponente,
    - ob die Komponente virtualisiert wurde,
    - ob die Namensgebung funktioniert hat,
    - wie sie neu heißt.
  • Immer nur mit Pack & Go Sicherungen lokal auf einem separaten Rechner arbeiten.
  • Nach jeder größeren Baugruppe SolidWorks herunterfahren und neu starten.
  • ...
Da können außer Jens und mir auch einige andere hier sicher noch Erfahrungen mit einbringen 

HTH
Ralf

------------------

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 14. Apr. 2021 10:00    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

Ok, gut zu wissen, dass ich da ein wenig aufpassen muss.
Bisher habe ich das Macro immer nur mit einer kleinen Testbaugruppe getestet.
Ich mache nachher mal ein paar Testdurchläufe mit unseren echten Baugruppen.

Viel kaputt machen kann ich zum Glück nicht...ist immer ne lokale Kopie aus dem PDM.
Aber mit der doppelt Benennung von Teilen ist natürlich gefährlich. Da werde ich besonders drauf achten.

Ich halte euch auf dem Laufenden 

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

Ralf Tide
Moderator
-




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

Beiträge: 4978
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 17. Apr. 2021 10:16    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 Captain Feature 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Captain Feature:
Ich mache nachher mal ein paar Testdurchläufe mit unseren echten Baugruppen.
Mir ist was eingefallen: Wenn eine Unterbaugruppe mehrfach vorkommt, dann wird die erste Instanz beim Durchlauf virtualisiert und umbenannt. Wenn nun die darin enthaltenen Teiele auch virtualisiert und umbenannt werden, passiert dies nicht mit den Teilen der zweiten und weiteren Instanzen dieser Unterbaugruppe. Du würdest auf alle Fälle viel mehr veschiedene Komponenten erhalten als es eigentlich sind.
Abhilfe würden zwei Durchläufe bringen. Im ersten Durchlauf nur Teile virtualisieren und umbenennen und im zweiten Durchlauf in der untersten Unterbaugruppe anfangen (da wäre es hilfreich den größten Wert für Level festzuhalten) und dann nach oben durcharbeiten. Wenn da jetzt mal kein Fehler in meiner Logik ist... 

HTH
Ralf

------------------

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 17. Apr. 2021 11:57    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 Captain Feature 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Ralf Tide:
Du würdest auf alle Fälle viel mehr veschiedene Komponenten erhalten als es eigentlich sind.



Hallo,
ich würde beim abarbeiten ein Protokoll (Array) mitschreiben, und mir den vorherigen und neuen Namen merken.
Bei jeder neuen Komponente dann dieses Array durchforsten und schauen, ob der Name schonmal dran war. Entsprechend kann man dann die neue Namensgebung abgleichen.

So etwas ähnliches habe ich ja in meinem Makro Assembly-Print-Drawings gemacht, um die Doubletten rauszufiltern.

Grüße, und schönes WE, Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 19. Apr. 2021 10:21    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 Captain Feature 10 Unities + Antwort hilfreich

Wenn zufällig PDM bei euch im Einsatz ist, würde ich es damit machen. (Struktur verschieben, umbenennen mit Seriennummer) Dann braucht nichts programmiert werden.

Wenn alle Dateien in einem Verzeichnis abgelegt sind, würde ich dieses komplett in eine Tabelle einlesen, eine neue Spalte mit den neuen Namen dazu schreiben und mit der Document-Manager-API die Referenzen nach Tabelle austauschen.

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

Captain Feature
Mitglied



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

Beiträge: 118
Registriert: 26.03.2012

SW 2017 SP 5.0
AutoCad 2017 (+ecscad)
CorelDRAW X6
Photoshop CS5
Dell Precision 5810
Windows 10 64 Bit
One Intel Xeon E5-1630 v4
NVIDIA Quadro M5000

erstellt am: 20. Apr. 2021 08:21    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

Moin   

ich habe es endlich geschafft, das Macro mal auf eine unserer großen Baugruppen loszulassen.

Die Warnung von CAD-Maler trifft leider auch bei diesem Macro zu:
Bei kleinen Baugruppen funktioniert alles, bei großen Baugruppen fangen komische Probleme an...teilweise wurden einige Komponenten komplett ausgelassen, andere werden zwar virtuell gemacht aber nicht umbenannt, andere werden zwar umbenannt aber in der Benennung steckt noch der alte original-Baugruppenname (nach dem ^) und 1x hat sich das Macro mit einem Fehler beendet (leider habe ich das Macro gleich noch mal gestartet, ohne nachzugucken, an welchem Teil es gelegen hat).

Ich versuche mal die Tipps von Andi und Ralf umzusetzen ("erst Teile, dann Baugruppen" & "Protokoll erstellen")

(Leider haben wir hier immer noch PDM-Workgroup(    ) laufen, daher fällt die PDM-Lösung von riesi für uns flach)

[Diese Nachricht wurde von Captain Feature am 20. Apr. 2021 editiert.]

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

Ralf Tide
Moderator
-




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

Beiträge: 4978
Registriert: 06.08.2001

Sehr seltsame Dinge passiern <Klaus Lage - Toy Story>
.-)

erstellt am: 20. Apr. 2021 09: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 Captain Feature 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Captain Feature:
(Leider haben wir hier immer noch PDM-Workgroup(       ) laufen, daher fällt die PDM-Lösung von riesi für uns flach)
Immerhin hat WorkgroupPDM eine API   
...und ein Forum: https://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&forum=SolidWorks+Workgroup+PDM&number=233

[edit 06.05.2021]
Könnte zum Thema hilfreich sein: https://ww3.cad.de/foren/ubb/Forum2/HTML/033438.shtml#000002
Immer mal 'ne Pause machen... 
[/edit 06.05.2021]

------------------

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