Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Methode catCstTypeOn failed bei Publications

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:  Methode catCstTypeOn failed bei Publications (1608 mal gelesen)
Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 04. Feb. 2009 18:23    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

Ich habe mal wieder ein Problem ;(
Folgendes Skript sollte "einfach" nur auf externe Referenzen zugreifen und ein Constrain daraus bilden:
Folgende Fehlermeldung kommt bei heraus: "Methode AddBiEltCst failed"
Weiß jemand wieso???

Sub CATMain ()

Dim Position
Position = "VR"


Set Docs = CATIA.Documents
Set ProdDoc = Docs.Item("TTM.CATProduct")
Set Prod = ProdDoc.Product
Set constraints1 = Prod.Connections("CATIAConstraints")

Set oPub = CATIA.ActiveDocument.Product.Products.Item(4).Products.Item("T_VERBINDER_"  &  Position & "")
Set oPublic1 = oPub.Publications.Item("POS_Y_AXIS")
Set Ref1 = oPublic1.Valuation
Set oPublic = CATIA.ActiveDocument.Product.Publications.Item("ANBIND_1_-Y")
Set oPubRef = Public.Valuation
Set Ref2 = oPubRef


Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, Ref1, Ref2)
End Sub

----
Zu den Referezen:
Es sind Publications aus 2 versch. Parts
Es handelt sich um je 2 Linien die Coincidence aufeinander liegen sollten
Per CreateReferencefromName ging vorhher schonmal auf diese Referenzen. Das gefiel mir aber nicht so.
Beispiel:
CreateReferenceFromName("TTM/STEUERPART TTM/!Selection_WireREdge  Wire  Brp  GSMMonoDim.6;%3);None  Limits1  );Limits2  ));Cf11  ));GSMMonoDim.6;Z0;G1971)")
Das kann ich weder nachvollziehen noch als Schleife auf verschiedene Linien beziehen. Darum wollte ich den anderen Weg verfolgen.
In der V5automation Doku fand ich ein Ähnliches Beispiel und dachte das würde auch in meinem Fall gehen.
Per "Hand" geht das ja komischerweise auch..weiß jemand wodran der Fehler liegen könnte?

Schöne Grüße
Tobias

[Diese Nachricht wurde von Daeumling am 04. Feb. 2009 editiert.]

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

Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 04. Feb. 2009 18: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

fehler in der Überschrift..
AddBiEltCstv failed.. nicht der TypOn -.-

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

Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 05. Feb. 2009 08:41    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

Habs jetzt auch mal mit einem Publication Punkt versucht der auf der Linie liegen soll:
Selber Fehler...

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

Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 05. Feb. 2009 09:15    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 noch was Probiert.
Hab mir erstmal die Referenzen über DisplayName ausgeben lassen:

----------------------------------------
----------------------------------------

Sub CATMain ()

'Set oPub = CATIA.ActiveDocument.Product.Products.Item(4) 'TTM Konstr
Dim Position
Position = "VR"


Set Docs = CATIA.Documents
Set ProdDoc = Docs.Item("TTM.CATProduct")
Set Prod = ProdDoc.Product
Set constraints1 = Prod.Connections("CATIAConstraints")

Set oPub = CATIA.ActiveDocument.Product.Products.Item(4).Products.Item("T_VERBINDER_"  &  Position & "")
Set oPublic1 = oPub.Publications.Item("POS_Y_AXIS") ' greift auf Publ. der Ebene TTM zu.. Set Ref1 = oPublic
Set Ref1 = oPublic1.Valuation
Ausg = Ref1.DisplayName
MsgBox(Ausg)
Set oPublic = CATIA.ActiveDocument.Product.Publications.Item("ANBIND_1_-Y") 'greift auf Publ. der obersten EBene zu
Set oPubRef = oPublic.Valuation 'gibt Publ als Referenz fuer Constrains etc  wieder
Set Ref2 = oPubRef
Ausg2 = Ref2.DisplayName
MsgBox(Ausg2)

Set ProdDoc = Docs.Item("TTM.CATProduct")
Set Prod = ProdDoc.Product
Set Ref1 = Prod.CreateReferenceFromName("TTM/T_VERBINDER_" & Position &"/!POS_Y_AXIS")
Ausg = Ref1.DisplayName
MsgBox(Ausg)


'Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, Ref1, Ref2)



End Sub

-----------------------------------------
-----------------------------------------
Da fiel mir nun folgendes auf:

Bei dem Zugriff der Publication über Value gibt er den Pfad (eine Ebene höher) aus und immer die Instanznamen (also .Name)
(hier: "TMZ/TM_S1/T_Verbinder_VR/!POS_Y_Axis")

Bei createReferenceByName gibt er aber "nur" den Pfad wieder des normalen Namens..also PartNumber quasi..
(hier: "TTM/T_Verbinder_VR/!POS_Y_Axis")

könnte das das Problem sein?
Also sowohl dass er beim einen den .Name Pfad verfolgt (beim anderen den .Partnnumber)
also auch die Tatsache, dass er bei Pub.Valuation eine Ebene höher in der Struktur ist?!
WIe umgehe ich das Problem am besten? String abschneiden?

Ich versteh das nicht, da auf V5Automation das genauso gemacht wird (siehe: CAAAsmCstOnPublish.CATScript)

[Diese Nachricht wurde von Daeumling am 05. Feb. 2009 editiert.]

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

Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 05. Feb. 2009 10:21    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

um meinen Monolog fortzusetzen  :

----------------------------------------
----------------------------------------
Sub CATMain ()
Dim Position
Position = "VR"

Set Docs = CATIA.Documents
Set ProdDoc = Docs.Item("TTM.CATProduct")
Set Prod = ProdDoc.Product
Set constraints1 = Prod.Connections("CATIAConstraints")

Set oPub = CATIA.ActiveDocument.Product.Products.Item(4).Products.Item("T_VERBINDER_"  &  Position & "")
Set oPublic1 = oPub.Publications.Item("POS_Y_AXIS")
Set Ref1 = oPublic1.Valuation

Ausg = Ref1.DisplayName
TestRef1 = Ausg
Set TRef1 = Prod.CreateReferenceFromName(TestRef1)

Set oPublic = CATIA.ActiveDocument.Product.Publications.Item("ANBIND_1_-Y") 'greift auf Publ. der obersten EBene zu
Set oPubRef = oPublic.Valuation 'gibt Publ als Referenz fuer Constrains etc  wieder
Set Ref2 = oPubRef

Ausg2 = Ref2.DisplayName
TestRef2 = Ausg2
Set TRef2 = Prod.CreateReferenceFromName(TestRef2)

Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, TRef1, TRef2)



End Sub


----------------------------------------
----------------------------------------
Wenn ich über die Namen gehen und darüber eine Referenz by Name erstellen lassen, dann Funktioniert es komischerweise..
Also er erstellt eine Referenz.

Aber irgendwie kommt er nun mit der einen Referenz nicht so ganz klar..
(gebrochene Coincidence)

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

Daeumling
Mitglied
Student


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

Beiträge: 23
Registriert: 26.01.2009

erstellt am: 05. Feb. 2009 12:20    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 Problem lag an der Publikation.. mit der kam er irgendwie nicht klar..
also mit letztem Quelltext funktioniert es!

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