Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Allgemein
  VBA Fehler Method 'SetImpl' of object 'Documents' failed

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:  VBA Fehler Method 'SetImpl' of object 'Documents' failed (1446 mal gelesen)
ffp19
Mitglied
Student


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

Beiträge: 16
Registriert: 26.04.2017

CatiaV5R20

erstellt am: 29. Mai. 2017 14: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


Bild1.jpg


Bild2.jpg

 
Hallo zusammen,
habe vor ein paar Tagen schon einmal einen Beitrag erstellt, im dem ich bei einem Modell eines Delta-Roboters Schwierigkeiten hatte. Es geht darum, Längen einzelner Bauelemente (Streben) zu verändern und anschließend das Modell zu simulieren. Über das Einfügen neuer Bauteile komme ich leider nicht voran, da es immer wieder Fehler bei den Bedingungen gibt... Es soll auch über den VBA-Code funktionieren, in dem dort nach dem Kompilieren ein Fenster erscheinen sollte, in dem man die Länge ändern kann.
Jetzt habe ich die Fehlermeldung "Method 'SetImpl' of object 'Documents' failed". Klicke ich auf "Debug" springt der in die dritte Zeile:Set partDocument1 = CATIA.Documents.Item("Rods2.CATPart")

Der VBA-Code dazu sieht so aus:


Sub CATMain3()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.Documents.Item("Rods2.CATPart")
Dim part1 As Part
Set part1 = partDocument1.Part
Dim body1 As Body
Set body1 = part1.Bodies.Item("Corps principal")
Dim sketch1 As Sketch
Set sketch1 = body1.Sketches.Item("Esquisse.1")
Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
Dim point2D1 As Point2D
Set point2D1 = geometricElements1.Item("Point.1")

Dim Value As String


Dim ValueDbl As Double
Dim Check As Boolean
Check = False
Do
    Value = InputBox("Please input the desired value", "Value input")
    If Value = vbNullString Then Exit Sub  '
 
    If IsNumeric(Value) Then
      ValueDbl = CDbl(Value)
      Check = True
    Else
        MsgBox "The value should be numerical", vbCritical, "Error"
   
    End If
Loop Until Check = True

point2D1.SetData ValueDbl, 0#
Dim line2D1 As Line2D
Set line2D1 = geometricElements1.Item("Droite.1")
line2D1.SetData 0#, 0#, 1#, 0#
Dim constraints1 As Constraints
Set constraints1 = sketch1.Constraints
Dim constraint1 As Constraint
Set constraint1 = constraints1.Item("Longueur.2")
Dim length1 As Length
Set length1 = constraint1.Dimension
length1.Value = ValueDbl
sketch1.CloseEdition
part1.InWorkObject = sketch1
part1.UpdateObject sketch1


End Sub

Wäre wirklich super, wenn ihr mir helfen könnt.

MfG Felix


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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Mai. 2017 14: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 Nur für ffp19 10 Unities + Antwort hilfreich

Servus Felix

Was hast du denn mit dem Makro vor? bzw was ist deine Aufgabe mit dem Delta-Roboter?
Rein gefühlt hast du wenig Erfahrung mit Catia und willst nun gleich mit einem Makro weiter machen.
Das Makro übernimmt dir ja "nur" das öffnen des Parts und dort den Wert zu ändern.
ggf wäre es über eine einfacheres Modell (ggf auch nur mathematisch) schneller/effektiver dein Problem zu lösen.
Auch dein "Ausflug" in DMU Kinematik ist ggf auch nicht erforderlich.

Gruß
Bernd

PS: Das gepostete Makro spricht alle Objekte im Part per Namen an, somit muss dein Modell genau wie das "Muster" aufgebaut und benannt sein. IMHO somit für dich nicht geeignet.

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

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

ffp19
Mitglied
Student


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

Beiträge: 16
Registriert: 26.04.2017

CatiaV5R20

erstellt am: 29. Mai. 2017 14: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

Das ist schon so fertig erstellt worden, da es ein technisches Projekt der Hochschule ist. Nach dem Betreuer des Projekters hieß es, das Programm sowie das Modell würde soweit laufen, da auch ein Vorgänger damit gearbeitet hat. Leider funktioniert beides gar nicht so wie versprochen, auch wenn ich mich nach einer Anleitung richte, die dafür geschrieben wurde. Muss mir dafür auch selbst alles aneignen.
Also es muss in Catia gemessen werden, welche Auswirkung ein Produktionsfehler (unterschiedliche Strebenlänge, Schiefstellung der Säulen,...) auf die Istposition des TCP hat.

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Mai. 2017 14: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 Nur für ffp19 10 Unities + Antwort hilfreich

Servus
Das Modell wurde scheinbar in der Französischen Sprachumgebung erstellt.
Alle Angaben von Namen im Code musst du überprüfen:
- Welchen Dateinamen hat die Strebe? (vermutlich nicht Rod2.CATPart)
- stimmt der Name des Körpers/GeoSet
- stimmt der Name der Skizze
ggf ist es einfach das Modell nochmal aufzubauen und die Geometrie über Parameter zu ändern und auf das Makro zu verzichten.

Gruß
Bernd

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

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