Autor
|
Thema: VB-Reaction Sketch (760 / mal gelesen)
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 23. Dez. 2016 07:18 <-- editieren / zitieren --> Unities abgeben:
Hi ich habe ein kleines Problem und habe nichts passendes bisher gefunden. Wir haben ein StartPart bei dem über ein Parameter das Bauteil zwischen Platte und Welle umgeschaltet werden kann. Über eine VB-Reaction werden die Elemente in einem Sketch zwischen normales Element und Konstruktionselment umgeschalten. Das Problem ist nur, dass die Linien grafisch dann nicht entsprechend umgestellt werden. Daher sehen die normalen Linien immer noch wie Konstruktionselemente aus und anders herum natürlich auch. Daher möchte ich die Linien in ihrer Darstellung auch mit der VB-Reaction ändern. Bisher allerdings ohne Erfolg. Vielleicht kann mir ja jemand helfen Mit "VisProperties" will ich die Dicke und Art der Linien ändern. Als Fehler kommt allerdings, dass dies das Objekt nicht unterstützt...
Code:
Set oDoc = CATIA.ActiveDocument Set oPart = oDoc.Part Set oPara = oPart.Parameters Set oHybridBodies = oPart.HybridBodies Set oHybridBody = oHybridBodies.Item("Skizzen") Set oSketches = oHybridBody.HybridSketches Set oSketch = oSketches.Item("Rohteil") Set oGeoEle = oSketch.GeometricElements Set oEle_01 = oGeoEle.Item("PAD_Line_01") Set oEle_02 = oGeoEle.Item("PAD_Line_02") Set oEle_03 = oGeoEle.Item("PAD_Line_03") Set oEle_04 = oGeoEle.Item("PAD_Line_04") Set oEle_05 = oGeoEle.Item("SHAFT_Line_01") Set oStPara = oPara.Item("Bauteilart") If oStPara.Value = "Pad" Or oStPara.Value = "SheetMetal" Then oEle_01.Construction = False oEle_02.Construction = False oEle_03.Construction = False oEle_04.Construction = False oEle_05.Construction = True oEle_01.VisProperties.SetRealLineType 1, 0 oEle_02.VisProperties.SetRealLineType 1, 0 oEle_03.VisProperties.SetRealLineType 1, 0 oEle_04.VisProperties.SetRealLineType 1, 0 oEle_05.VisProperties.SetRealLineType 3, 0 oEle_01.VisProperties.SetRealWidth 2, 0 oEle_02.VisProperties.SetRealWidth 2, 0 oEle_03.VisProperties.SetRealWidth 2, 0 oEle_04.VisProperties.SetRealWidth 2, 0 oEle_05.VisProperties.SetRealWidth 1, 0 End If . . .
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. 2016 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Die VisProperties gibt es nur für selektierte Elemente, und dann auch nur für die gesamte Selektion gemeinsam. Also zB Linie 1 bis 4 selektieren, diese dann formatieren. Danach die Selektion leeren, Linie 5 selektieren und diese dann formatieren. 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. 2016 10:33 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Dez. 2016 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus ggf würde dein Code etwas schlanker, wenn du zunächst alle Linien in der Skizze suchst und diese als Konstruktionslinie formatierst und danach nur die entsprechenden Linien (zB Shaft) suchst und "normal" formatierst. Wäre dann auch universeller einsetzbar, wenn mal eine Linie dazukommt. 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. 2016 10:53 <-- editieren / zitieren --> Unities abgeben:
|