Autor
|
Thema: ParameterSets Löschen (2059 mal gelesen)
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 05. Dez. 2014 14:04 <-- editieren / zitieren --> Unities abgeben:
Hi miteinander, Problem ist folgendes;: wir haben für einen OEM ein Konstruktion erstellt. Dieser OEM verwendet viele Parameter z.B. für die Namenskonvention. Nun wollen wir dieses Konstruktion für einen anderen OEM nutzen und jetzt kommen ständig Fehlermeldungen was alles falsch ist. Deshalb sollen alle Parameter gelöscht werden um dann die Konstruktion auf den neuen OEM nur noch anpassen zu müssen. Die Parameter kann ich über das Script suchen und löschen: Set oSel = oDocument.Selection
oSel.Search "type=Parameter, all" oSel.Delete Problem ist nur das es ewig dauert (Bei 20 Parts reden wir von über 2.000 Parametern). Deshalb will ich alle Parametersets suchen und löschen. Aber wie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 05. Dez. 2014 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 05. Dez. 2014 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Mal probiert nach dem ParameterSet zu suchen (der Makrorekorder hilft da weiter): Code: oSel.Search "CATKnowledgeSearch.AdvisorParameterSet,all"
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 09. Dez. 2014 12:11 <-- editieren / zitieren --> Unities abgeben:
Hey cool vielen Dank :-) Ich habe über den Makrorekorder nichts brauchbares gefunden?! Jetzt habe ich allerdings noch ein Problem. Ich lösche alle Parameter und Relations so: Set oSel = oDocument.Selection CATIA.HSOSynchronized=False oSel.Search "CATKnowledgeSearch.AdvisorRelationSet,all" oSel.Delete oSel.Search "CATKnowledgeSearch.AdvisorParameterSet,all" oSel.Delete CATIA.HSOSynchronized=True End Sub Jetzt kommt aber für jedes Parameter- RelationSet eine Meldung das sich ausgeblendete Elemente darin befinden und ob ich diese wirklich löschen will. Bei Baugruppen mit mehreren hundert Parts / Products nervt das ziemlich. Kann man die automatisch alle mit ja beantworten lassen oder das ganze irgendwie anders umgehen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 11. Dez. 2014 07:40 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Hallo InFlames, wenn du die Relations vor dem löschen ins Show holst entfällt die Fehlermeldung, und somit auch dein Problem. Eine andere Lösung (aber nicht ganz so schön) ist, das der User einmalig mit ja beantwortet und dann die restlichen Meldungen mit gehaltener Enter-Taste bestätigt. ------------------ Gruß Uwe Auch Catia ist nur ein Mensch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 22. Dez. 2014 11:55 <-- editieren / zitieren --> Unities abgeben:
Hi also ich habe es jetzt so versucht, aber es passiert nichts?! Also die Elemente werden alle selektiert aber weder ins Hide noch ins Show gestellt. oSel.Search "CATKnowledgeSearch.AdvisorRelation,all" oSel.Hidden = False Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 22. Dez. 2014 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Vermutlich muss du die Elemente (die Objekte) mit einer Schleife abarbeiten und "unhiden". zB (ungetestet): Code: oSel.Search "CATKnowledgeSearch.AdvisorRelation,all" for i = 1 to osel.count Set oRelation = osel.item2(i).value oReleation.Hidden = False next
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 22. Dez. 2014 13:27 <-- editieren / zitieren --> Unities abgeben:
Hey super funktioniert xD Set oDocument = CATIA.ActiveDocument Set oSel = oDocument.Selection CATIA.HSOSynchronized=False 'Alle Formeln suchen und sichtbar schalten / Relationsets suchen und löschen oSel.Search "CATKnowledgeSearch.AdvisorRelation,all" for i = 1 to oSel.count Set oRelation = oSel.item(i).value oRelation.Hidden = False next On Error Resume Next oSel.Search "CATKnowledgeSearch.AdvisorRelationSet,all" oSel.Delete oSel.clear On Error GoTo 0 'Alle Parameter suchen und sichtbar schalten / Parametersets suchen und löschen oSel.Search "CATKnowledgeSearch.InternalParameter,all" for i = 1 to oSel.count Set oParameter = oSel.item(i).value oParameter.Hidden = False next On Error Resume Next oSel.Search "CATKnowledgeSearch.AdvisorParameterSet,all" oSel.Delete oSel.clear On Error GoTo 0 CATIA.HSOSynchronized=True oDocument.Update End Sub Ein Problem gibt es jedoch noch... ...warum funktioniert oDocument.Update nicht? Da kommt ständig die Fehlermeldung das der Befehl nicht unterstützt wird?!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 22. Dez. 2014 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Ein kleiner Blick in Doku hilft dabei. Bei einem CATPart heißt es: Code: oDocument.Part.Update
bei einem CATProduct Code: oDocument.Product.Update
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Dez. 2014 07:23 <-- editieren / zitieren --> Unities abgeben:
|
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 23. Dez. 2014 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Hallo InFlames, kannst du bestätigen, das über Code: oSel.Search "CATKnowledgeSearch.InternalParameter,all" for i = 1 to oSel.count Set oParameter = oSel.item(i).value oParameter.Hidden = False
DesignTables nicht in Show gebracht werden? Bei mir bleiben immer die DesignTabels im Now Show. Hast du eine Idee wie man die DesignTables auch ins Show bekommt? Gruß und ein frohes Fest. ------------------ Gruß Uwe Auch Catia ist nur ein Mensch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Dez. 2014 15:07 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Uwe Einfach den Suchstring anpassen, dass auch DesignTabels selektiert werden (der Makrorekorder hilft dabei). zB (ungetestet): Code: osel.Search "((CATKnowledgeSearch.DesignTableType + CATKnowledgeSearch.InternalParameter) + CATKnowledgeSearch.AdvisorFormula),all"
Dir auch frohe Weihnachten 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
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 23. Dez. 2014 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Hallo Bernd, irgend etwas hab ich wohl falsch gemacht. Fehler kommt in "Fett" geschriebener Zeile. Code: Sub CATMain() Set oDocument = CATIA.ActiveDocument Set oSel = oDocument.Selection CATIA.HSOSynchronized=False'Alle Formeln suchen und sichtbar schalten / Relationsets suchen und löschen oSel.Search "(CATKnowledgeSearch.DesignTableType + CATKnowledgeSearch.AdvisorRelationSet),all" for i = 1 to oSel.count Set oRelation = oSel.item(i).value oRelation.Hidden = False next On Error Resume Next oSel.Search "(CATKnowledgeSearch.DesignTableType + CATKnowledgeSearch.AdvisorRelationSet),all" oSel.Delete oSel.clear On Error GoTo 0 CATIA.HSOSynchronized=True
'oDocument.Update End Sub
------------------ Gruß Uwe Auch Catia ist nur ein Mensch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Dez. 2014 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Bei der ersten Suche suchst du schon nach dem Set (AdvisorRelationSet). Dieses hat die Methode "hidden" nicht. Muss da "AdvisorFormula" rein? 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
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 23. Dez. 2014 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|