| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung
|
Autor
|
Thema: Drawing erkennen (1222 mal gelesen)
|
KarinMueller Mitglied

 Beiträge: 43 Registriert: 14.03.2003
|
erstellt am: 28. Okt. 2003 10:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich möchte herausfinden, ob bereits ein Drawing geöffnet ist oder nicht, das heißt, ich muss wissen, ob in einem Fenster ein Part, ein Drawing usw geöffnet ist. Wie finde ich das heraus?? Danke und viele Grüße!
------------------ Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tstone Mitglied Werkzeugkonstrukteur
 
 Beiträge: 163 Registriert: 04.06.2003 Dell Precision 470 Intel Xeon CPU 3,00GHz 2GB Ram Microsoft Windows XP Catia V5 R18 SP6 VB2005
|
erstellt am: 28. Okt. 2003 11:44 <-- editieren / zitieren --> Unities abgeben:          Nur für KarinMueller
Hallo Karin Um dir weiterhelfen zu können, habe ich noch eine Frage: Geht es nur darum ob das Aktive Dokument ein Drawing ist oder ob überhaupt eins von den geöffneten Dokumenten ein Drawing ist? Gruß TStone Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KarinMueller Mitglied

 Beiträge: 43 Registriert: 14.03.2003
|
erstellt am: 28. Okt. 2003 11:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, wenn ich weiss, ob das aktive Dokument ein Drawing ist, kann ich ja alle offenen Fenster durchgehen und prüfen, ob ein Drawing darunter ist. Deshalb würde es mir reichen zu wissen, ob mein aktives Dokument ein Drawing ist. Danke! ------------------ Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tstone Mitglied Werkzeugkonstrukteur
 
 Beiträge: 163 Registriert: 04.06.2003 Dell Precision 470 Intel Xeon CPU 3,00GHz 2GB Ram Microsoft Windows XP Catia V5 R18 SP6 VB2005
|
erstellt am: 28. Okt. 2003 12:26 <-- editieren / zitieren --> Unities abgeben:          Nur für KarinMueller
Hi Also hier eine Möglichkeit um zu schauen ob das Aktive Dokument ein Drawing ist: Dim S1 As Boolean Dim oDoc As Object Set oDoc = CATIA.ActiveDocument If TypeOf oDoc Is DrawingDocument Then S1 = True Else S1 = False End If ... So geht, aber noch eine Frage: Was brauchst du für die Weiterbearbeitung, das Window oder das Document? Gruß und Mahlzeit TStone Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KarinMueller Mitglied

 Beiträge: 43 Registriert: 14.03.2003
|
erstellt am: 28. Okt. 2003 14:46 <-- editieren / zitieren --> Unities abgeben:         
Danke, aber wo ist denn die Funktion TypeOf her bzw wie wende ich sie an? Ist das eine CATIA Funktion (die ich dann im Programming Interface nicht finde)? So, wie die Funktion in dem Beispiel angewendet ist, fuktioniert es jedenfalls nicht... ------------------ Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KarinMueller Mitglied

 Beiträge: 43 Registriert: 14.03.2003
|
erstellt am: 28. Okt. 2003 15:44 <-- editieren / zitieren --> Unities abgeben:         
Jetzt habe ich selbst eine Lösung gefunden, die auf jeden Fall funktioniert: Dim docName As String Dim iPos As Integer Dim iLaengeDocName As Integer Dim sDocType As String '- vollständiger Name des aktiven Dokuments, mit Pfad und Documententyp, zB d/temp/Drawing1.CATDrawing - docName = CATIA.ActiveDocument.FullName '- um Dokumententyp herauszufinden, muss Textteil nach "CAT" gelesen werden - '- zuerst Länge der Zeichenkette ermitteln - iLaengeDocName = Len(docName) '- an welcher Stelle im Text ist der erste Buchstabe von "CAT" ? - iPos = InStr(docName, "CAT") '- rechter Teil der Zeichenkette, ab Position, wo "CAT" anfängt, plus 2 wegen dem restlichen Zeichen "AT" sDocType = Right(docName, iLaengeDocName-(iPos+2)) msgbox "Typ: "&sDocType Zwar ein bischen kompliziert, aber es geht!
------------------ Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tstone Mitglied Werkzeugkonstrukteur
 
 Beiträge: 163 Registriert: 04.06.2003 Dell Precision 470 Intel Xeon CPU 3,00GHz 2GB Ram Microsoft Windows XP Catia V5 R18 SP6 VB2005
|
erstellt am: 29. Okt. 2003 09:20 <-- editieren / zitieren --> Unities abgeben:          Nur für KarinMueller
|
dr Mitglied CAD-/PLM-Entwickler und -Berater

 Beiträge: 87 Registriert: 30.10.2001
|
erstellt am: 29. Okt. 2003 14:19 <-- editieren / zitieren --> Unities abgeben:          Nur für KarinMueller
Hallo Karin, Deine Lösung ist schon sehr gut, aber noch ein bissel besser wird's, wenn Du nicht von links nach 'CAT' suchst, sondern von rechts nach '.CAT'. Sonst kann man die Zeichenfolge CAT nicht im Pfadnamen verwenden... Schau Dir mal die VB-Funktion InStrRev an - müsste es in VB-Script eigentlich auch geben... - Danny ------------------ Danny Reinhold Reinhold Software & Services Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KarinMueller Mitglied

 Beiträge: 43 Registriert: 14.03.2003
|
erstellt am: 29. Okt. 2003 14:23 <-- editieren / zitieren --> Unities abgeben:         
|
hagengu Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 28.07.2003 V5R20SP5 Win7-64 SP1 HP XW8400 4GB Ram Nvidia Quadro FX3500
|
erstellt am: 30. Okt. 2003 12:41 <-- editieren / zitieren --> Unities abgeben:          Nur für KarinMueller
Hallo, viele Wege führen nach Rom! so geht es recht einfach: Sub test() Dim DrwDocument As DrawingDocument On Error Resume Next Set DrwDocument = CATIA.ActiveDocument If Error <> "" Then MsgBox "keine Zeichnung ist aktiv" Else MsgBox "eine Zeichnung ist aktiv" End If On Error GoTo 0 End Sub Gruß Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |