Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Zugriff auf Part in Produktstruktur

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:  Zugriff auf Part in Produktstruktur (961 mal gelesen)
moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 30. Jun. 2020 14:30    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 in einer Produktstruktur in den Parts Releatons löschen.

Wie kann ich das entsprechende Part aktivieren? (Blau hinterlegtes Part)
Andernfalls bekomme ich eine Fehlermeldung da ich das Part nicht aktiv habe.


Alternative:
Meine Versuche das Part im neuen Fenster zu öffnen hat nur bedingt zum Ziel geführt, da das schließen nicht funktioniert.

Mit CATIA.ActiveDocument.Close werden nicht alle Fenster geschlossen.

Vieleicht hat jemand hierzu einen Tipp.

Code:
Function FuncDelete_Relations(RefDoc As Document, Prod As Product) As Integer
   
    Dim PartProd        'As Part
    Dim oRel            As relations
    Dim oSel            As Selection
    Dim aktiRel        As Relation
    Dim SelDoc          'As Document
   
    '***BESTIMMUNG DES DOKUMENTENTYPES
    If TypeName(RefDoc) = "PartDocument" Then
       
       
        Set PartProd = RefDoc.Part
        Set oRel = RefDoc.Part.relations
        Set oSel = RefDoc.Selection
        Set SelDoc = CATIA.ActiveDocument.Selection
        SelDoc.Add PartProd

        CATIA.StartCommand "Open in New Window"
       
        oSel.Clear
            For Each aktiRel In oRel
                    oSel.Add aktiRel
                    oSel.Delete
                    oSel.Clear
            Next

         
            CATIA.ActiveDocument.Close

       
    ElseIf TypeName(RefDoc) = "ProductDocument" Then 'Produkt
    Exit Function
   
    Else
        MsgBox "Unerwarteter Dokumententyp!", vbExclamation, "DOKUMENT: FEHLER"
    End If

End Function


------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 30. Jun. 2020 16:31    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 moppesle 10 Unities + Antwort hilfreich

Hallo Uwe,

ja die Dokumentenverwaltung im CATIA selbst ist in der Tat etwas Tricky 

Du musst quasy das Bauteil selektieren und dann die gewünschte Workbench aufrufen. Dabei wird automatisch das selektierte Bauteil aktiviert.

Code:

   
    WorkBench = "Part Design"
   
    Set TmpPartDoc = tmpnode.ReferenceProduct.Parent
    Set TmpPart = TmpPartDoc.Part

    TmpSelection.Add TmpPart
    If CATIA.GetWorkbenchId <> WorkBench Then               
        CATIA.StartWorkbench (WorkBench)                   
    End If
    TmpSelection.Clear


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 01. Jul. 2020 15:04    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


01-07-202014-46-38.jpg


01-07-202015-01-22.jpg

 
Hallo Rick,

Danke für deinen Code.

Leider funktioniert es noch nicht.
Bekomme immer noch folgende Fehlermeldung. (siehe Bild).

Bin laut Watchfenster in dem gewünschten Part, aber bei dem löschen der Selection läufts in den Fehler.
Wird denn das entsprechende Part im Baum blau beim Wechsel in die Workbench?
Das ist bei mir nicht der Fall.


Code:
Function FuncDelete_Relations(RefDoc As Document, Prod As Product) As Integer
 
    Dim PartProd        'As Part
    Dim oRel            As relations
    Dim oSel            As Selection
    Dim aktiRel        As Relation
    Dim SelDoc          'As Document
    Dim Workbench      As String
   

    '***BESTIMMUNG DES DOKUMENTENTYPES
    If TypeName(RefDoc) = "PartDocument" Then
     
     
        Set PartProd = RefDoc.Part
        Set oRel = RefDoc.Part.relations
        Set oSel = RefDoc.Selection
        Set SelDoc = CATIA.ActiveDocument.Selection
        SelDoc.Add PartProd
        Dim Workbench      As String
        Workbench = "Part Design"

        If CATIA.GetWorkbenchId <> Workbench Then
            CATIA.StartWorkbench (Workbench)
        End If
        SelDoc.Clear
     
        oSel.Clear
            For Each aktiRel In oRel
                    oSel.Add aktiRel
                    oSel.Delete
                    oSel.Clear
            Next

       
            'CATIA.ActiveDocument.Close

     
    ElseIf TypeName(RefDoc) = "ProductDocument" Then 'Produkt
    Exit Function
 
    Else
        MsgBox "Unerwarteter Dokumententyp!", vbExclamation, "DOKUMENT: FEHLER"
    End If

End Function


------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 01. Jul. 2020 15:12    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 moppesle 10 Unities + Antwort hilfreich

Hallo Uwe,

bist du sicher, dass die Selektion leer ist? Denn es sollte natürlich nur das Part selektiert sein.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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: 01. Jul. 2020 15:13    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 moppesle 10 Unities + Antwort hilfreich

Servus Uwe

Schon mal probiert satt die Relations zu selektieren diese einfach über Remove (Methode des Relations-Objekts) zu löschen?
Zusätzlich gibt es nur eine Selection (und nur auf das aktive Dokument im eigenen Fenster ansprechbar), also dürfte Set oSel = RefDoc.Selection so auch nicht gehen.

Gruß
Bernd

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

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 01. Jul. 2020 15:45    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 Rick hallo Bernd

Selection war/ist leer.
habe nun festgestellt das die Workbench immer noch im Assambly ist.

Das mit der Removemethode schaue ich mir mal an.

Danke euch beiden fürs erste.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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