| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Abfrage, ob Formatvorlagen vorhanden sind (735 mal gelesen)
|
Rainer Lwr Mitglied Dipl.Ing.Konstruktion
Beiträge: 541 Registriert: 21.10.2002 SE ST7 MP9; Intel i5-3470, 3,20GHz 8GB RAM; AMD FirePro V4900 ERP: Pro-Alpha / CA-Link
|
erstellt am: 28. Nov. 2005 09:23 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Gibt es eine Möglichkeit mit VB abzufragen, ob Formatvorlagen vorhanden sind ? Wir haben Kaufteile, bei denen keine Formatvorlagen (Material,Farben) vorhanden sind. Beim Programmieren tritt ein Fehler auf, den ich nicht mit "On Error Goto" umgehen möchte. Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 28. Nov. 2005 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
|
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7321 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 28. Nov. 2005 17:22 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
Was ist denn gegen ein "On Error resume next" einzuwenden. Ich dachte das wäre der normale Weg. Fehler abfangen und dann berücksichtigen. Das ist doch schneller, als vorher alle FaceStyles durchzulaufen und die Namen zu vergleichen. Irgendwo mußt Du ja die Problematik behandeln. Entweder vor dem Zugriff auf den Style oder danach. Ich denke zweiteres ist hier deutlich unproblematischer. ------------------ APeters@BSS-Online.de [Diese Nachricht wurde von Arne Peters am 28. Nov. 2005 editiert.] 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: 29. Nov. 2005 07:38 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
Hallo Arne. Erst einmal vielen Dank für die schnellen Antworten. In dem Programm möchte ich aus allen Einzelteilen und den Assemblies bestimmte Formatvorlagen löschen. Grund: In den Formatvorlagen und somit in allen Dokumenten weißt eine Formatvorlage auf ein jpg hin, was es nicht mehr gibt bzw. den Server auf dem es früher war. Somit habe ich das Programm OpenSave umgeschrieben. Jetzt rufe ich eine Subroutine auf, in der ich als erste prüfen möchte, ob überhaupt Formatvorlagen vorhanden sind, wenn nicht kann ich sofort wieder zurückspringen. - deshalb der Befehl - !!! Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7321 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 29. Nov. 2005 07:51 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
Ja, es ist mir auch schon aufgefallen. Wenn es Dokumente gibt, die gar keine Facestyles enthalten, dann ist das .count natürlich geeignet. Ansonsten würde ich, ohne jetzt weiter nachzusehen folgendes denken, wenn man die auch über den Namen ansprechen kann. on error resume next set objStyle = [...].objfacestyles("MeinStyle") if err then msgbox "nix da" else objstyle.delete endif on error goto 0
------------------ APeters@BSS-Online.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 29. Nov. 2005 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
Stefan, wie wäre es mit einer Hilfsfunktion: Private Function CheckFaceStyle(ByVal mFaceStyleName As String, _ ByRef mFaceStyle As SolidEdgeFramework.FaceStyle, _ Optional ByVal bDelete As Boolean = True) As Boolean 'Formatvorlagen für Teilflächen ermitteln und optional löschen On Error GoTo ErrorHandler Set mFaceStyle = ActDoc.FaceStyles(mFaceStyleName) If bDelete Then mFaceStyle.Delete Set mFaceStyle = Nothing End If CheckFaceStyle = True Exit Function ErrorHandler: Err.Clear End Function pablo 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: 29. Nov. 2005 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer Lwr
Hallo pablo Ich möchte nicht alle Formatvorlagen aus den Dokumenten löschen, sondern ein paar bestimmte behalten. Außerdem möchte ich in den Einzelteilen fast alle löschen, in dem Zusammenbau ein paar mehr lassen. Dafür habe ich zwei unterschiedliche Textdateien geschrieben (für asm und für den Rest), in denen ich die Namen der Formatvorlagen schreibe, die ich nicht löschen will. Die Subroutine läd dann dementsprechend die Textdatei und vergleicht die vorhandenen Formatvorlagen mit denen aus der Textdatei und löscht sie ggf.. Leider tritt auch bei Assemblies das Problem auf, das Formatvorlagen abhängig voneinander erstellt wurden (basiert auf), deshalb muß ich die Prozedur mehrfach durchlaufen lassen. Ich werde mal deinen Ansatz mit übernehmen und mal schauen. Danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |