Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Extrude-Fläche erstellen

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:  Extrude-Fläche erstellen (2677 mal gelesen)
billisk
Mitglied
Maschinenbau Ing.


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

Beiträge: 61
Registriert: 12.02.2008

erstellt am: 27. Apr. 2011 17:33    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,

da ich mich momentan in die CATIA V5 Makroprogrammierung einarbeite, experimentiere ich etwas mit den befehlen herum und bin da auf ein kleines Hindernis gestoßen. Ich kann leider nicht wie gewünscht die extrude fläche erzeugen(Fehlermeldung tritt auf). Kann mir da jemand weiterhelfen??? Das Problem liegt warscheinlich in der Angaben unter AddNewExtrude(................)

Viele Dank im voraus

Sub CATMain()

'Neues CATPart öffnen

    Dim D1 As Document
    Set D1 = CATIA.Documents.Add("Part")
   
    Dim Bauteil As Part
    Set Bauteil = CATIA.ActiveDocument.Part
   
    Dim Product As Product
    Set Product = CATIA.ActiveDocument.Product
    Product.PartNumber = "Testbauteil"
    Product.Revision = "PRJA"
    Product.Definition = "TestModel"
    Product.Nomenclature = "T001"

'3D Werkzeugkasten deklarieren

    Dim Wzk3D As Factory
    Set Wzk3D = Bauteil.HybridShapeFactory

'GeoSets erzeugen

    Dim GeoSet1 As HybridBody
    Set GeoSet1 = Bauteil.HybridBodies.Add
   
'Punkte erzeugen

    Dim P1, P2, P3, P4 As HybridShapePointCoord
    Set P1 = Wzk3D.AddNewPointCoord(0, 0, 0)
    Set P2 = Wzk3D.AddNewPointCoord(100, 0, 0)
    Set P3 = Wzk3D.AddNewPointCoord(100, 100, 0)
    Set P4 = Wzk3D.AddNewPointCoord(0, 100, 0)
   
    Dim RefP1, RefP2, RefP3, RefP4 As Reference
    Set RefP1 = Bauteil.CreateReferenceFromObject(P1)
    Set RefP2 = Bauteil.CreateReferenceFromObject(P2)
    Set RefP3 = Bauteil.CreateReferenceFromObject(P3)
    Set RefP4 = Bauteil.CreateReferenceFromObject(P4)

'Punkte dem GeoSet zuweissen
       
    GeoSet1.AppendHybridShape P1
    GeoSet1.AppendHybridShape P2
    GeoSet1.AppendHybridShape P3
    GeoSet1.AppendHybridShape P4
   
'Linien erzeugen

    Dim L1, L2, L3, L4 As HybridShapeLinePtPt
    Set L1 = Wzk3D.AddNewLinePtPt(RefP1, RefP2)
    Set L2 = Wzk3D.AddNewLinePtPt(RefP2, RefP3)
    Set L3 = Wzk3D.AddNewLinePtPt(RefP3, RefP4)
    Set L4 = Wzk3D.AddNewLinePtPt(RefP4, RefP1)
   
    Dim RefL1, RefL2, RefL3, RefL4 As Reference
    Set RefL1 = Bauteil.CreateReferenceFromObject(L1)
    Set RefL2 = Bauteil.CreateReferenceFromObject(L2)
    Set RefL3 = Bauteil.CreateReferenceFromObject(L3)
    Set RefL4 = Bauteil.CreateReferenceFromObject(L4)

'Linien dem GeoSet zuweissen

    GeoSet1.AppendHybridShape L1
    GeoSet1.AppendHybridShape L2
    GeoSet1.AppendHybridShape L3
    GeoSet1.AppendHybridShape L4
   
'Linien Füllen

    Dim Fuellen As HybridShapeFill
    Set Fuellen = Wzk3D.AddNewFill
    Fuellen.AddBound RefL1
    Fuellen.AddBound RefL2
    Fuellen.AddBound RefL3
    Fuellen.AddBound RefL4
   
    Dim RefFuellen As Reference
    Set RefFuellen = Bauteil.CreateReferenceFromObject(Fuellen)
   
'Fuellung dem GeoSet2 zuweissen

GeoSet1.AppendHybridShape Fuellen

'Offset ebene erstellen

    Dim Offset1 As HybridShapeOffset
    Set Offset1 = Wzk3D.AddNewOffset(RefFuellen, 20, True, 0.01)
   
   
'Offsetflaeche dem GeoSet zuweissen

    GeoSet1.AppendHybridShape Offset1

'Querschnittlinie der flaäche 1 erstellen

    Dim QLine As HybridShapeLinePtPt
    Set QLine = Wzk3D.AddNewLinePtPt(RefP1, RefP3)
    Dim RefQLine As Reference
    Set RefQLine = Bauteil.CreateReferenceFromObject(QLine)
   
'Ebene deklarieren
   
    Dim EbeneYZ As AnyObject
    Set EbeneYZ = Bauteil.OriginElements.PlaneYZ
    Dim RefEb As Reference
    Set RefEb = Bauteil.CreateReferenceFromObject(EbeneYZ)
   
'QLine dem GeoSet1zuweissen

    GeoSet1.AppendHybridShape QLine
   
'Extrudefläche aus QLine erzeugen

    Dim Extrude1 As HybridShapeExtrude
    Set Extrude1 = Wzk3D.AddNewExtrude(RefQLine, 100, 100, RefEb)
   
'ExtrudeFläche dem GeoSet zuweissen

    GeoSet1.AppendHybridShape Extrude1

Bauteil.Update

End Sub

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 28. Apr. 2011 08:55    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 billisk 10 Unities + Antwort hilfreich

Hallo billisk,

ich habe mir den Code jetzt nicht angeschaut, aber es wäre auch für andere Hilfreich, wenn Du kurz nennen könntest welches CATIA Du einsetzt und vor allem wie die Fehlermeldung lautet und in welcher Zeile sie genau auftritt.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

billisk
Mitglied
Maschinenbau Ing.


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

Beiträge: 61
Registriert: 12.02.2008

erstellt am: 28. Apr. 2011 08:59    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

Sorry mein Fehler.
Also CATIA V5R19, und die Fehlermeldung tritt bei der Zeile

Set Extrude1 = Wzk3D.AddNewExtrude(RefQLine, 100, 100, RefEb)

auf.

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 28. Apr. 2011 09:35    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 billisk 10 Unities + Antwort hilfreich

Hallo billisk,

du musst die Richtung auch als Hybridshapedirection definieren, nicht nur als Reference einer Ebene, dann gehts:

Sub CATMain()

'Neues CATPart öffnen

    Dim D1 As document
    Set D1 = CATIA.Documents.Add("Part")
   
    Dim Bauteil As Part
    Set Bauteil = CATIA.ActiveDocument.Part
   
    Dim Product As Product
    Set Product = CATIA.ActiveDocument.Product
    Product.PartNumber = "Testbauteil"
    Product.Revision = "PRJA"
    Product.Definition = "TestModel"
    Product.Nomenclature = "T001"

'3D Werkzeugkasten deklarieren

    Dim Wzk3D As Factory
    Set Wzk3D = Bauteil.HybridShapeFactory

'GeoSets erzeugen

    Dim GeoSet1 As HybridBody
    Set GeoSet1 = Bauteil.HybridBodies.Add
   
'Punkte erzeugen

    Dim P1, P2, P3, P4 As HybridShapePointCoord
    Set P1 = Wzk3D.AddNewPointCoord(0, 0, 0)
    Set P2 = Wzk3D.AddNewPointCoord(100, 0, 0)
    Set P3 = Wzk3D.AddNewPointCoord(100, 100, 0)
    Set P4 = Wzk3D.AddNewPointCoord(0, 100, 0)
   
    Dim RefP1, RefP2, RefP3, RefP4 As Reference
    Set RefP1 = Bauteil.CreateReferenceFromObject(P1)
    Set RefP2 = Bauteil.CreateReferenceFromObject(P2)
    Set RefP3 = Bauteil.CreateReferenceFromObject(P3)
    Set RefP4 = Bauteil.CreateReferenceFromObject(P4)

'Punkte dem GeoSet zuweissen
       
    GeoSet1.AppendHybridShape P1
    GeoSet1.AppendHybridShape P2
    GeoSet1.AppendHybridShape P3
    GeoSet1.AppendHybridShape P4
   
'Linien erzeugen

    Dim L1, L2, L3, L4 As HybridShapeLinePtPt
    Set L1 = Wzk3D.AddNewLinePtPt(RefP1, RefP2)
    Set L2 = Wzk3D.AddNewLinePtPt(RefP2, RefP3)
    Set L3 = Wzk3D.AddNewLinePtPt(RefP3, RefP4)
    Set L4 = Wzk3D.AddNewLinePtPt(RefP4, RefP1)
   
    Dim RefL1, RefL2, RefL3, RefL4 As Reference
    Set RefL1 = Bauteil.CreateReferenceFromObject(L1)
    Set RefL2 = Bauteil.CreateReferenceFromObject(L2)
    Set RefL3 = Bauteil.CreateReferenceFromObject(L3)
    Set RefL4 = Bauteil.CreateReferenceFromObject(L4)

'Linien dem GeoSet zuweissen

    GeoSet1.AppendHybridShape L1
    GeoSet1.AppendHybridShape L2
    GeoSet1.AppendHybridShape L3
    GeoSet1.AppendHybridShape L4
   
'Linien Füllen

    Dim Fuellen As HybridShapeFill
    Set Fuellen = Wzk3D.AddNewFill
    Fuellen.AddBound RefL1
    Fuellen.AddBound RefL2
    Fuellen.AddBound RefL3
    Fuellen.AddBound RefL4
   
    Dim RefFuellen As Reference
    Set RefFuellen = Bauteil.CreateReferenceFromObject(Fuellen)
   
'Fuellung dem GeoSet2 zuweissen

GeoSet1.AppendHybridShape Fuellen

'Offset ebene erstellen

    Dim Offset1 As HybridShapeOffset
    Set Offset1 = Wzk3D.AddNewOffset(RefFuellen, 20, True, 0.01)
   
   
'Offsetflaeche dem GeoSet zuweissen

    GeoSet1.AppendHybridShape Offset1

'Querschnittlinie der flaäche 1 erstellen

    Dim QLine As HybridShapeLinePtPt
    Set QLine = Wzk3D.AddNewLinePtPt(RefP1, RefP3)
    Dim RefQLine As Reference
    Set RefQLine = Bauteil.CreateReferenceFromObject(QLine)
   
'Ebene deklarieren
   
    Dim EbeneYZ As AnyObject
    Set EbeneYZ = Bauteil.OriginElements.PlaneYZ
    Dim RefEb As Reference
    Set RefEb = Bauteil.CreateReferenceFromObject(EbeneYZ)
   
'QLine dem GeoSet1zuweissen

    GeoSet1.AppendHybridShape QLine
   
'Extrudefläche aus QLine erzeugen

'________________________________________________________________________________
'Ergaenzung:
'________________________________________________________________________________

    Dim hybridShapeDirection1 As HybridShapeDirection
    Set hybridShapeDirection1 = Wzk3D.AddNewDirection(RefEb)
   
'________________________________________________________________________________


    Dim Extrude1 As HybridShapeExtrude
'________________________________________________________________________________
   
'Aenderung RefDirection:
'________________________________________________________________________________

    Set Extrude1 = Wzk3D.AddNewExtrude(RefQLine, 100, 100, hybridShapeDirection1)
'________________________________________________________________________________
   
'ExtrudeFläche dem GeoSet zuweissen

    GeoSet1.AppendHybridShape Extrude1

Bauteil.Update

End Sub

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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