CATIA V5 - Effiziente Konstruktion mit Makros - beck-shop.de · PDF fileCATIA V5 - Effiziente...

download CATIA V5 - Effiziente Konstruktion mit Makros - beck-shop.de · PDF fileCATIA V5 - Effiziente Konstruktion mit Makros Automatisierte Erstellung von Volumenkörpern, Drahtgeometrie

If you can't read please download the document

Transcript of CATIA V5 - Effiziente Konstruktion mit Makros - beck-shop.de · PDF fileCATIA V5 - Effiziente...

  • CATIA V5 - Effiziente Konstruktion mit Makros

    Automatisierte Erstellung von Volumenkrpern, Drahtgeometrie und Flchen mit CATScript

    vonDieter R. Ziethen

    1. Auflage

    Hanser Mnchen 2003

    Verlag C.H. Beck im Internet:www.beck.de

    ISBN 978 3 446 22347 9

    Zu Inhaltsverzeichnis

    schnell und portofrei erhltlich bei beck-shop.de DIE FACHBUCHHANDLUNG

    http://www.beck-shop.de/Ziethen-CATIA-V5-Effiziente-Konstruktion-Makros/productview.aspx?product=580227&utm_source=pdf&utm_medium=clickthru_lp&utm_campaign=pdf_580227&campaign=pdf/580227http://www.beck-shop.de/fachbuch/inhaltsverzeichnis/9783446223479_TOC_001.pdf

  • CARL HANSER VERLAG

    Dieter Ziethen

    CATIA V5 - Effiziente Konstruktion mit Makros Automatisierte Erstellung von Volumenkrpern, Drahtgeometrie und

    Flchen mit CATScript

    3-446-22347-9

    www.hanser.de

  • 127

    6.2 Skizzenbasierte Volumenkrper

    6.2 Skizzenbasierte Volumenkrper

    Ein skizzenbasierter Volumenkrper ist ein Volumenkrper, dessen Form durch eine odermehrere Skizzen bestimmt wird. Besitzt ein Volumenkrper eine Skizze, die entlang einerGeraden gezogen wird, spricht man von einem Prisma. Wird eine Skizze um eine Rotations-achse gedreht, liegt ein Rotationskrper vor. Wenn eine Skizze entlang einer Kurve gezo-gen wird, wird dies als Translationskrper bezeichnet. Bei einem bergangskrper wer-den zwei oder mehr Skizzen zu einem Volumenkrper verbunden. Eine bersicht derskizzenbasierten Volumenkrper gibt Tabelle 6.2.

    Ein Volumenkrper kann ein positives oder negatives Vorzeichen besitzen. Volumenkrpermit gleichem Vorzeichen werden addiert, wenn sie einem Krper (vgl. Abschnitt 3.2) zu-geordnet werden, Volumenkrper mit unterschiedlichem Vorzeichnen subtrahiert. Wennz. B. ein Block und eine Tasche in einem Krper erzeugt werden, entfllt die Schnittmengeaus Block und Tasche.

    Die folgenden zwei Abschnitte stellen die Methoden zum Erzeugen eines skizzenbasiertenVolumenkrpers und zwei Fallbeispiele dar.

    Bild 6.1:Ergebnis desBeispiels Erzeugeneines Volumen-krpers

    Tabelle 6.2:bersichtskizzenbasierterVolumenkrper

    Art Anzahl Skizzen Positiver Volumenkrper Negativer Volumenkrper

    Block (Pad) Tasche (Pocket)

    Versteifung (Stiffener)

    Prisma 1

    Bohrung (Hole)

    Rotationskrper 1 Welle (Shaft) Nut (Groove)

    Translationskrper 2 Rippe (Rib) Rille (Slot)

    bergangskrper 2 bis n Loft (Loft) Loft (Removed Loft)

  • 128

    6.2.1 Methoden zum Erzeugen von skizzenbasierten Volumenkrpern

    Die Methoden zum Erzeugen eines skizzenbasierten Volumenkrpers sind der KlasseShapeFactory (siehe S. 404 ff.) zugeordnet. Eine bersicht der Methoden gibt Tabelle6.3.

    Die Methoden verlangen als Parameter fr eine Skizze entweder ein Objekt der KlasseSketch (siehe S. 419) oder Reference (siehe S. 390). Die Erzeugung einer Skizze ist inKapitel 4 dargestellt, die Deklaration einer Referenz in Abschnitt 3.4.

    Tabelle 6.3:Methoden zumErzeugenskizzenbasierterVolumenkrper

    (Details zu den Methoden: Klasse ShapeFactory, S. 404 ff.)

    Volumenkrper Methode Objekt

    Block Func AddNewPad ([Skizze] As Sketch, [Hhe] As Double)

    Func AddNewPadFromRef ([Skizze] As Reference, [Hhe] As Double) Pad, S. 369

    Tasche Func AddNewPocket ([Skizze] As Sketch, [Tiefe] As Double)

    Func AddNewPocketFromRef ([Skizze] As Reference, [Tiefe] As Double)

    Pocket, S. 382

    Versteifung Func AddNewStiffener ([Kontur] As Sketch)

    Func AddNewStiffenerFromRef ([Kontur] As Reference) Stiffener, S. 424

    Bohrung Func AddNewHole ([Sttzebene] As Reference, [Tiefe] As Double)

    Func AddNewHoleFromPoint ([X, Y, Z] As Double, [Sttzebene] As Reference, [Tiefe] As Double)

    Func AddNewHoleFromRefPoint ([Referenzpunkt, Sttzebene] As Reference, [Tiefe] As Double)

    Func AddNewHoleFromSketch ([Skizze] As Sketch, [Tiefe] As Double)

    Func AddNewHoleWith2Constraints ([X, Y, Z] As Double, [Kante1, Kante2, Sttzebene] As Reference, [Tiefe] As Double)

    Func AddNewHoleWithConstraint ([X, Y, Z] As Double, [Referenzkante, Sttzebene] As Reference, [Tiefe] As Double)

    Hole, S. 196

    Welle Func AddNewShaft ([Skizze] As Sketch)

    Func AddNewShaftFromRef ([Skizze] As Reference) Shaft, S. 403

    Nut Func AddNewGroove ([Skizze] As Sketch)

    Func AddNewGrooveFromRef ([Skizze] As Reference) Groove, S. 196

    Rippe Func AddNewRib ([Kontur, Zentralkurve] As Sketch)

    Func AddNewRibFromRef ([Kontur, Zentralkurve] As Reference) Rib, S. 396

    Rille Func AddNewSlot ([Kontur, Zentralkurve] As Sketch)

    Func AddNewSlotFromRef ([Kontur, Zentralkurve] As Reference) Slot, S. 422

    Loft Func AddNewLoft

    Removed Loft

    Func AddNewRemovedLoft

    Loft, S. 367

    6 Volumenkrper

  • 129

    Bei folgenden Objekten sind einige Besonderheiten zu beachten:

    Eine Bohrung (Hole) kann ber eine Skizze oder einen Raumpunkt definiert werden. Wirdeine Skizze verwendet, so darf diese als Standardelement nur einen Punkt beinhalten.

    Ein Rotationskrper (Shaft oder Groove) bentigt innerhalb einer Skizze eine Rotations-achse (Abschnitt 4.3).

    Ein bergangskrper (Loft) basiert im internen CATIA-Datenmodell auf einer ber-gangsflche der Klasse HybridShapeLoft (siehe S. 303). Soll ein Objekt der Klasse Lofterzeugt werden, wird im ersten Schritt das Objekt ber die Methode AddNewLoft oderAddNewRemovedLoft erzeugt und ber dessen Eigenschaft HybridShape das zugrundeliegende Flchenobjekt deklariert. Im zweiten Schritt werden ber das Flchenobjekt dieKonturen des bergangskrpers definiert (vgl. Abschnitt 5.6).

    LOFT.HybridShape As HybridShapeLoft (Read Only)

    6.2.2 Fallbeispiele: Skizzenbasierte Volumenkrper

    Beispiel 6.2: Block mit Bohrung

    In einem geffneten, aktiven CATPart existiere im Hauptkrper eine Skizze Skizze.1 miteinem Rechteck der Abmessung 50 50 mm. Das Rechteck sei in der XY-Ebene mittigzum Achsensystem positioniert. Es soll im Hauptkrper ein Block mit einer Hhe von20 mm und in dessen Mitte eine Durchgangsbohrung mit einem Durchmesser von 10 mmerzeugt werden (Bild 6.2).

    Sub CATMain ()

    ' Hauptkrper deklarieren und in Bearbeitung setzen ----------------

    Dim Bauteil As Part

    Set Bauteil = CATIA.ActiveDocument.Part

    Dim HKoerper As Body

    Set HKoerper = Bauteil.MainBody

    Bauteil.InWorkObject = HKoerper

    Bild 6.2:Ergebnis desBeispielsBlock mit Bohrung

    6.2 Skizzenbasierte Volumenkrper

  • 130

    ' Skizze deklarieren -----------------------------------------------

    Dim Skizze As Sketch

    Set Skizze = HKoerper.Sketches.Item ("Skizze.1")

    ' Werkzeugkasten deklarieren ---------------------------------------

    Dim Wzk3D As ShapeFactory

    Set Wzk3D = Bauteil.ShapeFactory

    ' Block erzeugen ---------------------------------------------------

    Dim Block As Pad

    Set Block = Wzk3D.AddNewPad (Skizze, 20)

    ' Referenzflche der Bohrung deklarieren ---------------------------

    Dim Face, E, RSur, Ref

    Face = "Face:(Brp:(Pad.1;2);None:())"

    E = "WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport"

    RSur = "RSur:(" & Face & ";" & E &")"

    Set Ref = Bauteil.CreateReferenceFromBRepName (RSur, Block)

    ' Bohrung erzeugen -------------------------------------------------

    Dim Bohrung As Hole

    Set Bohrung = Wzk3D.AddNewHoleFromPoint (0, 0, 0, Ref, 20)

    Bohrung.Diameter.Value = 10

    Bohrung.Type = 0

    Bohrung.ThreadingMode = 1

    Bohrung.BottomLimit.LimitMode = 0

    Bauteil.Update

    End Sub

    Beispiel 6.3: Welle mit Ausdrehung

    In einem geffneten, aktiven CATPart existieren im Hauptkrper die Skizzen Skizze.1und Skizze.2. Skizze.1 beschreibe die Auenkontur einer Welle, Skizze.2 die Kontureiner Ausdrehung. Aus beiden Konturen soll im Hauptkrper eine Welle mit einer Aus-drehung erzeugt werden (Bild 6.3).

    Bild 6.3:Ergebnis desBeispiels Welle mitAusdrehung

    6 Volumenkrper

  • 131

    Sub CATMain ()

    ' Hauptkrper deklarieren und in Bearbeitung setzen ----------------

    Dim Bauteil As Part

    Set Bauteil = CATIA.ActiveDocument.Part

    Dim HKoerper As Body

    Set HKoerper = Bauteil.MainBody

    Bauteil.InWorkObject = HKoerper

    ' Skizzen deklarieren ----------------------------------------------

    Dim Skizze1, Skizze2 As Sketch

    Set Skizze1 = HKoerper.Sketches.Item ("Skizze.1")

    Set Skizze2 = HKoerper.Sketches.Item ("Skizze.2")

    ' Werkzeugkasten deklarieren ---------------------------------------

    Dim Wzk3D As ShapeFactory

    Set Wzk3D = Bauteil.ShapeFactory

    ' Welle erzeugen ---------------------------------------------------

    Dim Welle As Shaft

    Set Welle = Wzk3D.AddNewShaft (Skizze1)

    ' Ausdrehung erzeugen ---------------------------------------------

    Dim Nut As Groove

    Set Nut = Wzk3D.AddNewGroove (Skizze2)

    Bauteil.Update

    End Sub

    6.3 Flchenbasierte Volumenkrper

    Ein flchenbasierter Volumenkrper ist ein Volumenkrper, dessen Definition sich aufeine Flche oder einen Flchenverband sttzt. Jeder flchenbasierte Volumenkrper be-sitzt als bergeordnete Klasse die Klasse SurfaceBasedShape (siehe S. 426). Um einenflchenbasierten Volumenkrper zu erzeugen, gibt es zwei Mglichkeiten.

    Wenn eine Flche oder ein Flchenverband geschlossen oder aufgedickt wird, um einenVolumenkrper zu erstellen, spricht man von einer Volumenerzeugung. Ein Volumen-krper wird in diesem Fall neu geschaffen.

    Bei einer Volumennderung wird einem bestehenden Volumenkrper ein Teilbereich weg-genommen oder hinzugefgt.

    Eine bersicht der flchenbasierten Volumenkrper, der verwendeten Flchen und derenQ