| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | 3DEXPERIENCE CATIA für Fortgeschrittene - Online-Live, ein Seminar am 06.07.2026
|
|
Autor
|
Thema: Zeichnung vorhanden ? (406 mal gelesen)
|
Linus Mitglied Dipl.Ing. Maschinenbau

 Beiträge: 12 Registriert: 25.11.2002
|
erstellt am: 04. Mrz. 2003 12:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen Hat jemand eine Ahnung ,wie man mit VB abprüft ob ein Teil oder eine Ansicht in einer Zeichnung überhaupt vorhanden ist? Oder anderstherum gefragt, wie dedektiert man ob eine Zeichnung noch leer ist? Gruß
Marco
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: 04. Mrz. 2003 13:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Linus
Hallo Marco, mit ModelDoc2::GetDependencies2 bekommst du heraus, welche Dateien von einem ModelDoc referenziert werden. Wenn du dann nichts zurückbekommst (also das Variant Empty ist) hast du schon mal keine referenzierten Dokumente. Du könntest natürlich auch einfach alle Views abklappern und mit View::GetReferencedModelName die Infos holen ... Aber das heißt nicht zwangsläaufig, dass die Zeichnung noch leer ist, da könnte schon (leere) Views drauf sein, oder jemand hat was auf Blattebene skizziert usw. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Linus Mitglied Dipl.Ing. Maschinenbau

 Beiträge: 12 Registriert: 25.11.2002
|
erstellt am: 04. Mrz. 2003 13:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, ich versuch Dir vielleicht mal mein Hauptproblem zu schildern. Mit einem Makro check ich den Filenamen einer Ansicht in einer Zeichnung um diesen Weiterzuverarbeiten. Set currentView = ModelDoc.GetFirstView Set currentView = currentView.GetNextView FileName = currentView.GetReferencedModelName Filter = InStr(1, FileName, ".") FileName = Left(FileName, Filter - 1) wenn nun aber kein Teil oder Baugruppe auf der Zeichnung sind, bekomme ich natürlich beim Abfragen eine Fehlermeldung. Deshalb will ich deren Existenz ermitteln. Gruß Marco
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Linus Mitglied Dipl.Ing. Maschinenbau

 Beiträge: 12 Registriert: 25.11.2002
|
erstellt am: 04. Mrz. 2003 13:40 <-- editieren / zitieren --> Unities abgeben:         
Danke Stefan, ich habe eine Lösung gefunden: Set currentView = ModelDoc.GetFirstView Set currentView = currentView.GetNextView If currentView Is Nothing Then Call MsgBox("Teil oder Baugruppe nicht vorhanden!") Else FileName = currentView.GetReferencedModelName Filter = InStr(1, FileName, ".") FileName = Left(FileName, Filter - 1) Gruß
Marco 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: 04. Mrz. 2003 13:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Linus
Hallo Marco, das machst du üblicherweise andersherum: nicht vorher ermitteln, ob was da ist, sondern einfach abfragen und den "Fehler" entsprechend unterscheiden:
Code:
Dim swApp As Object Dim ModelDoc As Object Dim currentView As Object Dim FileName As String Dim Filter As LongSub main() Set swApp = CreateObject("SldWorks.Application") Set ModelDoc = swApp.ActiveDoc Set currentView = ModelDoc.GetFirstView Set currentView = currentView.GetNextView If Not currentView Is Nothing Then FileName = currentView.GetReferencedModelName If Len(FileName) > 0 Then Filter = InStr(1, FileName, ".") FileName = Left(FileName, Filter - 1) Else MsgBox "Leere View?" End If Else MsgBox "Kein View zu finden" End If End Sub
Also, bei dem View einfach abfragen, ob der überhaupt gesetzt ist (also ob das Object Nothing ist). Dann könnte es noch ein leerer View sein, dann ist der Rückgabewert ein Leerstring. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Linus Mitglied Dipl.Ing. Maschinenbau

 Beiträge: 12 Registriert: 25.11.2002
|
erstellt am: 04. Mrz. 2003 13:47 <-- editieren / zitieren --> Unities abgeben:         
|