Autor
|
Thema: Makro veröffentlichte Elemente ausblenden (1213 mal gelesen)
|
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V4 Catia V5 R19 UG NX3; NX5; NX7.5 Fides 4.2
|
erstellt am: 09. Sep. 2008 11:20 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, nochmal eine kleine Frage. Ich habe ein Makro mit dem ich Konstruktionselemente ausblenden kann. Dieses Makro möchte ich gerne umschreiben, so dass nur veröffentlichte Konstruktionselmente verdeckt werden. Ist das möglich? Hier mein Skribttext: Sub CATMain() Language="VBSCRIPT" 'CATIA.Caption = theCATTitle On Error Resume Next 'Fehlermeldung aussgeschaltet' Dim productDocument1 As Document Set productDocument1 = CATIA.ActiveDocument 'CATIA.Caption = "Hide *pt - *ln - *crv - *pln and constraints " Dim selection1 As Selection Set selection1 = productDocument1.Selection selection1.Search("CATPrtSearch.Plane+CATPrtSearch.Point+CATPrtSearch.Line+CATPrtSearch.Curve+CATAsmSearch.MfConstraint,all") Set visPropertySet1 = selection1.VisProperties visPropertySet1.SetShow 1 selection1.Clear 'CATIA.Caption = theCATTitle End Sub Was muß ich hierbei noch eingeben, wenn es denn geht? Schon mal danke! Bis denne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Nix 12)
|
erstellt am: 09. Sep. 2008 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
da Code: selection1.Search("CATPrtSearch.Plane+CATPrtSearch.Point+CATPrtSearch.Line+CATPrtSearch.Curve+CATAsmSearch.MfConstraint,all")
der Funktion STRG&F & einigen Parametern entspricht und ich dort IMHO keine Möglichkeit habe eine Publication suchend auszuwählen - wird das so auf diesem Wege nicht gehen - eventuell in den Tiefen des V5 Codes .Als Workaround vor Aufruf des Makros, STRG&F den Schalter Publication drücken und dann das makro - dann werden nur die Elemente mit Publicationen erkannt ;-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 10. Sep. 2008 00:17 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Hallo deyhawaii, nach der Lektüre der V5R..Automation.chm und einigen Tests bin ich zum Schluss gekommen, dass Du das Problem verkehrt herum angehst. Die Publikation als solche ist eine Eigenschaft der Instanz!!! D.h., Du musst zuerst die Publikationen in den Instanzen (".Products") suchen, dann daraus die Elemente filtern und aus der gefilterten Menge die für Dich interessanten Elemente herauspicken (suchen). Ich habe das mal in ein Script (CATScript!!!) gepackt und angehängt. Hier der Code zum mitlesen: Code: Sub CATMain() Dim prodDoc As ProductDocument Set prodDoc = CATIA.ActiveDocument Dim iSel As selection Set iSel = prodDoc.selection iSel.Search "CATAsmSearch.Product,all" Dim selCount As Long selCount = iSel.Count Dim Sel() ReDim Sel(selCount) Dim I As Integer I = 1 For I = 1 To selCount Set Sel(I) = iSel.Item(I).Value Next iSel.Clear Dim K As Integer I = 1 For I = 1 To selCount K = 1 For K = 1 To Sel(I).Publications.Count iSel.Add Sel(I).Publications.Item(K).Valuation Next Next iSel.Search ("CATPrtSearch.Plane+CATPrtSearch.Point+CATPrtSearch.Line+CATPrtSearch.Curve,sel") iSel.VisProperties.SetShow catVisPropertyNoShowAttr End Sub
Hier werden Deine "Constraints'" allerdings nicht berücksichtigt... mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!
frei nach größeren Geistern [Diese Nachricht wurde von Lusilnie am 10. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V4 Catia V5 R19 UG NX3; NX5; NX7.5 Fides 4.2
|
erstellt am: 10. Sep. 2008 08:04 <-- editieren / zitieren --> Unities abgeben:
Hey Lusilnie, genau so hab ich mir das vorgestellt! Klasse, funzt! Und das um so eine Uhrzeit, Respekt! 10 Points! Schönen Tag noch! Und auch noch Danke an Thomas für die Bemühungen! Bis demnächst mal wieder! mfG deyhawaii Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V4 Catia V5 R19 UG NX3; NX5; NX7.5 Fides 4.2
|
erstellt am: 12. Sep. 2008 13:34 <-- editieren / zitieren --> Unities abgeben:
Nochmal ich mit meinem Makro. Eigentlich funktioniert es echt gut, nur nicht immer. Aber warum nicht? Bei einigen BG macht das Makro was es soll, bei einigen nicht. Da kommt diese Fehlermeldung. Weiß jemand woran das liegen kann? Lusilnie? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 13. Sep. 2008 23:28 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Hallo deyhawaii, das Problem sind wahrscheinlich zerschossene Publikationen. Da hilft nur, folgende Zeilen einzufügen, um diese Publikationen außen vor zu lassen:
Code: For K = 1 To Sel(I).Publications.Count On Error Resume Next iSel.Add Sel(I).Publications.Item(K).Valuation On Error Goto 0 Next
mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V4 Catia V5 R19 UG NX3; NX5; NX7.5 Fides 4.2
|
erstellt am: 18. Sep. 2008 09:11 <-- editieren / zitieren --> Unities abgeben:
|