Autor
|
Thema: AddNewAxisToAxis (1834 mal gelesen)
|
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 05. Jun. 2012 14:33 <-- editieren / zitieren --> Unities abgeben:
Danke vieler Tipps aus diesem Forum gedeiht mein Makro und ich lerne viel. Herzlichen Dank Dennoch stehe ich nun vor einem Problem. Ich habe ein Product und möchte nun aus einem Part dieses Products Bodies mittels Axis-to-Axis-Transformation verschieben. Jedoch bereitet mir der Befehl AddNewAxisToAxis Schwierigkeiten. Hier ist mein Code mit erklärenden Kommentaren: Code: Sub CATMain() Set documents1 = CATIA.Documents Set partDocument1 = documents1.Item("ss__Zylinderschraube__xxxxxxx__A__1__A_1_1.CATPart") Set part1 = partDocument1.Part Set bodies1 = part1.Bodies Set body1 = bodies1.Item("PartBody") Set axisSystems1 = part1.AxisSystems'---definieren des PartBodys als "in work object", unter dem die AtoA Transformation erstellt werden soll--- part1.InWorkObject = body1 Set refbody = body1 '<---dieser Body soll transformiert werden Set refAS = axisSystems1.Item("Achsensystem_NTI") '<--- AS des Parts in dem sich der zu kopierende Body befindet Set trgtAS = axisSystems1.Item("Achsensystem_Normteil_Instanz.1") '<--- Ziel-AS (wurde zuvor in einem anderen Produkt erstellt und publiziert) '---hier komme ich nicht weiter: muss ich AxisToAxis oder AxisToAxis2 nehmen und was kommt an die Stellen mit ??? Set ??? = ???.AddNewAxisToAxis2(refAS, trgtAS) 'oder Set ??? = ???.AxisToAxis(refbody, refAS, trgtAS) End Sub
Ich verstehe einfach nicht, was an die Stellen mit ??? kommt. Bitte helft mir, damit wir das verlängerte Wochenende alle frei haben ! Besten Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 05. Jun. 2012 14:36 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Moderator Manager
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: 05. Jun. 2012 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für GrafKoks
Hallo, und auch diese Mal helfen wir dir gerne weiter. Anbei mal ein Beispielskript (getestet auf R19) zur Erstellung von AxisToAxis-Transformationen mit Solids (hierfür wird die Funktion AxisToAxis2 verwendet (Flächenfunktion: AxisToAxis!!!) Code:
Sub CATMain() '***HINWEISE 'by Daniel Frauenrath alias DanielFr. 'it´s free stuff for www.cad.de '***DEKLARATIONEN Dim objDoc As Document 'Dokument Dim objPart As Part 'Part-Dokument Dim objAxisSystems As AxisSystems 'Achsensysteme Dim objSourceAxis As AxisSystem 'Quellachsensystem Dim objTargetAxis As AxisSystem 'Quellachsensystem Dim objWorkingBody As Body 'Body der in Arbeit definiert werden soll Dim objShapeFactory As ShapeFactory 'Objekt zur Erstellung neuer Solid-Features Dim objRefSource As Reference 'Refenz Quellachsensystem Dim objRefTarget As Reference 'Refenz Zielachsensystem Dim objAxisToAxis As HybridShapeAxisToAxis 'Object des AxisToAxis Features '***INSTANZIIERUNGEN Set objDoc = CATIA.ActiveDocument 'Zugriff auf das Dokument Set objPart = objDoc.Part 'Zugriff auf das Part Set objAxisSystems = objPart.AxisSystems 'Zugriff auf ALLE Achsensysteme Set objSourceAxis = objAxisSystems.Item("AXSS.Source") 'Objekt: Quellachsensystem Set objTargetAxis = objAxisSystems.Item("AXSS.Target") 'Objekt: Zielachsensystem Set objRefSource = objPart.CreateReferenceFromObject(objSourceAxis) 'Refernz: Quellachsensystem (zur Übergabe an die Funktion) Set objRefTarget = objPart.CreateReferenceFromObject(objTargetAxis) 'Refernz: Zielachsensystem (zur Übergabe an die Funktion) Set objWorkingBody = objPart.MainBody 'PartBody auslesen objPart.InWorkObject = objWorkingBody 'PartBody in Arbeit setzen Set objShapeFactory = objPart.ShapeFactory 'Objekt zur erstellung nuer FEatures erstellen '***Hier die Funktion. Diese steckt im Objekt "ShapeFactory" und will zwei '***Übergaben haben (Quell- und Zielachsensystem). Diese müssen als Objekte '***des Typs "Reference" vorliegen Set objAxisToAxis = objShapeFactory.AddNewAxisToAxis2(objRefSource, objRefTarget) '***Part updaten objPart.Update End Sub
------------------ 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 |
GrafKoks Mitglied
Beiträge: 22 Registriert: 10.05.2012 Catia V5 R19 Microsoft Visual Basic 6.0<P>Windows XP Professional x64 Edition
|
erstellt am: 06. Jun. 2012 09:11 <-- editieren / zitieren --> Unities abgeben:
Der absolute Megahammer!! Lieber Daniel, vielen Dank. Flutscht wie die Butter in der Pfanne. Von wegen Venustransit ist das Ereignis des Jahrhunderts. Das hier ist viel besser! Nochmals vielen Dank! 10 Punkte! Langes Wochenende gerettet! Frohe Feiertage und ein erholsames Wochenende. [Diese Nachricht wurde von GrafKoks am 06. Jun. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |