Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Wo speichert mein Geom. Set die Achsensysteme

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:  Wo speichert mein Geom. Set die Achsensysteme (634 mal gelesen)
WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 03. Mai. 2020 21: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

Hallo zusammen,

Ich bastele immer noch an meinem Achsensystem-Positionier-Programm. Ich möchte jetzt mehrere Parts in das Programm hineinladen, die die Achsensysteme zur Positionierung nutzen.
Erstmal zum Kontext meines Problems:

Code:

Dim FinaleKoordinatensysteme As HybridBody

[...]
Dim hybridBodies1 As HybridBodies
hybridBodies1 = part.HybridBodies
FinaleKoordinatensysteme = hybridBodies1.Add()
FinaleKoordinatensysteme.Name = "Normteile"


Dem Hybidbody bzw. geom. Set "FinaleKoordinatensysteme" werden anschließend Achsensysteme per Copy/PasteSpecial hinzugefügt.
Wenn ich mir danach aber folgendes Anzeigen lassen:

Code:

        MsgBox("Geom.Elements" + FinaleKoordinatensysteme.GeometricElements.Count.ToString)
        MsgBox("HybridBodies" + FinaleKoordinatensysteme.HybridBodies.Count.ToString)
        MsgBox("Bodies" +  FinaleKoordinatensysteme.Bodies.Count.ToString)
        MsgBox("HybridShapes" + FinaleKoordinatensysteme.HybridShapes.Count.ToString)
        MsgBox("HybridSketches" + FinaleKoordinatensysteme.HybridSketches.Count.ToString)


sind alle Werte 0. Jetzt die Frage:
Wo speichert der Hybridbody die Achsensysteme? Wie kann ich auf die zugreifen?
Vielen Dank für Eure Hilfe 

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

WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 03. Mai. 2020 21: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


BildfurForum.JPG

 
Ach ja,
Hier noch ein Bild dazu 

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: 03. Mai. 2020 22: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 WMA HSU 10 Unities + Antwort hilfreich

Servus

Ich befürchte dass du nur durch die Suche (im GeoSet) oder eventuell noch per GetItem darauf zugreifen kannst.

Gruß
Bernd

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

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

WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 04. Mai. 2020 22: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

Moin Bernd,

Suche hat geklappt. Jetzt hab ich eine Anschlussfrage:
Wie kann ich zwei Achsensysteme dazu bringen, sich über Constraints zu bewegen. Mein Ziel ist es, dass das Bauteil seinem Achsensystem folgt und anschließend damit die Zielposition einnimmt.
Ich hab mit dem Makrorecorder folgendes aufgezeichnet:

Code:

Sub CATMain()

Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Set product1 = product1.ReferenceProduct

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

Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("Product2/N___105_695_01.1/!Selection_REdge:(Edge:(Face:(Brp:(AxisSystem.1;1);None:();Cf11:());Face:(Brp:(AxisSystem.1;3);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());AxisSystem.1;Z0;G7575)")

Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("Product2/Test.1/!Selection_REdge:(Edge:(Face:(Brp:(AxisSystem.5;1);None:();Cf11:());Face:(Brp:(AxisSystem.5;3);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());AxisSystem.5;Z0;G7575)")

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

Dim angle1 As Angle
Set angle1 = constraint1.Dimension

angle1.Value = 0#

Set constraints1 = product1.Connections("CATIAConstraints")

Dim reference3 As Reference
Set reference3 = product1.CreateReferenceFromName("Product2/N___105_695_01.1/!Selection_FVertex:(Vertex:(Neighbours:(Face:(Brp:(AxisSystem.1;2);None:();Cf11:());Face:(Brp:(AxisSystem.1;3);None:();Cf11:());Face:(Brp:(AxisSystem.1;1);None:();Cf11:()));Cf11:());AxisSystem.1;Z0;G7575)")

Dim reference4 As Reference
Set reference4 = product1.CreateReferenceFromName("Product2/Test.1/!Selection_FVertex:(Vertex:(Neighbours:(Face:(Brp:(AxisSystem.5;2);None:();Cf11:());Face:(Brp:(AxisSystem.5;3);None:();Cf11:());Face:(Brp:(AxisSystem.5;1);None:();Cf11:()));Cf11:());AxisSystem.5;Z0;G7575)")

Dim constraint2 As Constraint
Set constraint2 = constraints1.AddBiEltCst(catCstTypeOn, reference3, reference4)

product1.Update

End Sub


Es scheitert jetzt leider daran, dass ich es nicht schaffe die Referenzen nicht über Namen zu erzeugen. Mein Ziel ist an der Stelle eine Verallgemeinerung. Ich versuche gerade alle möglichen Varianten, aber ich schaffe es nicht, dass dieser Befehl auch ausgeführt wird:
constraint1 = constraints1.AddBiEltCst(CatConstraintType.catCstTypeAngle, AchsenSystem.XAxisDirection, Normteil.XAxisDirection) (AchsenSystem und Normteil sind hierbei jeweils die Achsensysteme, die ich übereinander bringen möchte)

Ich habe die Hoffnung, dass es mir an der Stelle einfach an der richtigen Syntax fehlt. Was mache ich falsch?

Viele Grüße,
Jörn

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: 05. Mai. 2020 16:18    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 WMA HSU 10 Unities + Antwort hilfreich

Servus

Schau dir mal dazu diese Diskussion an.
Ich würde versuchen die BREPs zu vermeiden.

Gruß
Bernd

PS: Wie man für die Elemente eines Achsensystem die Referenzen erstellt siehe zB hier

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