Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Spiegeln an der Refernzebene eines anderen Parts

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:  Spiegeln an der Refernzebene eines anderen Parts (511 mal gelesen)
M.Henry
Mitglied
Student

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

Beiträge: 2
Registriert: 24.08.2015

CATIA V5 R19Sp08
Win 7 prof. x64

erstellt am: 26. Aug. 2015 17: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

Hallo zusammen,

ich möchte mit einem Makro eine Fläche an einer Referenzebene eines anderen Parts spiegeln. Das Makro soll "partübergreifend" funktionieren. Allerdings erhalte ich immer die Fehlermeldung:

Das Verfahren Item ist fehlgeschlagen (line 38)

Der gesamte Code lautet:


Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim produkt1 As Product
Set produkt1 = CATIA.ActiveDocument.Product

Dim ref1 As Reference
Dim ref2 As Reference

Set ref1 = produkt1.CreateReferenceFromName("Produkt1/Lvfd Lpt/Hauptkörper/Füllen.1")
Set ref2 = produkt1.CreateReferenceFromName("produkt1/Lenkrad/Hauptkörper/Ebene.3") 


Dim partDocument1 As Document
Set partDocument1 = documents1.Item("Lvfd Lpt.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("Hauptkörper")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = body1.HybridShapes

Dim hybridShapeFill1 As HybridShape
Set hybridShapeFill1 = hybridShapes1.Item("Produkt1/Lvfd Lpt/Hauptkörper/Füllen.1")  <-- Line 38


Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeFill1)

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters

Dim hybridShapePlaneExplicit1 As Parameter
Set hybridShapePlaneExplicit1 = parameters1.Item("ref2")

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

Dim hybridShapeSymmetry1 As HybridShapeSymmetry
Set hybridShapeSymmetry1 = hybridShapeFactory1.AddNewSymmetry(reference1, reference2)

hybridShapeSymmetry1.VolumeResult = False

body1.InsertHybridShape hybridShapeSymmetry1

part1.InWorkObject = hybridShapeSymmetry1

part1.Update

End Sub


Ich habe schon paar Ideen probiert, allerdings fällt mir nichts mehr ein. Würde mich über einen Lösungsansatz freuen.


Danke und VG
Marcel

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: 26. Aug. 2015 18: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 M.Henry 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum.
Was soll die Linie 38 bezwecken?
Wenn du das Füllen.1 ansprechen willst benötigst du nicht den Pfad von der Baugruppe aus sonder (hybridShapes1.Item("Füllen.1") sollte reichen).
IMHO wird es so nicht funktionieren, da die Ebene ja nicht is diesem Part existiert. Wenn du das händisch machst, wird eine Ebene (mit (kontext) Verknüpfung) vom einen Part ins andere kopiert und dann erst gespiegelt. Dies müsstest du wahrscheinlich erst nachbilden.

Was soll da Makro machen? Ist das überhaupt der richtige Ansatz für dein Problem?

Gruß
Bernd

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

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

M.Henry
Mitglied
Student

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

Beiträge: 2
Registriert: 24.08.2015

CATIA V5 R19Sp08
Win 7 prof. x64

erstellt am: 26. Aug. 2015 21: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

Servus,

danke für die schnelle Antwort. Ok, die Linie 38 ändere ich ab.

Ich habe die Aufgabe einen automtischen Ablauf, ohne Eingriff,  zu erstellen.
Gibt es eine andere Möglichkeit? Eventuell die Kopie und das Spiegeln auf zwei Makros zu  verteilen, habe ich probiert, hat ber bei meinem Versuch das Problem nicht gelöst?

Gruß
Marcel

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