Autor
|
Thema: Parametrisches Offset (1585 mal gelesen)
|
Hannes12 Mitglied Konstrukteur
Beiträge: 31 Registriert: 09.02.2010
|
erstellt am: 26. Apr. 2010 14:12 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe mal wieder eine Frage. Ich möchte mit einem Macro eine Offset-Plane erzeugen, deren Wert immer dem eines Parameters entspricht. Der Offset-Wert soll dabei über eine Formel an den Parameter gebunden sein. Mein Offset übernimmt leider immer nur den Wert des Parameters, ist aber nach Durchlauf des Macros nicht an den Parameter gekoppelt. Wie programmiert man das? Grüße Hannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 26. Apr. 2010 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Hannes12
Hallo Hannes , hierbei ist die Vorgehensweise im Script genauso wie die Vorgehensweise per Hand. D.h. du benötigst einen Parameter (Lenght) und die Ebene. Die Ebene selber hat einen internen Parameter mit dem Namen "Offset" (Lenght). Diesen internen Parameter verknüpfst du mit einer "=" Formel mit dem von dir erstellten Parameter. Hier mal das ganze in einem Script als Beispiel. Die Ebene sowie den Parameter kann man natürlich im Script auch interaktiv vom Anwender selektieren lassen (dann ist man nicht an die Namensgebung gebunden ) Code:
Option ExplicitSub CATMain() '***Deklarationen Dim intPartDocObj As PartDocument Dim intRelsObj As Relations Dim intRelObj As Relation Dim intParasObj As Parameters Dim intParaUserObj As Parameter Dim intInternalPlaneParaObj As Parameter Dim intHybBodiesObj As HybridBodies Dim intHybBodyObj As HybridBody Dim intHybShapeObj As HybridShapes Dim intPlaneObj As Plane '***Abfrage Dokumententyp On Error Resume Next Set intPartDocObj = CATIA.ActiveDocument If Err.Number <> 0 Then Exit Sub Else On Error GoTo 0 End If '***Alle Objekte instanzieren Set intRelsObj = intPartDocObj.Part.Relations Set intParasObj = intPartDocObj.Part.Parameters Set intParaUserObj = intParasObj.Item("OFFSET_PARAMETER") Set intHybBodiesObj = intPartDocObj.Part.HybridBodies Set intHybBodyObj = intHybBodiesObj.Item("Geometrical Set.1") Set intHybShapeObj = intHybBodyObj.HybridShapes Set intPlaneObj = intHybShapeObj.Item("Plane.1") '***Offset-Parameter der Ebene holen Set intInternalPlaneParaObj = intParasObj.GetItem(intParasObj.GetNameToUseInRelation(intPlaneObj) & "\Offset") '***Formel erzeugen Set intRelObj = intRelsObj.CreateFormula("OFFSET_PLANE", "", intInternalPlaneParaObj, intParaUserObj.Name) '***Part Updaten intPartDocObj.Part.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 |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|