- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 7 von 7

Thema: VBA-Makro spinnt (CATIA)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473

    VBA-Makro spinnt (CATIA)

    Hallo

    Sind hier zufällig Leute, die CATIA benutzen und damit schonmal VBA-Makros programmiert haben?
    Mach grad meine ersten Geh-Versuche und CATIA ist mir da etwas unlogisch.

    Folgendes Problem:
    Dieses Makro soll eine Skizze erstellen. Nichts Großes...einfach nur ein Dreieck aus drei Linien, die Start- und Endpunkte der Linie werden über Punkte gebildet.

    Code:
    Public Sub NeuerKoerper()
        Dim prtdc As PartDocument
        Dim prt As Part
        Dim fctr As Factory
        Dim fctr2D As Factory2D
        Dim hbd As HybridBody
        Dim prdct As Product
        Dim ebn As HybridShapePlaneOffset
        Dim refe As Reference
        Dim sktch As sketch
        Dim sktchs As Sketches
        Dim l As Line2D
        Dim p As Point2D
        
        'Neues CATPart
        Set prtdc = CATIA.Documents.Add("CATPart")
        Set prtdc = CATIA.Documents.Item(CATIA.Documents.Count)
        Set prt = prtdc.Part
        
        'Part umbenennen
        Set prdct = prtdc.GetItem(prt.Name)
        prdct.PartNumber = "Prisma"
        
        'Geometrisches Set einen sinnvollen Namen geben
        Set hbd = prt.HybridBodies.Item(1)
        hbd.Name = "Grundfläche"
        
        'Ebene bauen und einfügen
        Set fctr = prt.HybridShapeFactory
        Set refe = prt.CreateReferenceFromObject(prt.OriginElements.PlaneXY)
        Set ebn = fctr.AddNewPlaneOffset(refe, 10, False)
        ebn.Name = "Skizzierebene"
        hbd.AppendHybridShape ebn
        prt.Update
        
        'Skizze erstellen
        Set sktchs = prt.Bodies.Item(1)
        Set refe = ebn
        Set sktch = sktchs.Add(refe)
        sktch.Name = "Skizze Prisma"
        prt.Update
        
        With sktch
            'Skizze öffnen
            .OpenEdition
            
            'Dreieck zeichnen
            With .Factory2D
                Set l = .CreateLine(0, 0, 0, 0)
                l.Name = "L1"
                
                Set l = .CreateLine(0, 0, 0, 0)
                l.Name = "L2"
                
                Set l = .CreateLine(0, 0, 0, 0)
                l.Name = "L3"
                
                Set p = .CreatePoint(0, 0)
                p.Name = "P1"
                
                Set p = .CreatePoint(0, 0)
                p.Name = "P2"
                
                Set p = .CreatePoint(0, 0)
                p.Name = "P3"
            End With
    
            Set p = .GeometricElements.Item("P1")
            p.SetData iX:=2, iY:=-2
            Set l = .GeometricElements.Item("L1")
            l.StartPoint = p
            Set l = .GeometricElements.Item("L2")
            l.EndPoint = p
    
            Set p = .GeometricElements.Item("P2")
            p.SetData iX:=0, iY:=3
            Set l = .GeometricElements.Item("L2")
            l.StartPoint = p
            Set l = .GeometricElements.Item("L3")
            l.EndPoint = p
            
            Set p = .GeometricElements.Item("P3")
            p.SetData iX:=-2, iY:=-2
            Set l = .GeometricElements.Item("L3")
            l.StartPoint = p
            Set l = .GeometricElements.Item("L1")
            l.EndPoint = p
    
            .CloseEdition
        End With
    
        prt.Update
    End Sub
    Laß ich dieses Makro jetzt durchlaufen werden die H-Koordinaten der Punkte zwar korrekt dargestellt und die Linien verbunden, nicht jedoch die V-Koordinanten. Das sieht dann so aus, daß in der Skizze nur eine horizontale Linie zu sehen ist, und erst wenn ich in der Skizze nachträglich eine Linie rausgezogen wird sieht man, daß es drei sind.

    Frage: Warum werden die V-Koordinaten nicht korrekt bei den Punkten übernommen?

    Was ich schon versucht habe:

    -NUR Punkte erstellen und Linien erstmal weglassen. Das klappt gut, die Punkte sind dann wo sie sein sollen.

    -Erst die Koordinaten aller Punkte verteilen und danach die Linien auf die Punkte legen. Einzeln und mit Unterbrechung zeigt nach jeder einzelnen Linie, daß genau in diesem Schritt der Punkt wieder auf die H-Achse gelegt wird.



    Edit:
    .evaluate zwischendurch bringt auch nix

    @Joschi:
    Oben links, großer blauer Konopf im jeweiligen Forum. Wohl zu groß...
    Geändert von White_Fox (27.12.2016 um 17:08 Uhr)

Ähnliche Themen

  1. makro um .txt in excel zu übernehmen
    Von user529 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 4
    Letzter Beitrag: 07.07.2008, 17:43
  2. Excel Makro - ATMEGA8535 - Seriell - Input Problem
    Von Abadacus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 21.09.2007, 19:55
  3. Genmark Makro
    Von Potze im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 23.07.2007, 17:28
  4. Makro-Problem
    Von gulliver im Forum Assembler-Programmierung
    Antworten: 0
    Letzter Beitrag: 25.06.2007, 18:12
  5. bei Catia V5 Schnecken und Schneckenräder konstruieren
    Von Devil im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 1
    Letzter Beitrag: 22.06.2006, 19:53

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress