| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Verwendungsnachweis programmieren (3030 mal gelesen)
|
Merle Mitglied Konstrukteur
Beiträge: 50 Registriert: 01.06.2001 Solid Edge ST5 - 64 Bit/ sequentiell Version 105.00.08.05
|
erstellt am: 15. Mai. 2007 12:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich möchte gerne einen Verwendungsnachweis programmieren. In unserer Firma gibt es viele Normteile (Schrauben, Scheiben etc.) aus alten Bibliotheken. Nun weiß ich nicht, welche Normteile noch verbaut sind und welche nicht. Dafür möchte ich ein Programm schreiben, um dies zu überprüfen. Hat vielleicht jemand schon ähnliches gemacht? Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Mai. 2007 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für Merle
Moin, dann befass Dich mal mit der API und den RevisionManager Objekten und Methoden: WhereUsedCriteria() FindWhereUsed() FindWhereUsedOnServer() Im VB muss die 'Revision Manager Object Library' referenziert sein modeng ------------------ Unser Unwissen erobert immer weitere Welten. (S.J. Lec) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Merle Mitglied Konstrukteur
Beiträge: 50 Registriert: 01.06.2001 Solid Edge ST5 - 64 Bit/ sequentiell Version 105.00.08.05
|
erstellt am: 11. Mai. 2008 17:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich habe noch einmal einen Versuch gestartet einen Verwendungsnachweis zu programmieren. Es sieht soweit auch gut aus und ich finde auch über die Funktion FindWhereUsed und WhereUsedCriteria("*.asm") ein Ergebnis. Ich möchte gerne wissen, ob und in welchen Assemblies das Teil noch verbaut ist. Durch den Parameter in WhereUsedCriteria(), den ich weggelassen habe, müsste das Programm mir auch die weiteren Dateien anzeigen. Ich weiß aber nicht wie ich die For ... Next-Schleife in VB6 aufbauen muß, um die anderen Dateien z.B. in eine Liste oder erst einmal als MsgBox anzeigen zu lassen. Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 11. Mai. 2008 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für Merle
Moin, sollte so laufen Code:
Static sPath As String Static bSubFolder As Boolean Static objRev As RevisionManager.Application Static objPart As Object Set objRev = CreateObject("RevisionManager.Application") sPath = "F:\SE-Daten\Ordner\" ' Start-Ordner fuer Suche bSubFolder = True ' mit/ohne Unterordner Set objPart = Nothing ' ' start suche objRev.WhereUsedCriteria("*.asm", bSubFolder) = sPath Set objPart = objRev.FindWhereUsed(Trim(<_your File Name_>)) ' initial call ' ' Loop ueber alle gefundenen Dateien Do While Not (objPart Is Nothing) [...] ' coding fuer die gefundene Datei [...] Set objPart = objRev.FindWhereUsed ' subsequent call Loop ' ' destroy unused objects Set objRev = Nothing Set objPart = Nothing
------------------ Lieber Fehler riskieren als Initiative verhindern (R. Mohn) [Diese Nachricht wurde von modeng am 11. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jürgen Niesner Mitglied
Beiträge: 505 Registriert: 26.11.2001
|
erstellt am: 13. Mai. 2008 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für Merle
Servus Merle, die FindWhereUsed-Methode wurde Dir schon erklärt. Aber damit wirst Du bei einem größeren Datenbestand nicht glücklich werden, da jeder Suchlauf zu einem mehrstündigem Disaster werden wird. Wir haben das anders gelöst. Jede Nacht läuft eine kleines Progi über alle SE-Dateien und liest einstufig alle Links aus. Die treffer werden dann in eine DB-Tabelle (drei Spalten: ID, Ursprungsdatei, Link) geschrieben. Dann kann man in der DB sehr schnell rückwärtssuchen. Nachteil: der Verwendungsnachweis ist nur tagesaktuell, d.h. alles was seit dem letzten Nachtlauf an Links erzeugt oder geändert wurde steht nicht oder fehlerhaft in der DB. Jürgen ------------------ 157*SEV19SR11, 4*SEV20SR03 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kmw Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 4304 Registriert: 26.02.2002 Wer lesen kann, versteht was er liest, und danach handelt ist anderen gegenüber klar im Vorteil. Intel® Core i9-9900 @ 8x 5.0GHz,80GB DDR4-RAM 3200MHz,nVidia GeForce RTX 4080, MS Windows 10 64Bit, Solid Edge Premium Version 220.00.09.004 x64, German (ST20MP9). M$ Surface Book, i7-6600@2.81 Ghz, 16Gb, 512 SSD, Win10 creators upd. Fairphone 4 5G mit Android 11 mit SE-Mobile Viewer ;)
|
erstellt am: 13. Mai. 2008 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für Merle
Wäre ein tool zu verwenden, wie zbsp. der Fastfinder, nicht geschickter ? Die Software läuft prima und kann sofortige Verwendungsnachweise liefern (über ne DB). Ausserdem kostet der Fastfinder nur wenig. Nur so als Vorschlag, bevor ich da selber was programmiere, was andere schon erfunden haben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Merle Mitglied Konstrukteur
Beiträge: 50 Registriert: 01.06.2001 Solid Edge ST5 - 64 Bit/ sequentiell Version 105.00.08.05
|
erstellt am: 13. Mai. 2008 12:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Jürgen, du hast schon soweit Recht, es dauert elendig lange. Ich benötige das Programm um alte Dateien (Normteile) aus dem System aufzuspüren, somit benötige ich hauptsächlich die Aussage, daß eine Datei keine Verwendung mehr hat. Aus dem Grund habe ich eine txt-Datei angelegt mit den Namen der Dokumente, die untersucht werden sollen. In einer anderen Datei stehen die Verzeichnisse, in denen gesucht werden soll und in einer dritten Datei stehen hinterher die Ergebnisse. Dabei vielen Dank an Matthias Leemann, der mir diesen Weg vorgeschlagen hat. Dein Programm hört sich aber sehr interessant an und würde mich sehr interessieren, denn für die Weiterverarbeitung meiner Ergebnislisten muß ich mir noch etwas überlegen. Ist es möglich, daß Du mir das Programm schickst? Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 13. Mai. 2008 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für Merle
|