| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Im Fokus: CAD Automation & CPQE |
Autor
|
Thema: Dateigröße über SW auslesen? (1316 mal gelesen)
|
frumms Mitglied
Beiträge: 18 Registriert: 03.06.2004
|
erstellt am: 13. Sep. 2004 11:56 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ist es möglich über SW die Dateigröße einer SW-File auszulesen? Wir arbeiten mit der MaxxDB und haben keinen direkten Zugriff auf den Speicherbereich der MaxxDB (um so die Dateigröße zu ermitteln). MfG Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 13. Sep. 2004 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für frumms
Hallo Christian, und herzlich willkommen im SolidWorks-Forum Ich versteh leider überhaupt nicht, was du meinst oder vorhast ... SolidWorks ist keine Programmiersprache oder so etwas. Wenn du keinen Zugriff auf den "Speicherbereich" der MaxxDB hast, wie sollte dann SolidWorks darankommen können? Und wenn ihr doch schon ein Verwaltungssystem habt und diese Infos (wozu auch immer) benötigt ist es sicher ein leichtes solch ein Feld mit reinzumachen und automatisch beim Einchecken auszufüllen. Aber vielleicht verstehe ich auch nur das Problem nicht ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frumms Mitglied
Beiträge: 18 Registriert: 03.06.2004
|
erstellt am: 14. Sep. 2004 07:24 <-- editieren / zitieren --> Unities abgeben:
Hi @Stefan, ist ganz einfach... Wenn ich das Kontextmenü (also rechte Maustaste) einer Datei aufrufe kann man die Dateigröße ablesen. Da ich aber durch den Einsatz der MaxxDB nicht befugt bin auf den Speicherpfad zuzugreifen, wollte ich wissen, ob nicht man sich nicht auch durch SolidWorks die Größe eines geöffneten Parts oder einer geöffneten Assembly anzeigen lassen kann. Vielleicht gibt es einen $PRP- oder $PRPMODEL-Befehl? Grüße Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 14. Sep. 2004 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für frumms
Hallo Christian, wie könnt ihr die Datei aufrufen, wenn ihr nicht berechtigt seid auf den Speicherpfad zuzugreifen? Nach meiner Vorstellung müsst ihr entweder Zugriff auf die Datei haben oder die MaxxDB checkt die Datei vorher irgendwo lokal auf den Rechner aus und dann kannst du die Datei ja abfragen. Ich hab dir mal ein Makro gestrickt, dass nichts anderes tut, als bei der Datei, die gerade offen ist, mal nachschauen, wie gross die dazu gehörende Datei ist. Keine grossen Fehlerfallen, sollte aber seine Arbeit tun: Code:
Dim swApp As Object Dim modeldoc As Object Dim dateiname As StringSub main() ' an SolidWorks Session anklinken und ggf. sichtbar machen Set swApp = CreateObject("SldWorks.Application") swApp.Visible = True ' Zeiger auf aktives Dokument holen und überprüfen, ob überhaupt eins aktiv ist Set modeldoc = swApp.ActiveDoc If modeldoc Is Nothing Then MsgBox ("Kein Modell geöffnet") End End If dateiname = modeldoc.GetPathName MsgBox "Aktuelle Datei: " & dateiname & vbCrLf & "Dateigröße: " & FileSize(dateiname) End Sub Function FileSize(ByVal sFile As String) As Long Rem Der Parameter sFile enthält den zu prüfenden Dateinamen Dim Size As Long On Local Error Resume Next Size = FileLen(sFile) FileSize = IIf(Err = 0, Size, -1) On Local Error GoTo 0 End Function
Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 14. Sep. 2004 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für frumms
hallo, bis heute vormittag hab ich mich auch gefragt, wozu braucht man sowas, wenn man es über den Explorer leicht anschauen kann. Als ich jedoch heute wiedermal eine Parasolid-Datei von einem Zulieferer importiert habe und dabei ein Sack voll Dateien von Teilen und Unterbaugruppen erzeugt wurden - da kam die Idee mit Speichern einer Baugruppe als Teil - gesagt, getan, soweit auch kein Problem - aber nun wollte ich wissen, bringt das auch was bzgl. Speichergröße und damit Ladezeiten - und wenn wieviel ? Jetzt für alle Komponenten im Explorer die Dateigröße zusammenzählen ... Das was nun Motivaton genug, mich mit o.g. Fragestellung auseinandersetzen - und es ist gar kein Problem von SWX-API, sondern eine primitive VB-Funktion - wie Stefan inzwischen schon gepostet hat : FileLen(dateiname) ist das entscheidende Schlüsselwort. Das habe ich mal fix in mein Beispiel-Makro (ComponentsList) von der SWW2003 in Landau eingebaut und schon macht der Rechenknecht die Fleißarbeit ... Ich hab das Makro mal angehängt, falls es jemand braucht ... Ist nicht weiter prickelnd, von allen 1. Instanzen der Baugruppenkomponenten incl. Unterbaugruppen werden die Dateigrößen aufsummiert und fertig!
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
frumms Mitglied
Beiträge: 18 Registriert: 03.06.2004
|
erstellt am: 15. Sep. 2004 07:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, vielen Dank für das Makro!!! Das entspricht genau dem, was ich gesucht habe! Kann man das Makro eigentlich noch so anpassen, das automatisch die Dateigröße in MB angegeben wird, bzw. die Einheit dahinter steht? Ich habe leider von Makros nich sehr viel Ahnung... Wo oder wie kann man sich denn da weiterbilden? Grüße Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A.Oertel Mitglied Dipl.Ing.
Beiträge: 270 Registriert: 12.10.2000
|
erstellt am: 15. Sep. 2004 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für frumms
|