Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Macro für Flächenverbund

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:  Macro für Flächenverbund (1329 mal gelesen)
Fonz
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 13.05.2010

Dell Precission 5820 Tower
Intel Xeon(R) W-2123 3,6GHz
32GB RAM
Quadro P4000 4GB Treiber 385.69
WIN10 64Bit
Catia V5-6 2018 SP3 BN28 HF27
VWGRCLite 7.1.5.1.0

erstellt am: 13. Mai. 2010 10:01    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 mich kurz vorstellen bevor ich meine erste Frage stelle.
Ich arbeite seit 2004 mit Catia V5, zuerst in der Serienetwicklung der
Automobilindustrie und seit ersten Mai in der Vorrichtungskonstruktion.

Hier nun meine erste Frage    
ich suche ein Makro das mir alle Flächen in einem Geometrischen Set (GS) verbindet.
Aus diese Verbindung (Join) soll dann ein Volumenkörper im ersten Body abgelegt werden.
Danach soll das GS in NowShow gestellt werden.

Ich habe null Ahnung was Makroprogramierung angeht.    

Was ich schon getan habe.
Ich habe ein Makro als CATscript aufzeichnen lassen das auch wunderbar funktioniert hat.
Sobald aber die Flächenanzahl zunimmt, funktioniert das nicht mehr.
Wenn es einen Befehl geben würde der dem Makro sagen würde nimm immer alle Flächen im GS würde es
warscheinlich schon funktionieren.

Hier mal mein aufgezeichnetes Makro.
--------------------------------------------------
Language="VBSCRIPT"

Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters

Dim hybridShapeSurfaceExplicit1 As Parameter
Set hybridShapeSurfaceExplicit1 = parameters1.Item("Fläche.1")

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit1)

Dim parameters2 As Parameters
Set parameters2 = part1.Parameters

Dim hybridShapeSurfaceExplicit2 As Parameter
Set hybridShapeSurfaceExplicit2 = parameters2.Item("Fläche.2")

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit2)

Dim hybridShapeAssemble1 As HybridShapeAssemble
Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2)

Dim parameters3 As Parameters
Set parameters3 = part1.Parameters

Dim hybridShapeSurfaceExplicit3 As Parameter
Set hybridShapeSurfaceExplicit3 = parameters3.Item("Fläche.3")

Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit3)

hybridShapeAssemble1.AddElement reference3

Dim parameters4 As Parameters
Set parameters4 = part1.Parameters

Dim hybridShapeSurfaceExplicit4 As Parameter
Set hybridShapeSurfaceExplicit4 = parameters4.Item("Fläche.4")

Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit4)

hybridShapeAssemble1.AddElement reference4

Dim parameters5 As Parameters
Set parameters5 = part1.Parameters

Dim hybridShapeSurfaceExplicit5 As Parameter
Set hybridShapeSurfaceExplicit5 = parameters5.Item("Fläche.5")

Dim reference5 As Reference
Set reference5 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit5)

hybridShapeAssemble1.AddElement reference5

Dim parameters6 As Parameters
Set parameters6 = part1.Parameters

Dim hybridShapeSurfaceExplicit6 As Parameter
Set hybridShapeSurfaceExplicit6 = parameters6.Item("Fläche.6")

Dim reference6 As Reference
Set reference6 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit6)

hybridShapeAssemble1.AddElement reference6

Dim parameters7 As Parameters
Set parameters7 = part1.Parameters

Dim hybridShapeSurfaceExplicit7 As Parameter
Set hybridShapeSurfaceExplicit7 = parameters7.Item("Fläche.7")

Dim reference7 As Reference
Set reference7 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit7)

hybridShapeAssemble1.AddElement reference7

Dim parameters8 As Parameters
Set parameters8 = part1.Parameters

Dim hybridShapeSurfaceExplicit8 As Parameter
Set hybridShapeSurfaceExplicit8 = parameters8.Item("Fläche.8")

Dim reference8 As Reference
Set reference8 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit8)

hybridShapeAssemble1.AddElement reference8

Dim parameters9 As Parameters
Set parameters9 = part1.Parameters

Dim hybridShapeSurfaceExplicit9 As Parameter
Set hybridShapeSurfaceExplicit9 = parameters9.Item("Fläche.9")

Dim reference9 As Reference
Set reference9 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit9)

hybridShapeAssemble1.AddElement reference9

Dim parameters10 As Parameters
Set parameters10 = part1.Parameters

Dim hybridShapeSurfaceExplicit10 As Parameter
Set hybridShapeSurfaceExplicit10 = parameters10.Item("Fläche.10")

Dim reference10 As Reference
Set reference10 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit10)

hybridShapeAssemble1.AddElement reference10

Dim parameters11 As Parameters
Set parameters11 = part1.Parameters

Dim hybridShapeSurfaceExplicit11 As Parameter
Set hybridShapeSurfaceExplicit11 = parameters11.Item("Fläche.11")

Dim reference11 As Reference
Set reference11 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit11)

hybridShapeAssemble1.AddElement reference11

Dim parameters12 As Parameters
Set parameters12 = part1.Parameters

Dim hybridShapeSurfaceExplicit12 As Parameter
Set hybridShapeSurfaceExplicit12 = parameters12.Item("Fläche.12")

Dim reference12 As Reference
Set reference12 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit12)

hybridShapeAssemble1.AddElement reference12

Dim parameters13 As Parameters
Set parameters13 = part1.Parameters

Dim hybridShapeSurfaceExplicit13 As Parameter
Set hybridShapeSurfaceExplicit13 = parameters13.Item("Fläche.13")

Dim reference13 As Reference
Set reference13 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit13)

hybridShapeAssemble1.AddElement reference13

Dim parameters14 As Parameters
Set parameters14 = part1.Parameters

Dim hybridShapeSurfaceExplicit14 As Parameter
Set hybridShapeSurfaceExplicit14 = parameters14.Item("Fläche.14")

Dim reference14 As Reference
Set reference14 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit14)

hybridShapeAssemble1.AddElement reference14

Dim parameters15 As Parameters
Set parameters15 = part1.Parameters

Dim hybridShapeSurfaceExplicit15 As Parameter
Set hybridShapeSurfaceExplicit15 = parameters15.Item("Fläche.15")

Dim reference15 As Reference
Set reference15 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit15)

hybridShapeAssemble1.AddElement reference15

Dim parameters16 As Parameters
Set parameters16 = part1.Parameters

Dim hybridShapeSurfaceExplicit16 As Parameter
Set hybridShapeSurfaceExplicit16 = parameters16.Item("Fläche.16")

Dim reference16 As Reference
Set reference16 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit16)

hybridShapeAssemble1.AddElement reference16

Dim parameters17 As Parameters
Set parameters17 = part1.Parameters

Dim hybridShapeSurfaceExplicit17 As Parameter
Set hybridShapeSurfaceExplicit17 = parameters17.Item("Fläche.17")

Dim reference17 As Reference
Set reference17 = part1.CreateReferenceFromObject(hybridShapeSurfaceExplicit17)

hybridShapeAssemble1.AddElement reference17

hybridShapeAssemble1.SetConnex 1

hybridShapeAssemble1.SetManifold 0

hybridShapeAssemble1.SetSimplify 0

hybridShapeAssemble1.SetSuppressMode 0

hybridShapeAssemble1.SetDeviation 0.001000

hybridShapeAssemble1.SetAngularToleranceMode 0

hybridShapeAssemble1.SetAngularTolerance 0.500000

hybridShapeAssemble1.SetFederationPropagation 0

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrisches Set.1")

hybridBody1.AppendHybridShape hybridShapeAssemble1

part1.InWorkObject = hybridShapeAssemble1

part1.Update

part1.Update

End Sub
--------------------------------------------------
LG Fonz


[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]

[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]

[Diese Nachricht wurde von Fonz am 13. Mai. 2010 editiert.]

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

Fonz
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 13.05.2010

Dell Precission 5820 Tower
Intel Xeon(R) W-2123 3,6GHz
32GB RAM
Quadro P4000 4GB Treiber 385.69
WIN10 64Bit
Catia V5-6 2018 SP3 BN28 HF27
VWGRCLite 7.1.5.1.0

erstellt am: 18. Mai. 2010 20:09    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,

und wieder nach oben, vielleicht kann mir ja doch wer weiterhelfen.

Gruß Fonz 

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 18. Mai. 2010 21:00    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 Fonz 10 Unities + Antwort hilfreich

Servus
Ich würde das Makro so aufbauen:
- Userselektion -> GeoSet auswählen
- neues GeoSet erzeugen
- im neuen GeoSet ein Assemble (Join) erzeugen (mit erster Fläche aus gewähltem Set)
- GeoSet durcharbeiten (über for-next-Schleife .Item(X)) -> wenn Item ist eine Fläche -> Referenz aus der Fläche generieren -> dem Join hinzufügen (.AddElement)
Ich hoffe das hilft etwas weiter. Mit Hilfe der Forensuche und der Doku kannst du nun probieren so ein Makro zu erzeugen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Fonz
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 13.05.2010

Dell Precission 5820 Tower
Intel Xeon(R) W-2123 3,6GHz
32GB RAM
Quadro P4000 4GB Treiber 385.69
WIN10 64Bit
Catia V5-6 2018 SP3 BN28 HF27
VWGRCLite 7.1.5.1.0

erstellt am: 24. Mai. 2010 10:17    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 Bernd,

vielen Dank für deine Mühe, ich werde das mal ausprobieren vielleicht schaff ich das ja.
Mein Ergebniss werde ich hier posten.

LG Fonz

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