Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Zeichnung vorhanden ?

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
  
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


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

Beiträge: 12
Registriert: 25.11.2002

erstellt am: 04. Mrz. 2003 12:56    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

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)



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

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 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 Linus 10 Unities + Antwort hilfreich

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


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

Beiträge: 12
Registriert: 25.11.2002

erstellt am: 04. Mrz. 2003 13:22    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

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


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

Beiträge: 12
Registriert: 25.11.2002

erstellt am: 04. Mrz. 2003 13:40    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

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)



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

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 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 Linus 10 Unities + Antwort hilfreich

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 Long

Sub 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


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

Beiträge: 12
Registriert: 25.11.2002

erstellt am: 04. Mrz. 2003 13: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

Sagenhaft, vielen Dank !!!!

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