|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | 
|  |  | 
|  | KISTERS 3DViewStation: Germar Nikol - Der Visionär hinter der Erfolgsgeschichte, eine Pressemitteilung 
 | 
| Autor | Thema:  VB-Reaction Sketch (835 /  mal gelesen) | 
 | InFlames Mitglied
 techn. Productdesigner
 
  
 
      Beiträge: 72Registriert: 22.09.2014
 Windows 7 ProfessionalCatia 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 zwischenPlatte 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: 12117Registriert: 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: 72Registriert: 22.09.2014
 Windows 7 ProfessionalCatia V5R26
 |    erstellt am: 23. Dez. 2016 10:33  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | bgrittmann Moderator
 Konstrukteur
 
         
 
      Beiträge: 12117Registriert: 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: 72Registriert: 22.09.2014
 Windows 7 ProfessionalCatia V5R26
 |    erstellt am: 23. Dez. 2016 10:53  <-- editieren / zitieren -->    Unities abgeben:            |