| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
| KISTERS 3DViewStation: Effektiver Know-how-Schutz von sensiblen Produktdaten, eine Pressemitteilung
|
Autor
|
Thema: Dokument aufrufen und zuweisen (1995 mal gelesen)
|
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 07. Feb. 2011 10:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Community, habe jetzt ein Weilchen in der Suche gestöbert, aber wie immer nichts gefunden was mir weitergeholfen hat. (Vielleicht mach ich auch irgendwas falsch ) Nunja ich habe zumindest zwei Catia Part Dateien in einem Ordner, welche meine Vorlagen für ein VBA - Skript darstellen: Ein Rohteil und ein Fertigteil. Zu erkennen sind die Teile in den Namen an den Endziffern 002 und 102. Nun versuche ich 2 partdocuments zu erstellen und diese Dateien diesen documents zuzuordnen, um dann in meiner UserForm die Parameter ändern zu können. Habe bisher immer nur ein Dokument bearbeitet und mit ActiceDocument gearbeitet, bei zweien weiss ich aber nicht, wie ich in VBA die Dateien aus einem bestimmten Ordner aufrufen kann. Kann man einfach sagen: Set partdocument1 = namexxx.CATPart ? Oder welche Möglichkeiten gibt es dort? ------------------ Grüße aus dem schönen Düsseldorf Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Feb. 2011 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelTreiber
Servus Dazu gibt es die Funktion Open bei den Documents. Beispiel aus der Doku: Code: FileToRead = "e:\users\psr\Parts\ThisIsANicePart.CATPart" Dim Doc As Document Set Doc = Documents.NewFrom(FileToRead)
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 08. Feb. 2011 14:29 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort, soweit hört sich der Code recht hilfreich an, allerdings bin ich ja noch ein Greenhorn in VBA, daher weiss ich nicht recht mit der Zeile Set Doc = Documents.NewFrom(FileToRead) umzugehen. Diese kann ich ja nicht einfach kopieren oder? Wofür genau steht der Name "Documents" und der Befehl "NewFrom"? Hab schon ein wenig rumprobiert aber ich bekomme immer wieder einen Error. Code: Dim partDocument1 As partDocument Dim Doc1 As Document FileToRead = "M:\TreiberM\Template_Ballpin_Finished_Gr38_002.CATPart" Set Doc1 = partDocument1.GetItem(FileToRead) Set partDocument1 = Doc1 Dim partDocument2 As partDocument FileToRead = "M:\TreiberM\Template_Ballpin_Blank_Gr38_102.CATPart" Dim Doc2 As Document Set Doc2 = Documents.NewFrom(FileToRead) Set partDocument2 = Doc2
"Compile Error: ByRef argument type mismatch" Wahrscheinlich ist sogar mein Ansatz vollkommen falsch, vielleicht bringt der Code mehr Einblicke in meinen Datensalat :-P ------------------ Grüße aus dem schönen Düsseldorf Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Feb. 2011 14:37 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelTreiber
Servus Sorry, ich hab dir den falschen Befehl genannt, es muss Open nicht NewFrom sein: Code: FileToOpen = "e:\users\psr\Parts\ThisIsANicePart.CATPart" Dim Doc As Document Set Doc = Documents.Open(FileToOpen)
Documents ist die Collection (Sammlung) aller im Moment geöffneten Dokumente in CATIA.Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 08. Feb. 2011 14:52 <-- editieren / zitieren --> Unities abgeben:
Habe den Befehl umgewandelt, jedoch sagt er mir nun dass bei der Zeile Set Doc1 = Documents.Open(FileToOpen) folgendes: "Object required". Bin verwirrt :/ ------------------ Grüße aus dem schönen Düsseldorf Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Feb. 2011 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelTreiber
|
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 08. Feb. 2011 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelTreiber
Das sollte es auch tun: Sub CATMain() Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As PartDocument Set partDocument1 = documents1.Open("M:\TreiberM\Template_Ballpin_Finished_Gr38_002.CATPart") End Sub ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 08. Feb. 2011 15:07 <-- editieren / zitieren --> Unities abgeben:
|
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 08. Feb. 2011 15:14 <-- editieren / zitieren --> Unities abgeben:
Danke nun meckert das Programm nicht mehr Zwar hackt es jetzt weiter hinten im Quelltext aber die erste Hürde ist geschafft Vielen Dank ------------------ Grüße aus dem schönen Düsseldorf Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 09. Feb. 2011 11:51 <-- editieren / zitieren --> Unities abgeben:
Zu meinem Bedauern habe ich festgestellt, dass das Problem immernoch nicht ganz behoben ist... Er ruft die Dateien nun auf und ordnet sie den partdocuments zu (zumindest glaube ich das ), aber Probleme gibt es immernoch, ich poste euch nochmal meinen Code, vielleicht findet ja jemand etwas. Ich habe auch mal ein Screenshot hinzugefügt.
Code: Private Sub BTcreate_Click()Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As PartDocument Set partDocument1 = documents1.Open("M:\TreiberM\Template_Ballpin_Finished_Gr38_002.CATPart") Dim part1 As Part Set part1 = partDocument1.Part Dim parameters1 As Parameter Set parameters1 = part1.Parameters
Dim length1 As Length Set length1 = part1.Parameters.Item("Bracket_Start_Radius") length1.Value = TBbracketstartradius.Text Dim parameters2 As Parameter Set parameters2 = part1.Parameters Dim length2 As Length Set length2 = part1.Parameters.Item("Bore_Diameter") length2.Value = TBborediameter.Text Dim parameters3 As Parameter Set parameters3 = part1.Parameters Dim length3 As Length Set length3 = part1.Paramaters.Item("Bore_Fixing_Center") length3.Value = TBborefixingcenter.Text Dim documents2 As Documents Set documents2 = CATIA.Documents
Dim partDocument2 As PartDocument Set partDocument2 = documents2.Open("M:\TreiberM\Template_Ballpin_Blank_Gr38_102.CATPart") Dim part2 As Part Set part2 = partDocument2.Part Dim parameters4 As Parameter Set parameters4 = part2.Parameters Dim length4 As Length Set length4 = part2.Parameters.Item("Bracket_Surface_Width") length4.Value = TBbracketsurfacewidth.Text
------------------ Grüße aus dem schönen Düsseldorf Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12014 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 09. Feb. 2011 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für MichaelTreiber
Servus Ich glaub du hast ein Tippfehler: Dim parameters1 As Parameters Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 09. Feb. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MichaelTreiber Mitglied Technischer Produktdesigner
Beiträge: 63 Registriert: 26.01.2011 Win XP/7 (64 Bit) Catia V5R18
|
erstellt am: 09. Feb. 2011 12:48 <-- editieren / zitieren --> Unities abgeben:
Ach Herrje wie peinlich Danke dir Kannst du mir noch evtl kurz sagen welchen Parametertyp in CATIA eine Combobox hat? Es ist weder ein Length (hat nur ne Value aber keine Längenangabe und nur eine bestimmte Auswahl von Werten) noch ist ein Integer Wert... Edit: Habs , ein einfacher String Wert. Das Programm läuft nun einwandfrei, danke nochmals 10pts. sind schon zugewiesen ------------------ Grüße aus dem schönen Düsseldorf Michael
[Diese Nachricht wurde von MichaelTreiber am 09. Feb. 2011 editiert.] [Diese Nachricht wurde von MichaelTreiber am 09. Feb. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |