Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Aus Gewinden Flächenerzeugung

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:  Aus Gewinden Flächenerzeugung (700 / mal gelesen)
Estafanos
Mitglied



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

Beiträge: 27
Registriert: 17.07.2012

Catia V5 R22, Windows 7

erstellt am: 04. Okt. 2016 15:16    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 gerne eine Methode schreiben, um aus „Bohrungen mit Gewinden“, „Gewinden“ und „gemusterten Gewinden“ Zylinderflächen erzeugt werden. Diese Flächen werden für weitere Messungen benötigt. In diesem Makro sollen folgende Schritte realisiert werden:
1. Erzeugen ein Geometrical Set (Wenn dies vorhanden löschen und neu erzeugen)-> Erledigt.
2. Suchen nach Gewinden (und auch Bohrungen mit Gewinden) -> Erledigt
3. Lesen die Gewinde-Parameter (Länge, Durchmesser, Radius, Richtung) -> Erledigt
4. Erzeugen aus 3 ein Zylinderfläche (im Workbench Generative Shape Design). Dies sollte in dem ober erzeugten Geometrical Set eingefügt werden. -> noch Offen
5. Suchen nach „UserPattern“, “Rectangular Pattern“, „Circular Pattern“, die Gewinde oder Bohrungen mit Gewinden haben, und für jedes Gewinde eine Zylinderfläche (HybridShapeCylinder) erzeugen. -> noch Offen
Vielen Dank und viele Grüße
Estafanos

'Code

Sub CATMain()
   
    CreateGeoSet 'Erzeugen ein Geoset, wenn vorhanden, dann löschen und ein neues erzeugen
   
    Dim oSelection As Selection
    Dim oPartDoc As PartDocument
    Dim arrHole() As Object
    Dim oThread As Thread
    Dim i As Integer
   
    Set oPartDoc = CATIA.ActiveDocument
   
    Set oSelection = oPartDoc.Selection
    oSelection.Clear
    oSelection.Search "CATPrtSearch.Thread,all"
   
    If oSelection.Count > 0 Then
       
        For i = 1 To oSelection.Count
            Set oThread = oSelection.Item(i).Value
            Dim x As Variant
            xDiameter = oThread.Diameter 'Gewinde Durchmesser
            X2Diameter = oThread.Diameter / 2 'Gewinde Radius
            yDepth = oThread.Depth 'Gewinde Tiefe
            Dim o As Double
            o = oThread.Pitch 'Steigung
           
            xLateralFaceElement = oThread.LateralFaceElement.Name
            Dim Richtung 'As CatThreadSide
            Richtung = oThread.Side
                     
            Dim ThreadDescription As StrParam
            Set ThreadDescription = oThread.ThreadDescription

            yy = oThread.LimitFaceElement.Name

            Set hybridBody1 = oPartDoc.Part.hybridBodies.Item("G_Gewinde_Flaechen")
           
            Dim hybridShapeFactory1 As HybridShapeFactory
            Set hybridShapeFactory1 = oPartDoc.Part.HybridShapeFactory

           
            'Hier soll ein Cylinder mit den angaben aus dem Gewinde erzeugt werden
           
            Dim hybridShapeCylinder1 As HybridShapeCylinder
            Set hybridShapeCylinder1 = hybridShapeFactory1.AddNewCylinder(reference2, 12#, 15#, 0#, hybridShapeDirection1)
            'Einfuegen in dem GeoSet
            hybridBody1.AppendHybridShape hybridShapeCylinder1
        Next
    Else
        Exit Sub
    End If
   
    oSelection.Clear

        'Hier soll nach UserPattern,Rectangular Pattern, Circular Pattern suchen, die Gewinde haben und für jedes Gewinde eine Fläche (HybridShapeCylinder) erzeugen

        Dim oSelectionPattern As Selection
        Set oSelectionPattern = CATIA.ActiveDocument.Selection
        oSelectionPattern.Search "CATPrtSearch.Pattern,all"
       
        Dim pattern1 As New Collection
        For i = 1 To oSelectionPattern.Count
            pattern1.Add oSelectionPattern.Item(i).Value
        Next
       
        For i = 1 To pattern1.Count
            Set pat1 = pattern1.Item(i).ItemToCopy
            Eltern = pattern1.Item(i).FeatureToLocatePositions.Name
            oSelection.Clear
            oSelection.Add pat1
            oSelection.Clear
        Next


End Sub

Sub CreateGeoSet()


Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As hybridBodies
Set hybridBodies1 = part1.hybridBodies

Dim hybridBody1 As HybridBody
       
        For i = 1 To hybridBodies1.Count
       
            If hybridBodies1.Item(i).Name = "G_Gewinde_Flaechen" Then
                Gefunden = True
            Else
                Gefunden = False
               
            End If
           
        Next
       
        If Gefunden = True Then
            'Delete
            Dim oSelection As Selection
            Set oSelection = partDocument1.Selection
            oSelection.Clear
            Set hybridBody1 = hybridBodies1.Item("G_Gewinde_Flaechen")
            oSelection.Add hybridBody1
            oSelection.Delete
            'Create
            Set hybridBody1 = hybridBodies1.Add()
            hybridBody1.Name = "G_Gewinde_Flaechen"
           
        Else
            Set hybridBody1 = hybridBodies1.Add()
            hybridBody1.Name = "G_Gewinde_Flaechen"
        End If
       
    part1.Update

End Sub

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



(Elektro-)Techniker:in als Entwickler:in 3D-Leitungssatz

(Elektro-)Techniker:in als Entwickler:in 3D-Leitungssatz

  • BOMAG ? Boppard
  • Berufserfahrene
  • Vollzeit 35 Stunden/Woche, unbefristet

Schwere Maschinen, die den Straßenbau erleichtern, mehr Platz und neue Räume schaffen. 2.500 Wegbereiter, die dafür sorgen, dass die Menschen ihre Ziele schnell und sicher erreichen. Das ist BOMAG....

Anzeige ansehenElektrotechnik, Elektronik
joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 04. Okt. 2016 16:18    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 Estafanos 10 Unities + Antwort hilfreich

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