Autor
|
Thema: Anfängerfrage Reframe / FileSelectionBox (6598 mal gelesen)
|
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 18. Mrz. 2009 15:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Miteinander, folgendes Script soll nur eine Datei öffnen und "Fit all in" ausführen. Macht es aber leider nicht (Fit all in). Wenn ich das Script ein zweites mal aufrufe wenn die Datei bereits geöffnet ist, dann funktioniert es. Language="VBSCRIPT" Sub CATMain() Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As Document Dim strfile As String strfile = CATIA.FileSelectionBox("Select a file", "*.CATPart", CatFileSelectionModeOpen) Set partDocument1 = documents1.Open(strfile) Dim specsAndGeomWindow1 As Window Set specsAndGeomWindow1 = CATIA.ActiveWindow Dim viewer3D1 As Viewer Set viewer3D1 = specsAndGeomWindow1.ActiveViewer viewer3D1.Reframe() End Sub Noch eine Frage: Gibt es noch eine Alternative zur FileSelectionBox, wo man auch mehrere Dateien auf einmal öffnen kann. Danke schon mal. Grüße Merlin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pgmuer Mitglied
Beiträge: 111 Registriert: 22.01.2002 Catia V5 R18 Sp8 Catia V5 R19 Sp6
|
erstellt am: 18. Mrz. 2009 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
|
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 18. Mrz. 2009 15:52 <-- editieren / zitieren --> Unities abgeben:
|
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 18. Mrz. 2009 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Hallo Schon mal so probiert ? Code: sInputFile = CATIA.FileSelectionBox("Part auswaehlen und ab geht's!", "*.CATPart", CatFileSelectionModeOpen) Set oDoc = CATIA.Documents.Open(sInputFile)
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 18. Mrz. 2009 16:29 <-- editieren / zitieren --> Unities abgeben:
|
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 18. Mrz. 2009 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
|
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 18. Mrz. 2009 16:58 <-- editieren / zitieren --> Unities abgeben:
|
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 18. Mrz. 2009 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Sorry das habe ich jetzt nicht gesehen Frage doch mal mit eine msgbox ab was in strfile steht Wie sieht der Pfad zum Teil aus hast du leerzeichnen sonderzeichen im Pfad mit Drin?
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 18. Mrz. 2009 17:08 <-- editieren / zitieren --> Unities abgeben:
|
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 18. Mrz. 2009 17:35 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Code: Set specsAndGeomWindow1 = CATIA.ActiveWindow
In meinen Skripten steht das immer So z.B. Code: Set specsAndGeomWindow1 = CATIA.ActiveDocument
Und zu deiner zweiten frage
Achtung ist nur aus einen Skript rauskopiert kannst ja die Passenden Code Zeilen rausnehme Diese Skript gleicht den Speichernamen und die Partnumber ab und Passt die Partnumber an den Speichernamen an
Code: Sub DATEI_gleich_PARTN'If Err Then 'msgbox "Es ist ein Fehler Aufgetreten" 'Exit Sub 'end if Dim Eingabe As String sInputFile = CATIA.FileSelectionBox("Product auswählen (Bitte wählen Sie nocheinmal das Orginal aus)", "*.CATProduct", CatFileSelectionModeOpen) Pfad = Left(sInputFile, InStrRev(sInputFile, "\") )
Dim oFileSystem As INFITF.FileSystem Set oFileSystem = CATIA.FileSystem Dim oFolder As INFITF.Folder ' Verzeichnisname für CATIA-Part Set oFolder = oFileSystem.GetFolder (Pfad) Dim FileSep As String FileSep = oFileSystem.FileSeparator Dim i As Long Dim j as Variant Dim oFile As INFITF.File Dim oActiveDoc As DrawingDocument 'Dim BackView As DrawingView 'Dim oText As DrawingText For i = 1 To oFolder.Files.Count Set oFile = oFolder.Files.Item(i) If Right(oFile.Name, 7) = "CATPart" Then Set oActiveDoc = CATIA.Documents.Open(oFolder.Path + FileSep + oFile.Name) On Error Resume Next Dim document As document Dim splitname As string Set document = CATIA.ActiveDocument splitname = Split(document.Name, ".") Set pro = document.Product pro.PartNumber = splitname(0) oActiveDoc.Save oActiveDoc.Close End If 'For i = 1 To oFolder.Files.Count Set oFile = oFolder.Files.Item(i) If Right(oFile.Name, 10) = "CATProduct" Then Set oActiveDoc = CATIA.Documents.Open(oFolder.Path + FileSep + oFile.Name) 'Dim document As document 'Dim splitname As string Set document = CATIA.ActiveDocument splitname = Split(document.Name, ".") Set pro = document.Product pro.PartNumber = splitname(0) oActiveDoc.Save oActiveDoc.Close End If Next End sub
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ogard1 Mitglied Verfahrenstechniker
Beiträge: 442 Registriert: 12.09.2004 R19 SP2
|
erstellt am: 18. Mrz. 2009 18:59 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Hallo, so musste es funktionieren. Gruß Sub CATMain() Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As Document Dim strfile As String strfile = CATIA.FileSelectionBox("Select a file", "*.CATPart", CatFileSelectionModeOpen) Set partDocument1 = documents1.Open(strfile) Dim specsAndGeomWindow1 As Window Set specsAndGeomWindow1 = CATIA.ActiveWindow Dim viewer3D1 As Viewer Set viewer3D1 = specsAndGeomWindow1.ActiveViewer viewer3D1.Activate() CATIA.ActiveWindow.ActiveViewer.Reframe End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 19. Mrz. 2009 07:40 <-- editieren / zitieren --> Unities abgeben:
|
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 19. Mrz. 2009 07:45 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, das automatische Öffnen aller Dateien im Verzeichnis ist zwar schön, hilft mir aber leider nicht. Ich muss immer nur bestimmte Dateien auswählen. Ich brauche also wirklich Multiselekt. Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 19. Mrz. 2009 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Schönen guten morgen zusammen, die multiselection von files funktioniert in VBA ,aber nur wenn du mit Common dialogs arbeitest.Das Problem ist das dein Makro nur auf PCs dann arbeitet in denen dieses auch explizit in VBA aktiviert wurde.Also musst du das Modul dann auf allen kisten aktivieren. Grüsse Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 19. Mrz. 2009 08:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Andy, das mit dem VBA wäre kein Problem. Werde ich mir mal anschauen. @all: Reframe für nun so funktionieren: Language="VBSCRIPT" Sub CATMain() Dim partDocument1 As Document Dim strfile As String strfile = CATIA.FileSelectionBox("Select a file", "*.CATP*", CatFileSelectionModeOpen) Set partDocument1 = CATIA.Documents.Open(strfile) Dim specsAndGeomWindow1 As Window Set specsAndGeomWindow1 = CATIA.ActiveWindow Dim viewer3D1 As Viewer Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
CATIA.StartCommand("Multi-View") CATIA.StartCommand("Fit all in") End Sub Leider funktioniert CATIA.StartCommand("Fit all in") erst beim zweite Aufruf des Macros. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 19. Mrz. 2009 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Morgen Dann habe ich nur die Idee das du alles erst manuell öffnest und dann das Makro ausführst und Fenster für Fenster abarbeitest. Oder wenn die Teile in einem Product verbaut wurden mit "UserSelektion.Search" arbeitest
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 19. Mrz. 2009 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Hallo merlin eine Frage hab ich wegen dem multiselect,willst du jedes teil in einem separaten fenster öffnen ? Wenn ja geht es auch ohne Commondialog in VBA.Bau dir einen Dialog mit listview wähle das verzeichnis und lass dir alle Catparts in der listview mit dem Dateinamen anzeigen.Dort hast du ja dann eine multiselect auswahl mit der du weiterarbeiten kannst. Gruß Andy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 19. Mrz. 2009 13:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Andy, sorry das ich so dumm frage, aber ich weis es wirklich nicht besser. Gibt es nicht eine Möglichkeit den "Datei öffnen" Dialog wie im Catia aufzurufen. Dort hab ich ja auch die Möglichkeit von Multiselekt. Grüße Merlin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 19. Mrz. 2009 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für merlin74
Hallo Merlin, das geht ,aber wie gesagt nur mit dem Common Dialog modul in VBA.Schau dir mal das Common Filedialog system an.Ansonsten musst du es dir mit einem dialog und ner listview selber bauen.Was den Vorteil hat das es auf allen Catia Kisten mit VBA läuft ohne das Modul zusätzlich zu laden. Gruß Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
merlin74 Mitglied Informatiker
Beiträge: 118 Registriert: 09.03.2004 Dell Precision T3500, Catia R19, Windows 7 x64 SP1
|
erstellt am: 19. Mrz. 2009 16:02 <-- editieren / zitieren --> Unities abgeben:
Ich hab was ganz einfaches gefunden, wie ich an den Öffnen-Dialog von Catia komme: CATIA.StartCommand "Öffnen" Leider funktioniert dann das Reframe bei der ersten ausgewählten Datei wieder nicht mehr. Ich bin soweit, ich gebs auf. Danke an alle für die Hilfe. Grüße Merlin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |