Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Axis to Axis über Makro (mehrere Elemente)

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:  Axis to Axis über Makro (mehrere Elemente) (3075 mal gelesen)
miezeka
Mitglied
Ingenieurin


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

Beiträge: 44
Registriert: 30.09.2008

CATIA V5R16SP5
Catia V5 R18<P>Win XP Prof

erstellt am: 08. Okt. 2008 17:07    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

ich möchte gerne mein Element vom Nullpunkt, also absolutes Achsensystem auf ein von mir erstelltes Element transformieren. Habe auch den Code dazu geschrieben aber da ich etwas Platz sparen wollte und die Referenzelemente bei beiden gleich sind (Achsensysteme) kommt bei mit ein Fehler aus?!?

Kann ich außerdem bereits deklarierte Elemnte nicht mehrfach verwenden?!?

'Scharniere positionieren--------------------------------------------------------

Dim param_u_ut, param_u_ot As Parameters
Set param_u_ut = part1.Parameters
Set param_u_ot = part1.Parameters

'Scharnier unten---

Dim RefS_u_ot, RefASu1, RefASu2 As Reference
Dim AbsolutAxis As AxisSystem

Dim untScharnier_ot, untScharnier_ut As HybridShapeSurfaceExplicit
Set untScharnier_ot = param_u_ot.Item("1_S_u_ot")
Set untScharnier_ut = param_u_ut.Item("1_S_u_ut")  'in dieser Zeile ist ein Runtime Fehler?!? Wieso?

Set AbsolutAxis = axisSystems1.Item("Absolute Axis System")

Set RefS_u_ot = part1.CreateReferenceFromObject(untScharnier_ot)  'zu verschiebende Objekte
Set RefS_u_ut = part1.CreateReferenceFromObject(untScharnier_ut)

Set RefASu1 = part1.CreateReferenceFromObject(AbsolutAxis)  'Referenz
Set RefASu2 = part1.CreateReferenceFromObject(Axis1) ' Ziel 


Dim TransU_ot, TransU_ut As HybridShapeAxisToAxis
Set TransU_ot = Wzk3DH.AddNewAxisToAxis(RefS_u_ot, RefASu1, RefASu2)
Set TransU_ut = Wzk3DH.AddNewAxisToAxis(RefS_u_ut, RefASu1, RefASu2)

SPosition.AppendHybridShape TransU_ot
SPosition.AppendHybridShape TransU_ut



part1.Update

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: 08. Okt. 2008 18: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 miezeka 10 Unities + Antwort hilfreich

Hallo miezeka,

dein Code verstehe ich zwar nicht besonders gut, auf einige Fehler kann ich aber hinweisen:

Code:
Dim param_u_ut, param_u_ot As Parameters


Wenn du so deklarierst, dann hat nur die hintere Parameter den angegebenen Variablentyp, der vordere ist Variant.

Richtig wäre folgendes:

Code:
Dim param_u_ut  As Parameters, param_u_ot As Parameters

oder

Code:
Dim param_u_ut  As Parameters
Dim param_u_ot As Parameters


Code:
Dim untScharnier_ot, untScharnier_ut As HybridShapeSurfaceExplicit
Set untScharnier_ot = param_u_ot.Item("1_S_u_ot")
Set untScharnier_ut = param_u_ut.Item("1_S_u_ut")  'in dieser Zeile ist ein Runtime Fehler?!? Wieso?


Soweit ich weiß, kann ein Parameter höchstens vom Typ Surface sein, aber kein HybridShapeSurfaceExplicit. Das könnte schon mal ein Fehler sein.


Code:
Dim AbsolutAxis As AxisSystem

Set AbsolutAxis = axisSystems1.Item("Absolute Axis System")

Set RefASu1 = part1.CreateReferenceFromObject(AbsolutAxis)  'Referenz
Set RefASu2 = part1.CreateReferenceFromObject(Axis1) ' Ziel



Axis1 hast du gar nicht deklariert oder einen Wert zugewiesen.

Das mit den Referenzelemente sparen wäre allerdings ganz i.O.

Sind überhaupt die zu verschiebende Objekte Parameter?

Gruß,

Zoltan

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

miezeka
Mitglied
Ingenieurin


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

Beiträge: 44
Registriert: 30.09.2008

CATIA V5R16SP5
Catia V5 R18<P>Win XP Prof

erstellt am: 09. Okt. 2008 13: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

Hallo Zoltan,
du hattest vollkommen recht, denn die deklarierung war anscheinend falsch.
Ich habe noch mal meine Scharniere umbenannt und die Parameter sowie die referenzen einzeln deklariert.
vielen herzlichen Dank!
hier nach mal der ganze text falls es jemand brauchen könnte:

'--------------------------------------------------------------------------------
'Scharniere positionieren--------------------------------------------------------

Dim param_u_ut As Parameters, param_u_ot As Parameters
Set param_u_ut = part1.Parameters
Set param_u_ot = part1.Parameters

'Scharnier unten---

Dim RefS_u_ot As Reference, RefASu1 As Reference, RefASu2 As Reference
Dim AbsolutAxis As AxisSystem

Dim untScharnier_ot, untScharnier_ut As HybridShapeSurfaceExplicit
Set untScharnier_ot = param_u_ot.Item("S_u_ot")
Set untScharnier_ut = param_u_ut.Item("S_u_ut")

Set AbsolutAxis = axisSystems1.Item("Absolutes Achsensystem")  'Achtung achsensystem german!

Set RefS_u_ot = part1.CreateReferenceFromObject(untScharnier_ot)
Set RefS_u_ut = part1.CreateReferenceFromObject(untScharnier_ut)

Set RefASu1 = part1.CreateReferenceFromObject(AbsolutAxis)
Set RefASu2 = part1.CreateReferenceFromObject(Axis1)


Dim TransU_ot, TransU_ut As HybridShapeAxisToAxis
Set TransU_ot = Wzk3DH.AddNewAxisToAxis(RefS_u_ot, RefASu1, RefASu2)
Set TransU_ut = Wzk3DH.AddNewAxisToAxis(RefS_u_ut, RefASu1, RefASu2)

SPosition.AppendHybridShape TransU_ot
SPosition.AppendHybridShape TransU_ut



part1.Update

'Scharnier oben---

Dim param_o_ut As Parameters, param_o_ot As Parameters
Set param_o_ut = part1.Parameters
Set param_o_ot = part1.Parameters

'Scharnier unten---

Dim RefS_o_ot As Reference, RefASo1 As Reference, RefASo2 As Reference

Dim obScharnier_ot, obScharnier_ut As HybridShapeSurfaceExplicit
Set obScharnier_ot = param_o_ot.Item("S_o_ot")
Set obScharnier_ut = param_o_ut.Item("S_o_ut")

Set AbsolutAxis = axisSystems1.Item("Absolutes Achsensystem")
Set RefS_o_ot = part1.CreateReferenceFromObject(obScharnier_ot)
Set RefS_o_ut = part1.CreateReferenceFromObject(obScharnier_ut)
Set RefASo1 = part1.CreateReferenceFromObject(AbsolutAxis)
Set RefASo2 = part1.CreateReferenceFromObject(Axis2)

Dim TransO_ot, TransO_ut As HybridShapeAxisToAxis
Set TransO_ot = Wzk3DH.AddNewAxisToAxis(RefS_u_ot, RefASo1, RefASo2)
Set TransO_ut = Wzk3DH.AddNewAxisToAxis(RefS_u_ut, RefASo1, RefASo2)

SPosition.AppendHybridShape TransO_ot
SPosition.AppendHybridShape TransO_ut



part1.Update

meine 2 Achsen(target) wurden vorher schon generiert und meine scharniere sind eben meine toten Flächen.

DANKE

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