Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Kontur Vervielfachen in CATIA

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Kontur Vervielfachen in CATIA (1118 mal gelesen)
Ronholt
Mitglied


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

Beiträge: 3
Registriert: 22.05.2012

erstellt am: 11. Jul. 2012 14:29    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 habe folgendes Problem:
Ich soll in einer Projektarbeit ein parametrisiertes Modell in Catia erstellen. Dies beinhaltet eine Kurvenkontur die an einer Helix entlangläuft.
Die Kontur haben wir entwickelt. Wir haben auch ein VB Programm geschrieben das bis jetzt die Kontur zweimal vervielfacht wird, beim dritten mal bezieht sich die Kontur immer auf die aller erste und benutzt nicht den Endpunkt der zweiten Kontur als Startpunkt.

Wie kann ich das programmieren das immer die folgende Kontur den Endpunkt des Vorgängers als Startpunkt wählt?

Hier mein Quellcode:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim CATIA As INFITF.Application
        Dim Body1 As Body
        Dim part1 As Part
        Dim reference1, reference2 As Reference
        Dim hybridShapeFactory1 As HybridShapeFactory
        Dim hybridShapes1 As HybridShapes
        Dim hybridShapeRotate1 As HybridShapeRotate
        Dim partDocument1 As Document
        Dim hybridShapeAssemble1 As HybridShapeAssemble
        Dim axisSystems1 As AxisSystems
        Dim axisSystem1 As AxisSystem
        Dim bodies1 As Bodies

        Try
            CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")
        Catch ex As System.Runtime.InteropServices.COMException
            MessageBox.Show("Catia nicht gefunden!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End
        End Try

        partDocument1 = CATIA.ActiveDocument

        part1 = partDocument1.Part

        hybridShapeFactory1 = part1.HybridShapeFactory

        'Auslesen und setzten der Parameter
        'Dim Hoehe_Beginn_der_Tropfen As Parameter
        'Hoehe_Beginn_der_Tropfen = part1.Paramters.Item("Hoehe_Beginn_der_Tropfen")


        'Geometrischesset erzeugen
        Dim hb1 As HybridBody
        hb1 = part1.HybridBodies.Add
        hb1.Name = "Spiralkonstruktion"
        part1.InWorkObject = hb1

        'Deklaration für die nächsten Schritte
        Dim i, h, Winkel, Hoehe As Single
        i = 29.79
        h = 0.92
        Winkel = 0
        Hoehe = 0


        Do While Hoehe < 1.8

            'Die Kurve um einen gewissen Winkel drehen
            Winkel = Winkel + i

            hybridShapeRotate1 = hybridShapeFactory1.AddNewEmptyRotate()

            bodies1 = part1.Bodies

            Body1 = bodies1.Item("Hauptkörper")

            hybridShapes1 = Body1.HybridShapes

            hybridShapeAssemble1 = hybridShapes1.Item("Verbindung.1")

            reference1 = part1.CreateReferenceFromObject(hybridShapeAssemble1)

            hybridShapeRotate1.ElemToRotate = reference1

            hybridShapeRotate1.VolumeResult = False

            hybridShapeRotate1.RotationType = 0

            axisSystems1 = part1.AxisSystems

            axisSystem1 = axisSystems1.Item("Achsensystem.1")

            reference2 = part1.CreateReferenceFromBRepName("REdge :frown:Edge :frown:Face :frown:Brp :frown:AxisSystem.1;3);None :frown:);Cf11 :frown:));Face :frown:Brp :frown:AxisSystem.1;2);None :frown:);Cf11 :frown:));None :frown:Limits1 :frown:);Limits2 :frown:));Cf11 :frown:));WithPe rmanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)

            hybridShapeRotate1.Axis = reference2

            hybridShapeRotate1.AngleValue = Winkel

            hb1.AppendHybridShape(hybridShapeRotate1)

            part1.InWorkObject = hybridShapeRotate1

            part1.Update()

            'Ausblenden der Drehung
            Dim mysel As INFITF.Selection
            mysel = partDocument1.Selection
            mysel.Clear()
            mysel.Add(hybridShapeRotate1)
            mysel.VisProperties.SetShow(CatVisPropertyShow.catVisPropertyNoShowAttr)
            mysel.Clear()


            'Verschieben der weiter gedrehten Kurve
            Hoehe = Hoehe + h

            Dim reference3, reference4 As Reference
            Dim hybridShapeDirection1 As HybridShapeDirection
            Dim hybridShapeTranslate1 As HybridShapeTranslate

            reference3 = part1.CreateReferenceFromBRepName("REdge :frown:Edge :frown:Face :frown:Brp :frown:AxisSystem.1;3);None :frown:);Cf11 :frown:));Face :frown:Brp :frown:AxisSystem.1;2);None :frown:);Cf11 :frown:));None :frown:Limits1 :frown:);Limits2 :frown:));Cf11 :frown:));WithPe rmanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)

            hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(reference3)

            hybridShapeTranslate1 = hybridShapeFactory1.AddNewEmptyTranslate()

            hybridShapes1 = Body1.HybridShapes

            reference4 = part1.CreateReferenceFromObject(hybridShapeRotate1)

            hybridShapeTranslate1.ElemToTranslate = reference4

            hybridShapeTranslate1.VectorType = 0

            hybridShapeTranslate1.Direction = hybridShapeDirection1

            hybridShapeTranslate1.DistanceValue = Hoehe

            hybridShapeTranslate1.VolumeResult = False

            hb1.AppendHybridShape(hybridShapeTranslate1)

            part1.Update()

            'Die beiden Kurven miteinader Verbinden

            Dim hybridShapeAssemble2 As HybridShapeAssemble
            Dim reference5, reference6 As Reference


            reference5 = part1.CreateReferenceFromObject(hybridShapeAssemble1)

            reference6 = part1.CreateReferenceFromObject(hybridShapeTranslate1)

            hybridShapeAssemble2 = hybridShapeFactory1.AddNewJoin(reference5, reference6)

            hybridShapeAssemble2.SetConnex(1)

            hybridShapeAssemble2.SetManifold(1)

            hybridShapeAssemble2.SetSimplify(0)

            hybridShapeAssemble2.SetSuppressMode(0)

            hybridShapeAssemble2.SetDeviation(0.004)

            hybridShapeAssemble2.SetAngularToleranceMode(0)

            hybridShapeAssemble2.SetAngularTolerance(0.5)

            hybridShapeAssemble2.SetFederationPropagation(0)

            hb1.AppendHybridShape(hybridShapeAssemble2)

            part1.Update()
        Loop
    End Sub
End Class

[Diese Nachricht wurde von Ronholt am 11. Jul. 2012 editiert.]

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)2025 CAD.de | Impressum | Datenschutz