Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part im Product neu positionieren

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:  Part im Product neu positionieren (2965 mal gelesen)
schus
Mitglied
Dipl. Ing. (FH)

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

Beiträge: 4
Registriert: 27.06.2012

CATIA V5R19 HF49
Win7 64bit

erstellt am: 27. Jun. 2012 08: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

Hallo zusammen,

ich muss gleich vorweg sagen, dass ich bisher nur kleinere Makros erstellt habe. Nun habe ich die Aufgabe ein Makro zu machen, welches importierte STEP Dateien, die mit dem falschen Faktor importiert wurden zu korrigieren. Da die importierten Daten nachher in einem Makro weiter verarbeitet werden (das funktioniert auch) ist der Wunsch die Korrektur gleich im Makro mit zu erledigen.
Nach dem Import gibt es ein Product mit mehreren Parts, die um den Faktor 1000 falsch positioniert sind (z.B. X=300 sollte aber X=0,3 sein). Ich benötige also kein Translate um einen bestimmten Wert, sondern müsste die vorhandenen Koordinaten durch 1000 teilen.

Mein Gedanke ist momentan. Die Koordinaten der Achsen zu bestimmen und dann die Koordinaten neu zu berechnen.
Hat jemand sowas schon mal gemacht? Jede Hilfe kommt mir gelegen.  Danke im voraus!

Gruß
schus

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

Ancela
Mitglied
Techn. Zeichnerin


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

Beiträge: 316
Registriert: 09.11.2004

erstellt am: 27. Jun. 2012 09:12    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 schus 10 Unities + Antwort hilfreich

Hallo schus,

die Koordinaten von einem Bauteil sieht man und kann man ändern, wenn man es fixiert, die Fixierung doppelklickt und im Fenster auf "mehr" klickt.
Vielleicht hilft Dir das weiter.

Gruß
Angela

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

schus
Mitglied
Dipl. Ing. (FH)

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

Beiträge: 4
Registriert: 27.06.2012

CATIA V5R19 HF49
Win7 64bit

erstellt am: 27. Jun. 2012 09: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

Hallo Angela,

danke für die schnelle Antwort. Habe ein Part fixiert und mir dann die Constraint Definition angesehen. Leider sind die Werte von X,Y,Z = 0. Wenn ich den Achsenursprung des Parts im Product messe, habe ich einen Wert X=337mm. Wie komme ich an diese Werte ran. Gibt es einen Code, wie z.B. GetCoordinates.Axis...?

Gruß
schus

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. Jun. 2012 10: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 schus 10 Unities + Antwort hilfreich

Servus
Da fallen mir zwei Möglichkeiten ein:
- mit einer Schleife alle Products deines Assemblys abarbeiten, und dabei über "GetComponents" die Koordinaten auslesen, dann die Werte modifizieren und über "SetComponents" die korrigierte Position zuweisen
- die STEP-Datei mal mit einem Text-Detor öffnen, und schauen, ob du ggf durch editieren des Headers (Einheiten) die Postionen korrigieren kannst

Gruß
Bernd

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

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Jun. 2012 10: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 Nur für schus 10 Unities + Antwort hilfreich

Hallo,

Starte mal eine Makroaufzeichnung und wähle mit einem Rechtsklick auf den Kompass (3D-Bereich) die Funktion "Snap automatically To Selected Object". Klicke jetzt auf ein Part innerhalb der Produktstruktur (Selektion). Der Kompass springt auf den COG (Center of Gravity) des Parts. Mache jetzt einen Doppelklick auf den Kompass und stelle im oberen Abschnitt der GUI (Form) die Werte 0,0,0 (X,Y,Z) ein. Jetzt klickst du "Apply" und beendest die Makroaufzeichnung.

Die Verschiebung mittels dem MoveableObject wird vollständig aufgezeichnet. Das Ganze kannst du jetzt noch in eine Schleife durch alle Produkte packen und dein Makro ist fertig. 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

schus
Mitglied
Dipl. Ing. (FH)

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

Beiträge: 4
Registriert: 27.06.2012

CATIA V5R19 HF49
Win7 64bit

erstellt am: 27. Jun. 2012 11:01    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


Kompass.JPG

 
Hallo Daniel,

habe ich gleich ausprobiert. Ergebnis ist leider nicht richtig, obwohl der Kompass auf den Nullpunkt springt. Aber in GUI (Form) sind die Werte bereits auf 0,0,0???

******************************************

Set products1 = product1.Products

Set product2 = products1.Item("Test")

Set move1 = product2.Move

Set move1 = move1.MovableObject

Dim arrayOfVariantOfDouble1(11)
arrayOfVariantOfDouble1(0) = 1.000000
arrayOfVariantOfDouble1(1) = 0.000000
arrayOfVariantOfDouble1(2) = 0.000000
arrayOfVariantOfDouble1(3) = 0.000000
arrayOfVariantOfDouble1(4) = 1.000000
arrayOfVariantOfDouble1(5) = 0.000000
arrayOfVariantOfDouble1(6) = 0.000000
arrayOfVariantOfDouble1(7) = 0.000000
arrayOfVariantOfDouble1(8) = 1.000000
arrayOfVariantOfDouble1(9) = 0.000000
arrayOfVariantOfDouble1(10) = 0.000000
arrayOfVariantOfDouble1(11) = 0.000000
move1.Apply arrayOfVariantOfDouble1

Set move1 = product2.Move

Set move1 = move1.MovableObject

Dim arrayOfVariantOfDouble2(11)
arrayOfVariantOfDouble2(0) = 1.000000
arrayOfVariantOfDouble2(1) = 0.000000
arrayOfVariantOfDouble2(2) = 0.000000
arrayOfVariantOfDouble2(3) = 0.000000
arrayOfVariantOfDouble2(4) = 1.000000
arrayOfVariantOfDouble2(5) = 0.000000
arrayOfVariantOfDouble2(6) = 0.000000
arrayOfVariantOfDouble2(7) = 0.000000
arrayOfVariantOfDouble2(8) = 1.000000
arrayOfVariantOfDouble2(9) = 0.000000
arrayOfVariantOfDouble2(10) = 0.000000
arrayOfVariantOfDouble2(11) = 0.000000
move1.Apply arrayOfVariantOfDouble2

End Sub

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. Jun. 2012 12:09    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 schus 10 Unities + Antwort hilfreich

Servus
Nur um sicherzugehen, dass wir nicht aneinander "vorbei reden".
Wie sieht deine Produktstruktur aus?
Du hast eine Baugruppe, in dieser sind Parts verbaut, diese sind nicht in Einbaulage modelliert? (also der Ursprung der Parts liegt nicht im Baugruppen Ursprung)

Gruß
Bernd

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

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

schus
Mitglied
Dipl. Ing. (FH)

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

Beiträge: 4
Registriert: 27.06.2012

CATIA V5R19 HF49
Win7 64bit

erstellt am: 27. Jun. 2012 12: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

Hallo zusammen,

nach dem STEP Import habe ich nun ein Product mit Parts. Die Parts sind zum Ursprung des Products verschoben, z.B. um X=-317mm. Dieser Wert soll jetzt aber auf X=-0.317mm korregiert werden!Die Parts müssten also alle neu zum Ursprung des Products ausgerichtet werden.

Viele Grüße
schus

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. Jun. 2012 12: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 schus 10 Unities + Antwort hilfreich

Servus
Ich würde das Problem so angehen:
Code:
Sub CATMain()

Dim productDocument As productDocument
Dim childProduct 'As Product
Dim RootProduct As Product
Dim arrayPosition(11)


Set productDocument = CATIA.ActiveDocument
Set RootProduct = productDocument.Product


For Each childProduct In RootProduct.Products
    'Position auslesen
    childProduct.Position.GetComponents arrayPosition
   
    'Position korrigieren
    arrayPosition(9) = arrayPosition(9) * 0.001
    arrayPosition(10) = arrayPosition(10) * 0.001
    arrayPosition(11) = arrayPosition(11) * 0.001
   
    'Position zuweisen
    childProduct.Position.SetComponents arrayPosition
Next

End Sub


Nicht mit Komponenten oder Unterbaugruppen getestet. Keine Fehlerbehandlung implementiert. Keine Bedingungen in der Baugruppe vorhanden.

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