Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Dokument aufrufen und zuweisen

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
Autor Thema:  Dokument aufrufen und zuweisen (1885 mal gelesen)
MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 07. Feb. 2011 10:33    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 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


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Feb. 2011 10:38    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 MichaelTreiber 10 Unities + Antwort hilfreich

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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 08. Feb. 2011 14:29    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 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


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Feb. 2011 14:37    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 MichaelTreiber 10 Unities + Antwort hilfreich

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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 08. Feb. 2011 14:52    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

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


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Feb. 2011 14:55    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 MichaelTreiber 10 Unities + Antwort hilfreich

Servus
Versuch mal:

Set Doc1 = CATIA.Documents.Open(FileToOpen)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 08. Feb. 2011 15:05    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 MichaelTreiber 10 Unities + Antwort hilfreich

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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 08. Feb. 2011 15:07    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

Nun kommt wieder der Error mit "ByRef argument type mismatch" in der Zeile 

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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 08. Feb. 2011 15:14    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 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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 09. Feb. 2011 11:51    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


VBAError.JPG

 
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


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Feb. 2011 11:59    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 MichaelTreiber 10 Unities + Antwort hilfreich

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


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 09. Feb. 2011 12:48    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

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

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)2023 CAD.de | Impressum | Datenschutz