Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Koordinatensysteme kongruent setzen

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:  Koordinatensysteme kongruent setzen (5125 mal gelesen)
wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 18. Feb. 2010 09:40    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

Guten Morgen,
ich könnte bei folgendem Problem etwas Hilfe gebrauchen.
Ich mächte ein Koordinatensystem mit einem anderen kongruent setzen um mir Umrechnungen zu sparen. Beide Koordinatensyteme befinden siich in zwei verschiedenen Parts, die sich wiederum in einem gemeinsamen Part befinden.

Zuerst suche ich nach diesem Koordinatensytem:

Code:
Dim SelectList As Selection
Set SelectList = CATIA.ActiveDocument.Selection
SelectList.Clear
SelectList.Search "Name=Koordinatensystem;all"

Dies funktioniert auch.
Bei dem folgenden Block erhalte ich dann aber als Fehlermeldung:
 

Zitat:
Method 'Reference' of object 'SelectedElement' failed

[code]Dim MeinObjekt As Reference
Set MeinObjekt = SelectList.Item2(1).Reference[`/code]

Anschließend möchte ich noch eine Referenz auf das zweite Koordinatensystem setzen und die beiden Koordinatensysteme mit AddBiEltCst kongruent setzen.

Meine Fragen: 1)Ist das so möglich?
      2)Wieso bekomme ich diese Fehlermeldung?

[Diese Nachricht wurde von wulfgang am 18. Feb. 2010 editiert.]

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 18. Feb. 2010 10:17    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 wulfgang 10 Unities + Antwort hilfreich

Hallo,
2 separate Parts die sich wiederum in einem Part befinden? Wie geht das denn? Meinst du vielleicht in Product?

Hast du mal kontrolliert, wie viele Elemente sich in SelectList befinden? Lass mal ggf. die DIM-Anweisung weg und benutze einfach nur SET.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Homepage von Jens Hansen
Kochbuch - CATIA V5 automatisieren

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 18. Feb. 2010 10:28    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,
sorry ich meinte natürlich zwei seperate Parts, die sich in einem Produkt befinden. Deine anderen Tipps werde ich gleich mal ausprobieren.

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 18. Feb. 2010 11:36    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,
also wenn ich Dim weglasse erhalte ich immer noch denselben Fehler.
Ich habe dann versucht:
Dim Anzahl As Integer
Anzahl = SelectList.Count2

Dann bekomme ich als Fehlermeldung 

Zitat:
Object required

Wenn ich das Makro ausführe werden bei mir das Koordinatensystem im Strukturbaum farblich hervorgehoben. Das Koordinatensystem kommt dreimal im Strukturbaum vor. Also müsste Count2 ja auch eigentlich 3 zurückgeben.
Ich sehe meinen Fehler nicht...

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 18. Feb. 2010 12:35    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 wulfgang 10 Unities + Antwort hilfreich

Wie heissen deine Koordinatensysteme im Strukturbaum?

Denn deine Suchabfrage sucht nur nach einem bestimmten Namen.
Eventuell solltest du Wildcards(*) verwenden.

Überprüfen kannst du deine Ergebnisse mit der Watch-List.

Grüsse Dominik

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 18. Feb. 2010 14:16    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 Koordinatensystem heißt im Strukturbaum auch Koordinatensystem-also genauso wie im Makro. Deswegen dachte ich auch auf Wildcards verzichten zu können.

ALso ich habe für SelectList und MeinObjekt watch aktiviert und nach Ablauf des Makros folgende Ausgabe bekommen:
Expression Value Type
MeinObjekt <Out of context> AnyObject
SelectList <Out of contect> Selection
Kann ich jetzt irgendwas aus diesen Angaben entnehmen???

Mein Koordinatensystem befindet sich mehrmals im Strukturbaum. Einmal als Publication und dann noch verschachtelt in zwei verschiedenen Parts.
Das Koordinatensystem wird ja auch gefunden(Zumindest halt im Strukturbaum farblich hervorgehoben.

[Diese Nachricht wurde von wulfgang am 18. Feb. 2010 editiert.]

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 18. Feb. 2010 14:57    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 wulfgang 10 Unities + Antwort hilfreich

Die Watch-List kannst du z.B. dazu benutzen dir die CATIA-interne-Struktur anzeigen zu lassen.
Oder auch um deine Selection/Suche genauer zu betrachten.

Hast du deine Vorgehensweise mal händisch probiert und vielleicht sogar mal mit dem Makrorekorder aufgezeichnet?

Grüsse Dominik

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 18. Feb. 2010 15:39    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

Ja, händisch habe ich die beiden Koordinatensysteme gleich gesetzt, indem ich alle drei Achsen kongruent gesetzt habe. Das ganze habe ich auch mit dem Makrorecorder aufgezeichnet. Der Makrorecorder hat auch AddBiEltsCst für die Bedingung verwendet. Die Referenz hat er mit CreateReferencFromName erzeugt. Aber ich möchte das Makro so schreiben, dass es halt auch für andere Produkte in denen das eine Koordinatensystem anders bezeichnet ist, verwendbar ist.

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 19. Feb. 2010 12: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

Hallo,
scheint wohl so nicht möglich zu sein...
Werde dann wohl doch versuchen die Koordinaten umzurechnen...
Trotzdem danke für die Antworten

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 19. Feb. 2010 18:30    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 wulfgang 10 Unities + Antwort hilfreich

Hallo wulfgang,

das was du tun willst geht einwandfrei mit CATIA, du musst dir nur was anderes ausdenken, um die Parts anzusprechen.
Als erstes anbei der aufgezeichneter Code (VBA), um 2 Koordinatensysteme koinzident zu definieren (mit Kommentare ergänzt):

Code:
Sub CATMain()

Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument

'Product, indem du die 2 Parts hast
Dim product1 As Product
Set product1 = productDocument1.Product

Dim constraints1 As Constraints
Set constraints1 = product1.Connections("CATIAConstraints")

'Referenz auf den ersten Achsensystem
'Ganz wichtig: Du musst es als Pfad mit Text angeben, und zwar relativ zur nächsten gemeinsamen VaterProduct
'Pfadaufbau: PartNumber_ErsterGemeinsamerVaterproduct/Instancename(solange du am konkreten Part angelangt bist)/!NameDesAchsensystems
'Auch noch wichtig: Refernz auf "product1", also den nächsten gemeinsamen Vater erzeugen
Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("Product1/Part2.1/!Koordinatensystem")

'Refernz auf den zweiten Achsensystem
Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("Product1/Part1.1/!Koordinatensystem")

'Ab hier müsstest du die Sachen schon kennen.
Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2)

product1.Update

End Sub



Du sagtest, du kennst die Name der Achsensysteme. Wenn du auch den Pfad (Namen) kennst, dann hast du bereits gewonnen.
Es gibt hier in den Foren schon einige Beiträge über Instanzname, PartNumber und Dateiname, du kannst dich da behelfen.

Solcher Code habe ich für andere Zwecke schon seit Jahren in Einsatz.

Gruß,
Zoltan

Edit: Hier noch ein Beitrag bezüglich Pfad im Baum für Refernce

[Diese Nachricht wurde von zoltan.bekesi am 19. Feb. 2010 editiert.]

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 21. Feb. 2010 11:54    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,
ja das mit dem Pfad war der entscheidene Tip, Danke!

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 21. Feb. 2010 12: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


TestCATIA.zip

 
Hallo,
es ist doch noch eine Frage aufgekommen. Angenommen das zweite Teil hat kein Koordinatensysten und ich will den Ursprung des zweiten Teils kongruent mit einem Koordinatensystem aus dem ersten Teil setzen, kann ich dies ja händisch machen. Ich habe das ganze auch mal aufgezeichnet.
Verstehe bloß die Zeile nicht:
Code:
Set reference2 = product1.CreateReferenceFromName("KongruentKS/TEIL1.1/!Selection_RSur:(Face:(Brp:(AxisSystem.2;1);None:();Cf11:());AxisSystem.2;InSameTool;Z0;G2906)")

Es wird eine Referenz auf eine durch das Koordinatensystem definierte Ebene gesetzt. Kann man das ganze auch nachvollziehbar programmieren

Der gesamte Code:

Code:
Sub CATMain()

Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Dim constraints1 As Constraints
Set constraints1 = product1.Connections("CATIAConstraints")

Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("KongruentKS/Teil2/!xy-Ebene")

Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("KongruentKS/TEIL1.1/!Selection_RSur:(Face:(Brp:(AxisSystem.2;1);None:();Cf11:());AxisSystem.2;InSameTool;Z0;G2906)")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2)

constraint1.Orientation = catCstOrientSame

product1.Update

End Sub


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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 21. Feb. 2010 20: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 Nur für wulfgang 10 Unities + Antwort hilfreich

Hallo,

das ist nicht so einfach, bzw. nicht möglich.
Die Zeile, die du nicht verstehst enthält ein B-Rep-String. Das kann man versuchen nachzubilden, ist aber eine "Spielerei". Es ist nirgendwo sauber dokumentiert (zumindest habe ich bisher nichts gefunden).
Ich würde dir raten, ein Achsensystem in beiden Parts zu haben oder die Kongruenz zwischen eindeutig benannte Teile herzustellen (wie z.B. xy-Ebene).
Wenn du es unbedingt mit B-Reps versuchen möchtest, gibt es einige Schnipsel sowohl in der Buch von Jens Hansen, als auch bei Ziethen. Da bist du aber so ziemlich auf dich selber hingewiesen.
Makros sind eben auch keine Wundermittel.

Gruß,
Zoltan

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

Ivanl
Mitglied



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

Beiträge: 28
Registriert: 21.10.2011

i7 2,80 Ghz
8GB Ram
Win XP Pro SP2
CATIA V5 R19 SP9

erstellt am: 18. Nov. 2011 17:03    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 wulfgang 10 Unities + Antwort hilfreich

Hallo zusammen,

habe auch gerade die Problematik das ich zwei Koordinatensysteme von zwei verschiedenen Parts aufeinander legen möchte. Ich wollte es auch über Referenzen machen und habe es genauso wie Zoltan gemacht.

----------------------------------------------
Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

Dim constraints1 As Constraints
Set constraints1 = product1.Connections("CATIAConstraints")

Dim ref2 As Reference
Set ref2 = product1.CreateReferenceFromName("Part1.1/!Axis System.1")

Dim ref1 As Reference
Set ref1 = product1.CreateReferenceFromName("Part2.1/!Axis System.1")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, ref2, ref1)

product1.Update

End Sub

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

Soweit funktioniert es einwandfrei!

Jetzt wollte ich das Programm erweitern, indem die Parts eine Ebene tiefer in einem weiteren Product liegen. Dabei entstehen Probleme die ich nicht so recht nachvollziehen kann, da ich das Programm dementsprechend einfach nur ergäntzt habe.

------------------------------------------------------------
Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

Set product2 = products1.Item("Product2.1")

Dim constraints1 As Constraints
Set constraints1 = product2.Connections("CATIAConstraints")

Dim ref2 As Reference
Set ref2 = product2.CreateReferenceFromName("Product2.1/Part3.1/!Axis System.1")

Dim ref1 As Reference
Set ref1 = product2.CreateReferenceFromName("Product2.1/Part4.1/!Axis System.1")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, ref2, ref1)

product1.Update

End Sub

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

Wäre Super wenn jemand kurz drüber schauen kann und mir sagen kann was ich falsch mache.

Grüße Ivanl

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: 18. Nov. 2011 20:02    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 wulfgang 10 Unities + Antwort hilfreich

Servus
Versuch mal deine Unterbaugruppe das Product (=ReferenceProduct) anzusprechen und dabei nicht die Instanze.
Ändere mal die Zeile:
Code:
Set product2 = products1.Item("Product2.1").ReferenceProduct

Gruß
Bernd

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

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

Ivanl
Mitglied



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

Beiträge: 28
Registriert: 21.10.2011

i7 2,80 Ghz
8GB Ram
Win XP Pro SP2
CATIA V5 R19 SP9

erstellt am: 19. Nov. 2011 08:36    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 wulfgang 10 Unities + Antwort hilfreich

Hi Bernd,

das wars  . ich glaube das hätte ich nie gefunden^^. Danke für deine schnelle Antwort und natürlich 10 Points.

Grüße Ivanl

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

tobiley
Mitglied
Masterstudent


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

Beiträge: 59
Registriert: 15.02.2010

Win XP
CatiaV5 R17, R18, R19
HD2-Lizenz
VB2008

erstellt am: 24. Jan. 2012 10:17    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 wulfgang 10 Unities + Antwort hilfreich


Bsp.jpg

 
Hallo,

ich versuche gerade das Beispiel von Ivanl nach zu stellen. Jedoch klappt es bei mir nicht. Es wird zwar eine Bedingung erzeugt aber ohne Funktion!
Der Code ist eigentlich bis auf die Benennung der Features der gleiche ist aber unten noch einmal angehangen, sowie ein Screenshot von der Baumstruktur.

Folgendes steht in der Reference wennn ich mir diese im VBAEditor anschaue:   
: DisplayName : "Product2/Part2.1/!Product2/Part2.1/" : String : Module7.CATMain
Müsste dort nicht normalerweise das Achsensystem auch auftauchen?


Code:

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

Set product2 = products1.Item("Product2.1").ReferenceProduct

Dim constraints1 As Constraints
Set constraints1 = product2.Connections("CATIAConstraints")

Dim ref2 As Reference
Set ref2 = product2.CreateReferenceFromName("Product2.1/Part1.1/!Axis System.2")

Dim ref1 As Reference
Set ref1 = product2.CreateReferenceFromName("Product2.1/Part2.1/!Axis System.2")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, ref2, ref1)

product1.Update

End Sub


Irgendwie finde ich den Fehler nicht.
Vielen Dank für eure Hilfe!

Gruß Tobi

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: 24. Jan. 2012 17: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 Nur für wulfgang 10 Unities + Antwort hilfreich

Servus
Also bei mir funktioniert dein Script.
Hast du vielleicht eingestellt, dass nur zwischen veröffentlichen Objekten Bedingungen erstellt werden können? (geht die Erstellung der Bedingung "von Hand"?)

Gruß
Bernd

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

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

tobiley
Mitglied
Masterstudent


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

Beiträge: 59
Registriert: 15.02.2010

Win XP
CatiaV5 R17, R18, R19
HD2-Lizenz
VB2008

erstellt am: 24. Jan. 2012 18:16    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 wulfgang 10 Unities + Antwort hilfreich

Hallo Bernd,

Vielen Dank für deine Antwort.
Ich bin mir ziemlich sicher das ich Publications ausgestellt habe. Kann ich aber erst morgen überprüfen. Wenn ich die Bedingung in dem Root Product erstelle mittels des Makros klappt es auf jeden Fall. Was ja dafür sprechen würde das nicht veröffentlicht werdenn muss. Per Hand hat es auch immer beim makro aufzeichnen geklappt.

Dasist ja schon sehr komisch das es bei mir nicht klappt und bei dir schon. Was wird bei dir denn bei Referenz angezeigt wenn du die Variable überwachst? Das gleiche wie bei mir?

Danke für deine Hilfe!

Gruß Tobi

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

tobiley
Mitglied
Masterstudent


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

Beiträge: 59
Registriert: 15.02.2010

Win XP
CatiaV5 R17, R18, R19
HD2-Lizenz
VB2008

erstellt am: 27. Jan. 2012 10:26    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 wulfgang 10 Unities + Antwort hilfreich

Hallo Bernd,

ich habe jetzt in den Tools Optionen nachgeschaut, aber es macht keinen Unterschied bei mir, ob ich restrict to publications an habe oder nicht. Per Hand kann ichs immer erstellen per Makro kommt immer das gelbe Ausrufezeichen, die Achsensysteme zu veröffentlichen hat auch nicht geholfen.

Ich versteh einfach nicht warum es bei dir funktioniert und bei mir nicht...hast du meinen Code eins zu eins übernommen? Wenn ja was wird denn bei dir angezeigt wenn du dir die Variable der Referenz anschaust das gleiche wie bei mir?

Vielen Dank für deine Hilfe!

Weiß vielleicht doch noch jmd. ne Option die ich überprüfen könnte?

Gruß Tobi

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: 27. Jan. 2012 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 Nur für wulfgang 10 Unities + Antwort hilfreich

Servus
Ja, ich hab den Code 1: 1 übernommen.
Bei der Referenz wird bei mir auch so was wie "Product2/Part2.1/!Product2/Part2.1/" angezeigt (also nicht das Achsensystem-Objekt)

Gruß
Bernd

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

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

tobiley
Mitglied
Masterstudent


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

Beiträge: 59
Registriert: 15.02.2010

Win XP
CatiaV5 R17, R18, R19
HD2-Lizenz
VB2008

erstellt am: 27. Jan. 2012 15:57    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 wulfgang 10 Unities + Antwort hilfreich

Hallo Bernd,


danke für deine schnelle Antwort, dann versteh ichs wirklich nicht, habe es jetzt auch auf einem anderen PC ausprobiert und es hat nicht funktioniert.

Gruß Tobi

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