Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  RootProdukt aktivieren

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:  RootProdukt aktivieren (2734 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: 23. Okt. 2017 12: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

ich möchte gerne das oberste Produkt in einer beliebigen Produktstruktur aktivieren. (blau hinterlegt)


Mit

Code:
Sub CATMain()
Dim Root_Document As ProductDocument

Set Root_Document = CATIA.ActiveDocument

Root_Document.Activate

End Sub


funktioniert es leider nicht.

Hat jemand einen Idee.

Danke

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

Auch Catia ist nur ein Mensch!    

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: 23. Okt. 2017 12: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 moppesle 10 Unities + Antwort hilfreich

Servus Uwe

Schon mal das hier probiert/gelesen?

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: 23. Okt. 2017 12:22    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 Bernd,

Zitat:

Dim oSel As Selection
Set oSel = CATIA.ActiveDocument.Selection
Dim oProd As Product
Set oProd = CATIA.ActiveDocument.Product

oSel.Clear
oSel.add oProd
CATIA.StartCommand "FrmActivate"


"FrmActivate" highlightet mir das oberste Produkt jedoch wird es nicht aktiv (also Blau) gestetzt.

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

Auch Catia ist nur ein Mensch!    

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

C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 24. Okt. 2017 09:08    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

Funktioniert das vielleicht irgendwie mit InWorkObject?

Code:
Catia.ActiveDocument.part.InWorkObject = mainBodyNew

Liebe Grüße aus Wien,
Christoph

Edit: Hmm, wohl eher nicht :/

Zitat:

o Property InWorkObject( ) As AnyObject 

Returns or sets the in work object of the part. The in work object is the object after which a new object is added.
Example:

Code:
Set partRoot = partDoc.Part
Set partRoot.InWorkObject = cylindricPad
If ( partRoot.InWorkObject <> cylindricPad ) Then
      MsgBox "There is a big problem"
End If

Edit 2:

Zitat:
Hi Bernd,

    Zitat:
   

Code:
Dim oSel As Selection
    Set oSel = CATIA.ActiveDocument.Selection
    Dim oProd As Product
    Set oProd = CATIA.ActiveDocument.Product

    oSel.Clear
    oSel.add oProd
    CATIA.StartCommand "FrmActivate"


"FrmActivate" highlightet mir das oberste Produkt jedoch wird es nicht aktiv (also Blau) gestetzt.


D.h. dein Programm funktioniert bis oSel.add oProd, denn hier findet die Selection statt. Hast du dein Catia auf Englisch?

[Diese Nachricht wurde von C.Samer am 24. Okt. 2017 editiert.]

[Diese Nachricht wurde von C.Samer am 24. Okt. 2017 editiert.]

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 30. Okt. 2017 11: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 Nur für moppesle 10 Unities + Antwort hilfreich

Hi Uwe,

Zitat:

ich möchte gerne das oberste Produkt in einer beliebigen Produktstruktur aktivieren. (blau hinterlegt)

jetzt erstmal aus Neugier: Wozu?

Ich kann mir einen Weg vorstellen, aber der ist steinig.

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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. Nov. 2017 08:52    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 Christoph, hallo Joe,

Danke für eure Rückmeldung.

Offiziell wird CATIA.StartCommand "FrmActivate" wohl nicht Unterstützt.
Hab ich im Netz gefunden.

Zitat:
To Submitter    12/29/2010 01:52:33PM
THIS PROBLEM IS PERMANENT RESTRICTION IN CATIA

UI-activation command mentioned by customer is not exposed in Catia documentation nor in Catia
available command lists (Tools|Customize list and View|Command List) so customers should not use it.

The command is accessible through Power input because it is not protected there

For more information customer can refer the BR10000048423


Zitat:
To Submitter    01/06/2011 05:59:32AM
Hello,

If you open the commands available in CATIA at  Tools->Customize->Command tab, here you cannot find the “frmactivate ” command.Hence this command will not work with CATIA.StartCommand method.
In addition , this command is not documented. Hence this command is not supported.
This is PERMANENT RESTRICTION in CATIA.

Best Regards, CAA Maintain Team


Einschließlich R18 hat es aber wohl mal funktioniert.


@ Christoph

Zitat:
D.h. dein Programm funktioniert bis oSel.add oProd, denn hier findet die Selection statt. Hast du dein Catia auf Englisch?

Ja Englische Umgebung.
Die Selection findet statt, leider wird das aktivschalten nicht ausgeführt.


@ Joe
Hintergrund ist der, das ich über alle Parts und Produkte eine "selection1.Search" ausführen möchte.
Wenn nun versehentlich ein Part aktiv ist werden alle andern Produkte/Parts ignoriert.

Eine Idee von mir das Problem zu umgehen wäre ein neues Produkt(neues Fenster) zu erstellen und das oberste Produkt in das "NeueProdukt" zu kopieren.
Hier die "selection1.Search" auszuführen und dann das "NeueProdukt" dann wieder zu löschen.

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

Auch Catia ist nur ein Mensch!    

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. Nov. 2017 09:29    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

Wie sprichst du denn die Selection an?
In meinem Kurztest ist das ActiveDocument immer das Rootproduct (bzw dessen Document) egal was im Baum aktiv ist. Somit sollte auch dessen Selection (und darin die Suche) alles im Rootproduct beinhalten.

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: 02. Nov. 2017 12:24    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,

ich muß dir teilweise recht geben.

Die Selection beinhaltet alles im Rootprodukt.
Soweit richtig.


Leider wird die Selection bei mir dann nicht gelöscht wenn z.B. ein Part aktiv ist.

Und es wird noch kurioser.
Nicht gelöscht werden:
-Formula
-Rule
in Part und Produkt nicht.

Hingegen
-Reaction
-DesignTable
wird nur im Part gelöscht.

Funktionieren tut es nur bei aktivem obersten Produkt. 

Code:
Set ProdDoc = CATIA.ActiveDocument
     Set selection1 = ProdDoc.SELECTION

                    selection1.Clear
                    selection1.Search "(CATKnowledgeSearch.AdvisorReaction),all"
                        If selection1.Count > 0 Then
                       
                           
                            selection1.Delete
                            selection1.Clear
                        Else
                            selection1.Clear
                        End If
                        selection1.Clear
                    selection1.Search "CATKnowledgeSearch.AdvisorFormula.Visibility=visible,all"
                    selection1.Clear
                    selection1.Search "(CATKnowledgeSearch.AdvisorFormula - CATKnowledgeSearch.AdvisorFormula.Name=DINNormaFormula),all"
                    'selection1.Search "CATKnowledgeSearch.AdvisorFormula,all"
                        If selection1.Count > 0 Then
                       
                            selection1.Delete
                            selection1.Clear
                        Else
                            selection1.Clear
                        End If
                        selection1.Clear
                    selection1.Search "CATKnowledgeSearch.AdvisorRule,all"
                        If selection1.Count > 0 Then
                           
                            selection1.Delete
                            selection1.Clear
                        Else
                            selection1.Clear
                        End If
                        selection1.Clear
                    selection1.Search "CATKnowledgeSearch.DesignTableType,all"
                        If selection1.Count > 0 Then
                           
                            selection1.Delete
                            selection1.Clear
                        Else
                            selection1.Clear
                        End If
                        selection1.Clear
                    selection1.Search "(Knowledgeware.'Visual Basic Script Macro'),all"
                        If selection1.Count > 0 Then
                           
                            selection1.Delete
                            selection1.Clear
                        Else
                            selection1.Clear
                        End If



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

Auch Catia ist nur ein Mensch!      

[Diese Nachricht wurde von moppesle am 02. Nov. 2017 editiert.]

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 15. Nov. 2017 07:40    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

Moin,

probiere mal folgenden Workaround:
- dein Root.Product in ein neu erzeugtes .CATProduct zufügen
- dort die Selection / das Search ausführen...
- dann das neu erzeugte .CATProduct einfach schließen
- fertig
Damit ist es unrelevant, welcher Knoten in deiner Struktur aktiviert ist.
Gruß TomTom1972

------------------
tomtom1972

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: 15. Nov. 2017 07: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

Hi tomtom1972,

danke für die Antwort.

Das hatte ich mir auch schon überlegt.

In meinen zweitletzten Eintrag.

Zitat:
Eine Idee von mir das Problem zu umgehen wäre ein neues Produkt(neues Fenster) zu erstellen und das oberste Produkt in das "NeueProdukt" zu kopieren.
Hier die "selection1.Search" auszuführen und dann das "NeueProdukt" dann wieder zu löschen.

Hast du hierzu ein Beispiel?

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

Auch Catia ist nur ein Mensch!    

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 16. Nov. 2017 12:51    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,
und sorry, das habe ich nicht gesehen, das du die Idee selbst schon hattest. Einen Code habe ich jetzt direkt nicht parat, aber das ist ja schon eher trivial, zudem alles was du (hierfür) benötigst vom Rekorder aufgezeichnet wird, wenn du's händisch ausführst....
Gruß

------------------
tomtom1972

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 16. Nov. 2017 13:03    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

Also in etwa so:
....
sRootWinFN= Catia.ActiveWindow.Parent.FullName
Set oNewProd = CATIA.Documents.Add("Product")
Set oProds = oNewProd.Product.Products
Dim aPath(0)
aPath(0) = sRootWinFN
oProds.AddComponentsFromFiles aPath, "All"
Set oSel = Catia.ActiveDocument.Selection
oSel.Search("WasAuchImmer")
....
Gruß
End Sub

------------------
tomtom1972

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