Autor
|
Thema: Drawing Textfeld FrameType ändern (2001 / mal gelesen)
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 31. Mrz. 2016 11:25 <-- editieren / zitieren --> Unities abgeben:
Servus, ich programmiere gerade ein VBA-Makro um Maße / Textfelder usw. nach bestimmten Richtlinien einzustellen. Nun möchte ich selektierte Textfelder rot einfärben und den Rahmen (Frame) Diamond aktivieren. Die Textfelder werden richtig vom VBA eingelesen und es werden auch alle Werte Einstellungen usw richtig erkannt. Allerdings stimmt irgendetwas nicht an der Zeile in der ich den CatTextFrameType ändern möchte. Weiß jemand wie das geht?! Set oDoc = CATIA.ActiveDocument
' On Error Resume Next ' CATIA.HSOSynchronized = False Set oSel = oDoc.Selection Dim sFilter(0) sFilter(0) = "AnyObject" sStatus = oSel.SelectElement2(sFilter, "", True) If sStatus = "Normal" Then For i = 1 To oSel.Count Set oText = oSel.Item(i).Value oText.CatTextFrameType = catDiamond Set VisPropertySet = oSel.VisProperties VisPropertySet.SetRealColor 255, 0, 0, 0 Next Else Exit Sub End If ' CATIA.HSOSynchronized = True ' On Error GoTo 0 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: 31. Mrz. 2016 11:30 <-- editieren / zitieren --> Unities abgeben:
Ach echt ey das war doch wieder klar. Stunden lang mach ich an dem ****** rum und Sekunden nach dem ich hier mal nachfrage komme ich spontan auf die Lösung Set oDoc = CATIA.ActiveDocument
On Error Resume Next CATIA.HSOSynchronized = False Set oSel = oDoc.Selection Dim sFilter(0) sFilter(0) = "AnyObject" sStatus = oSel.SelectElement2(sFilter, "", True) If sStatus = "Normal" Then For i = 1 To oSel.Count Set oText = oSel.Item(i).Value oText.FrameType = CatTextFrameType.catDiamond Set VisPropertySet = oSel.VisProperties VisPropertySet.SetRealColor 255, 0, 0, 0 Next Else Exit Sub End If CATIA.HSOSynchronized = True On Error GoTo 0 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
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: 31. Mrz. 2016 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Hi InFlames, anstatt
Code:
For i = 1 To oSel.Count Set oText = oSel.Item(i).Value oText.FrameType = CatTextFrameType.catDiamond Set VisPropertySet = oSel.VisProperties VisPropertySet.SetRealColor 255, 0, 0, 0 Next
probier bitte Code:
For i = 1 To oSel.Count Set oText = oSel.Item(i).Value oText.FrameType = CatTextFrameType.catDiamond Next Set VisPropertySet = oSel.VisProperties VisPropertySet.SetRealColor 255, 0, 0, 0
Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite 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: 31. Mrz. 2016 12:26 <-- editieren / zitieren --> Unities abgeben:
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 01. Apr. 2016 05:58 <-- editieren / zitieren --> Unities abgeben:
Zu früh gefreut. Unter R24 läufts genau so wie es soll. Unter R19 allerdings nicht. Das Textfeld wird rot eingefärbt, der Frame aber nicht erstellt?! Die Typen, Benennungen usw sind aber alle zu R24 identisch und das Script läuft ohne Fehler durch. Es wir aber eben nicht das Frame Diamond erstellt. Weiß jemand woran das liegen kann? Da kein Fehler kommt denke ich mal das R19 die Befehle versteht... Bug?! 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: 01. Apr. 2016 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|
joehz Moderator Freiberuflicher Konstrukteur
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: 01. Apr. 2016 10:09 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 02. Apr. 2016 11:23 <-- editieren / zitieren --> Unities abgeben:
Servus, vielen Dank. Die Makros mit den Maßen funktionieren wunderbar und habe ich auch im Einsatz. Bei Textfeldern bringen die aber nichts. Es ist tatsächlich so. Wenn vorher ein Frame definiert war funktioniert es. Dann kann man da wohl nichts machen... Trotzdem vielen Dank :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
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: 03. Apr. 2016 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|