Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Aktive DrawingView mit Makro erstellen wie manuell möglich

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
Autor Thema:  Aktive DrawingView mit Makro erstellen wie manuell möglich (217 / mal gelesen)
Flo-p1
Mitglied
Student

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

Beiträge: 9
Registriert: 29.04.2025

erstellt am: 28. Mai. 2025 16:50    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 habe ein kleines vb.net Programm, in dem ich einzelne Flächen in Catia jeweils aus und einblende und dann zum richtigen Zeitpunkt eine Drawing View erzeuge. Diese muss ich jedoch wieder isolieren, da diese sonst bei der nächsten View (sichtbare Flächen im CatPart ändern sich) mit einem Update nicht mehr die alten Flächen zeigt.

Ich würde gerne, wie es manuell möglich ist, erst zwei Geosets mit eben den jeweiligen Flächen auswählen und dann daraus eine View erzeugen, die dann nicht isoliert werden muss und eben nur auf die beiden Geosets zugreift/ zeigt.

Ich habe das ganze schonmal so probiert.. Überraschung es funktioniert nicht so einfach, oder habe ich einen Fehler?

Code:
'View erstellen
Dim topView As DrawingView = firstPlyViews.Add("Top View")
Dim behTop As DrawingViewGenerativeBehavior = topView.GenerativeBehavior
behTop.Document = partDoc
SelectPlyGeoset(plyindex, selection, partDoc) 'selektiert im CatPart die beiden gewünschten Geosets die jeweils eine Fläche beinhalten
behTop.DefineFrontView(vecX(0), vecX(1), vecX(2), vecY(0), vecY(1), vecY(2))
behTop.Update()

'Das ist die SelectPlyFunktion (Also soweit ich das manuell prüfen kann klappt die, außer ich habe ein activate etc. vergessen):
Shared Sub SelectPlyGeoset(plyindex As Integer, selection As Selection, partDoc As PartDocument)
    'plyindex 1 ist auch Ply 1
    Dim plynames As New List(Of String)
    For Each kvp As KeyValuePair(Of String, String()) In LoadLayupInformation.layupInfos
        Dim values As String() = kvp.Value
        plynames.Add(values(2))
    Next

    Dim part As Part = partDoc.Part
    Dim hybridbodies As HybridBodies = part.HybridBodies
    selection.Clear()

    For i As Integer = 1 To hybridbodies.Count
        Dim body As HybridBody = hybridbodies.Item(i)

        If body.Name = "Stacking" Then
            Dim pbBodies As HybridBodies = body.HybridBodies
            For j As Integer = 1 To pbBodies.Count
                Dim pbBody As HybridBody = pbBodies.Item(j)
                Dim seqBodies As HybridBodies = pbBody.HybridBodies
                For k As Integer = 1 To seqBodies.Count
                    Dim seqBody As HybridBody = seqBodies.Item(k)
                    Dim plyBodies As HybridBodies = seqBody.HybridBodies
                    For l As Integer = 1 To plyBodies.Count
                        Dim plyBody As HybridBody = plyBodies.Item(l)
                        If plyBody.Name = plynames(plyindex - 1) Then
                            selection.Add(plyBody)
                        End If
                    Next
                Next
            Next
        ElseIf body.Name = "Tooling_Export" Then
            selection.Add(body)
        End If
    Next

End Sub


Ja ich weiß, das ich die Geosets mehrmals selektiere, aber das sollte jedoch kein Problem sein oder?

Ich danke euch schonmal für eure Hilfe und wünsche einen schönen Tag.

Viele Grüße
Flo

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

wolfi_z
Moderator
Konstrukteur




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

Beiträge: 2512
Registriert: 04.12.2004

CATIA V5 in der aktuellen Umgebung des jeweiligem OEM ;-)
NX 2312 Daimler

erstellt am: 28. Mai. 2025 16: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 Flo-p1 10 Unities + Antwort hilfreich

Hi Flo,

Wenn Du eine Ansicht auf eine bestimmte Geometrie 'fokussiert' haben willst, dann gibt es dafuer einen ziemlich anderen Weg.
Du publizierst diese Geometrie im 3D und fuegst sie CPL in ein neues Part, welches Du in Deiner Baugruppe anlegst.
Die fragliche View wird dann mit einer Szene verknuepft, in der exakt dieses Part im Show ist und Deine 'normalen' Teile im Hide

LG ... Wolfi

------------------
NX neun minus CATIA fuenf ergibt Hartz IV 

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

Flo-p1
Mitglied
Student

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

Beiträge: 9
Registriert: 29.04.2025

erstellt am: 28. Mai. 2025 17: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

Hi Wolfi,

danke für deine Antwort.
vielleicht hätte ich das noch erwähnen sollen, aber es handelt sich um Flächen die in einem CatPart gespeichert sind und diese müssen auch dort drinnen bleiben. Eine Fokussierung über ein anderes CatPart würde nicht funktionieren, da 1. alles in dem CatPart bleiben muss und 2. es sehr viele verschiedene Views geben wird und es dann unendlich viele CatParts geben müsste.

Gruß Flo

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

wolfi_z
Moderator
Konstrukteur




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

Beiträge: 2512
Registriert: 04.12.2004

CATIA V5 in der aktuellen Umgebung des jeweiligem OEM ;-)
NX 2312 Daimler

erstellt am: 28. Mai. 2025 17:10    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 Flo-p1 10 Unities + Antwort hilfreich

Hmm.

Also (1) die Flaechen bleiben ja in dem CATPart. Die Flaechen in den zusaetzlichen CATParts sind wie ja eingangs gepostet nur abhaengige Kopien davon.
Ja gut, wenn es dann hinterher (2) sehr viele Parts gibt, dann ist das halt so.

Aber so kannst Du es regeln mit Basis-CATIA-Funktionalitaet.

LG ... Wolfi  

Edit: Ansonsten kann man Views auch sperren nachdem man sie upgedated hat mit den relevanten Daten im Show. Das ist in der Wirkung wie isolieren (kein Update mehr), kann im Gegensatz dazu aber wieder rueckgaengig gemacht werden.

------------------
NX neun minus CATIA fuenf ergibt Hartz IV  

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: 12074
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Mai. 2025 17: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 Flo-p1 10 Unities + Antwort hilfreich

Servus

Du solltest über: .GenerativeLinks.AddLink der Ansicht die anzuzeigenden GeoSets direkt der Ansicht zuweisen können (selektieren ist nicht erforderlich bzw geht vermutlich auch nicht)
Das GenerativeBehavior.Document kann dann entfallen.

Beispiel (als CATScript):

Code:
Sub CATMain()

Dim oDrawingDoc As Document
Dim oDrwSheet As DrawingSheet
Dim oDrwView As DrawingView
Dim oBody1 as Body
DIm oBody2 as Body
Dim oPartDoc as PartDocument
Dim oDrwViewGenerativeBehavior As DrawingViewGenerativeBehavior
Dim oDrwViewGenerativLinks As DrawingViewGenerativeLinks

' get bodies
Set oPartDoc = CATIA.ActiveDocument
Set oBody1 = oPartDoc.Part.Bodies.Item(3)
Set oBody2 = oPartDoc.Part.Bodies.Item(4)

' create drawing
Set oDrawingDoc = CATIA.Documents.Add("Drawing")
Set oDrwSheet = oDrawingDoc.Sheets.Item(1)

oDrwSheet.PaperSize = catPaperA3
oDrwSheet.Scale2 = 1.000000
oDrwSheet.Orientation = catPaperLandscape

' create view
Set oDrwView = oDrwSheet.Views.Add("AutomaticNaming")
Set oDrwViewGenerativLinks = oDrwView.GenerativeLinks
Set oDrwViewGenerativeBehavior = oDrwView.GenerativeBehavior

oDrwViewGenerativeBehavior.DefineFrontView 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

' add bodies to view
oDrwViewGenerativLinks.AddLink oBody1
oDrwViewGenerativLinks.AddLink oBody2

oDrwViewGenerativeBehavior.Update
oDrwView.Activate

End Sub


Gruß
Bernd

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

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

Flo-p1
Mitglied
Student

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

Beiträge: 9
Registriert: 29.04.2025

erstellt am: 02. Jun. 2025 08: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

Servus Bernd,

das funktioniert einwandfrei.
Das ist ja richtig schön, freut mich  .

Vielen Dank dir.

Grüße Flo

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