Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: 1,5GB Speicherauslastung!!!!!!!

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
  
Data Disasters Goodbye: With PDM as a Service (PDMaaS), never overwrite data again – saved by version control!
Autor Thema:  Makro: 1,5GB Speicherauslastung!!!!!!! (2237 mal gelesen)
Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 27. Jul. 2007 10: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

hab gerade ein makro gemacht, welches mir alle referenzierten teile einer BG aufmacht und dann ein bischen code ausfürht, speichert und wieder schließt. Dann macht er weiter mit der nächsten referenz
allerdings steigt dabei die Speicherauslastung auf 1.5GB, bis zum absturz!!!

kann ich den speicher irgendwie freigeben? anfangs dachte ich es liegt an den dateien, da ich sie anfangs nicht schloß, aber wenn sie zu sind, bleibt der speicher weiterhin registriert...

mfg

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

SLDW-FEM
Mitglied
Simulations-Ingenieur


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

Beiträge: 640
Registriert: 21.02.2005

Solidworks 2017+2019+20+22
SpaceClaim
Windows 11 64bit
HP-ZBook 32gbRAM NVIDIA

erstellt am: 27. Jul. 2007 11: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 Kriechi 10 Unities + Antwort hilfreich

Hallo,

Passe auf (Quer-) Rekursionen auf !
=> Ich habe hier ein assy mit 700 parts
  bin alle durchgegangen und habe die Filenamen in
  einen dynamische Liste geschriebe
=> im Taskman nur 100kB Änderung!

PS:
Mit Querrekursion meine ich mehrfach vorkommende Sub-assy's

Ansonsten schicke mir Deinen Code per PM und
ich gucke mal nach dem Fehler :=)

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

GWS
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2401
Registriert: 23.07.2001

Nach drei Jahren Inventor wieder zurück zu SolidWorks: SWX 23 SP4, PDM Professionell.

erstellt am: 27. Jul. 2007 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 Kriechi 10 Unities + Antwort hilfreich

Tip eines nicht-Programmierers:

- Scanne die Baugruppe durch und leg die Struktur des Teilebaums in einem extra File auf die Platte (-> Stückliste mit allen Teilen-> Excel?)
- mach die BG wieder zu (evtl sogar das CAD neustarten)
- ruf jedes Teil einzeln auf, modifiziere es und speichere es wieder ab.

Hintergrund ist, dass SWX wohl versucht alle Dateien, die zu einer BG gehören im Speicher zu halten. Wie die Garbage Collection hier funktionieren soll, keine Ahnung, da musst du die Profis fragen...

Grüße Günter

------------------
Wie man Fragen richtig stellt

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

Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 27. Jul. 2007 11: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

Code:
Sub main()
    Dim swApp                      As SldWorks.SldWorks
    Dim swModel                    As SldWorks.ModelDoc2
    Dim swAssy                      As SldWorks.AssemblyDoc
    Dim swConf                      As SldWorks.Configuration
    Dim swRootComp                  As SldWorks.Component2
    Dim bRet                        As Boolean
    Dim longstatus As Long
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swConf = swModel.GetActiveConfiguration
    Set swRootComp = swConf.GetRootComponent

    typ = swApp.ActiveDoc.GetType() 'Prüfen, ob Baugruppe geöffnet ist
    If typ <> swDocASSEMBLY Then
        MsgBox "Aktives Dokument ist keine Baugruppe!"
        End
    End If


    'Referenzierte Dokumente ermitteln
    oDummyArray = swApp.GetDocumentDependencies2(swModel.GetPathName, True, False, False)
   
    'Überprüfen ob das Dokument
    'überhaupt Referenzen hat!
    If IsArray(oDummyArray) = False Then
        'Wenn keine Referenzen gefunden wurden,
        'war das kein Fehler der Funktion!
        scReferenzen = Nothing
    End If

    For i = 1 To UBound(oDummyArray) Step 2
        swApp.ActivateDoc2 oDummyArray(i), True, longstatus
        Set swModel = swApp.ActiveDoc

        typ = swApp.ActiveDoc.GetType() 'Prüfen, ob Baugruppe geöffnet ist
        If typ = swDocPART Then
            dummy = swModel.AddCustomInfo3("", "MATERIAL", swCustomInfoText, """SW-Material""")
            swModel.CustomInfo("MATERIAL") = """SW-Material"""
       
            swModel.Save2 True
        End If
       
        swApp.CloseDoc swModel.GetTitle
      ' If i = 15 Then End
    Next i
End Sub


@GWS
du schreibts "nicht-programmieres" und weist was der GC ist? 

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

GWS
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2401
Registriert: 23.07.2001

Nach drei Jahren Inventor wieder zurück zu SolidWorks: SWX 23 SP4, PDM Professionell.

erstellt am: 27. Jul. 2007 11: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 Kriechi 10 Unities + Antwort hilfreich

Ich hab mal vor gut 20 Jahren ein wenig Assembler programmiert und unter Autocad mit Lisp  beschäftigt, aber das ist laaange her.
Es hilft aber heute noch, ein wenig zu verstehen, was da so abgeht... 
Ich kann den Code üblicherweise lesen, aber nicht selbst erstellen.

Grüße Günter

------------------
Wie man Fragen richtig stellt

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

modeng
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 27. Jul. 2007 12: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 Kriechi 10 Unities + Antwort hilfreich


nach dem Close wuerd' ich das model Objekt freigeben:

Set swModel = Nothing

damit verschwindet es effektiv, das Neusetzen erzeugt IMHOIn my humble oppinion (Meiner Meinung nach) intern
ein neues Object ohne das bisherige freizugeben. Vielleicht hilft's ja
schaden tut's auf jeden Fall nicht

Klaus

------------------
Unser Unwissen erobert immer weitere Welten. (S.J. Lec)

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

Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 27. Jul. 2007 13:35    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 danke, werds am Montag gleich probieren!

mfg

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

wieching
Mitglied
Praktikant


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

Beiträge: 32
Registriert: 09.06.2006

erstellt am: 30. Jul. 2007 03: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 Kriechi 10 Unities + Antwort hilfreich

Moinsen!

Wir haben auch schon oft an diesem Problem gesessen.
Bis jetzt haben wir noch keinen Befehl gefunden, damit SoWo
die Parts wieder aus dem Speicher rausloescht.
Es reicht nicht mal aus, die Dateien sauber zu schliessen!

Wenn wir viele Dateien nacheinander Durcharbeiten muessen, z.b. bei der Mirgration auf eine neue Version, Machen wir das per
Programm und schliessen nach 30 Dateien SoWo und oeffnen es erneut.
Wenn du so wie jeder die File_oeffnen routine aus der API Hilfe genommen hast,
kannste da einfach n zaehler ueber ne globale Variable einbauen und dann mit
ner modulo division n Schliess-Takt einbasteln. Dauert 5 Minuten.
So kriegen wir es hin, dass es problemlos laeuft.

Wenn du n normales SoWo Makro hast, kriegste da natuerlich n Problem.
Dein Programm sieht aber aus, als ob es eigenstaendig ist.
Im Prinzip machste es genau so, wie Guenter sagt.
Asssmblytree auslesen, irgendwo zwischenspeichern und dann abarbeiten.

Viel Erfolg.
Daniel

[Diese Nachricht wurde von wieching am 30. Jul. 2007 editiert.]

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

Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 30. Jul. 2007 07:20    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 habs gerade veruscht, nothing setzten hilft nix 

kann man eine dateieigenschaft erstellen, ohne die datei mit SWXSolidWorks zu öffnen?

mfg

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

Bernd Knab
Mitglied



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

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 30. Jul. 2007 07:28    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 Kriechi 10 Unities + Antwort hilfreich

Hallo,

du kannst den SWXDocumentManager verwenden. Dort kannst du mit Baugruppen und Dateieigenschaften arbeiten, ohne die Dateien in SWXSolidWorks zu öffnen.

Damit solltest du dein Problem in den Griff bekommen.

Gruß Bernd

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

Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 30. Jul. 2007 07: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

wie steuere ich den per makro an?

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: 30. Jul. 2007 09: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 Kriechi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Kriechi:
...kann man eine dateieigenschaft erstellen, ohne die datei mit SWX zu öffnen?...
Hallo Thomas,
ja, das geht auch. Z.B. mit einem Programm (Change Custom Properties) von Trimech Solutions: http://www.trimechsolutions.com/tech_resources.html
Verwendet die dsofile.dll (müsste aber beschrieben sein). Darüber (dsofile.dll) kannst Du auch mit anderen Anwendungen ein VBA-Makro schreiben und benutzerdefinierte Eigenschaften verändern.

Alternativen:

  • verwende PAC4SWX. Damit kannst Du die (ET-)Dateien im Browser auswählen und Dein Makro auf die Dateien loslassen.
  • wenn Du die Eigenschaften eines Einzelteils in einer geöffneten Baugruppe verändern willst, geht das auch mit dem Excel-Makro (Nr. 05 in der Makro Tasuchbörse von Stefan Berlitz) von Andreas Müller. Kann auch konfigurationsspezifische Dateieigenschaften verändern!

HTH & bis demnäx,
Ralf

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

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

Bernd Knab
Mitglied



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

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 30. Jul. 2007 09:48    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 Kriechi 10 Unities + Antwort hilfreich

Hallo,

ist mit Beispielen in der VBA Hilfe beschrieben.

Gruß Bernd

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

Kriechi
Mitglied



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

Beiträge: 147
Registriert: 06.07.2007

Solidworks Office Prof. 2008 SP 4.0
Win XP SP2
Intel Core 2 6600 (2.40 GHz)
2GB RAM
nVidia Quadro FX 1500
Monitor HP LP2465

erstellt am: 30. Jul. 2007 10: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

die Bsp's werd ich gleich suchen und anschauen!

Das Makro von Andreas Müller habe ich schon angeschaut, allerdings is da ein Kennwort vergeben, somit weiß ich nicht wie er das gemacht hat, ich könnt ihn auch fragen 

mfg

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