Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  schwarzem Text in Annotated view

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  schwarzem Text in Annotated view (1917 mal gelesen)
iscariot
Mitglied
Engineer


Sehen Sie sich das Profil von iscariot an!   Senden Sie eine Private Message an iscariot  Schreiben Sie einen Gästebucheintrag für iscariot

Beiträge: 10
Registriert: 28.03.2012

Intel Core 2 Quad CPU Q8300 / 2.5 GHz / 3GB
Win 7 Ultimate - 32bit
CATIA V5 R16

erstellt am: 11. Apr. 2012 21:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich möchte schwarzem Text in einer Annotated view machen, aber es kommt automatisch rot. Wie kann ich die Farbe ändern?

Ich fand dieses Makro in der Dokumentation:

' COPYRIGHT DASSAULT SYSTEMES 2001
Option Explicit

' ***********************************************************************
'  Purpose    : Create an approbation stamp.
'  Assumptions : A CATProduct document should be active.
'  Author      :
'  Languages  : VBScript
'  Locales    : English
'  CATIA Level : V5R6
' ***********************************************************************

Sub CATMain()

    Const CHAR_HEIGHT = 0.05
    Const CHAR_WIDTH  = 0.03
    Const ANCHOR_HEIGHT = -0.9
    Const ANCHOR_WIDTH  = 0.0
    Const EPSILON  = 0.5

    'Acquire the name of the Responsible
    Dim sRespName As String
    sRespName = "John SMITH" 'Default value
    sRespName = InputBox("What is your name ?", "Responsible name", sRespName)
    If sRespName <> "" Then

        ' Retrieve the AnnotatedViews collection
        Dim cAnnotatedViews As AnyObject
        Set cAnnotatedViews = CATIA.ActiveDocument.Product.GetTechnologicalObject("AnnotatedViews")

        ' Create the AnnotatedView
        Dim oAnnotatedView As AnyObject
        Set oAnnotatedView = cAnnotatedViews.Add

        ' Retrieve the Marker2Ds collection
        Dim cMarker2Ds As Marker2Ds
        Set cMarker2Ds = oAnnotatedView.Marker2Ds
 
        ' Create the text
        Dim dPosition2(1)
        dPosition2(0) = ANCHOR_WIDTH
        dPosition2(1) = ANCHOR_HEIGHT
        Dim oMarker2DText As Marker2D
        Dim sText As String
        sText = "ACME, Approved by " & sRespName & ", " & Cstr(Now)
        Set oMarker2DText = cMarker2Ds.Add2DText (dPosition2, sText)

        ' Create the frame
        Dim dPosition4(3)
        dPosition4(0) = ANCHOR_WIDTH  - CHAR_WIDTH*EPSILON
        dPosition4(1) = ANCHOR_HEIGHT + CHAR_HEIGHT*EPSILON
        dPosition4(2) = ANCHOR_WIDTH  + CHAR_WIDTH*(Len(sText) +EPSILON)
        dPosition4(3) = ANCHOR_HEIGHT - CHAR_HEIGHT*(1 + EPSILON)
        Dim oMarker2DRectangle As Marker2D
        Set oMarker2DRectangle = cMarker2Ds.Add2DRectangle(dPosition4, 0)

        ' Update the view
        oAnnotatedView.Update
        ' Apply the view
        CATIA.ActiveDocument.GetWorkbench("NavigatorWorkbench").View oAnnotatedView
    End If
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 11. Apr. 2012 23:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für iscariot 10 Unities + Antwort hilfreich

Servus
Schon mal probiert den Text zu selektieren und über die Selektion einfärben (siehe auch hier)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

iscariot
Mitglied
Engineer


Sehen Sie sich das Profil von iscariot an!   Senden Sie eine Private Message an iscariot  Schreiben Sie einen Gästebucheintrag für iscariot

Beiträge: 10
Registriert: 28.03.2012

Intel Core 2 Quad CPU Q8300 / 2.5 GHz / 3GB
Win 7 Ultimate - 32bit
CATIA V5 R16

erstellt am: 12. Apr. 2012 20:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe bereits versucht mit der Selektion:

  Dim sel As Selection
  Set sel = CATIA.ActiveDocument.Selection
  Call sel.VisProperties.SetRealColor(0, 0, 0, 0)

Aber ich möchte automatisch auf schwarzem Text zu erstellen.
Ich lese die andere Seite von Ihnen, aber ich verstehe nicht, wie ich kann, dass auf meine Bedürfnisse anzupassen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Apr. 2012 21:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für iscariot 10 Unities + Antwort hilfreich

Servus
Vermutlich musst den deinen Text selektieren, und dann einfärben. Etwa so (ungetestet):
Code:
...
Dim sel As Selection
Set sel = CATIA.ActiveDocument.Selection
sel.clear          'alles deselektieren
sel.add oMarker2DText 'dein erstellten Text selektieren
Call sel.VisProperties.SetRealColor(0, 0, 0, 0)  'einfärben
sel.clear          'alles deselektieren
...

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

iscariot
Mitglied
Engineer


Sehen Sie sich das Profil von iscariot an!   Senden Sie eine Private Message an iscariot  Schreiben Sie einen Gästebucheintrag für iscariot

Beiträge: 10
Registriert: 28.03.2012

Intel Core 2 Quad CPU Q8300 / 2.5 GHz / 3GB
Win 7 Ultimate - 32bit
CATIA V5 R16

erstellt am: 12. Apr. 2012 21:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Add funktioniert nicht:
...
sel.add oMarker2DText 'dein erstellten Text selektieren
...


Vielen Dank für Ihre Antwort.
Gruß
Marius

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

iscariot
Mitglied
Engineer


Sehen Sie sich das Profil von iscariot an!   Senden Sie eine Private Message an iscariot  Schreiben Sie einen Gästebucheintrag für iscariot

Beiträge: 10
Registriert: 28.03.2012

Intel Core 2 Quad CPU Q8300 / 2.5 GHz / 3GB
Win 7 Ultimate - 32bit
CATIA V5 R16

erstellt am: 15. Apr. 2012 11:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das ist unglaublich, wir haben keine Methode, um die Farbe auf Schwarz automatisch zu ändern.
Ich denke, dass ich überall gesucht habe.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 16. Apr. 2012 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für iscariot 10 Unities + Antwort hilfreich

Hm?
Was erzählst Du da?
Bernd hat Dir doch schon die richtige Methode dafür gegeben, hier meine Funktion:

Code:

Private Sub setColorToWithe(ByRef i_selWork As INFITF.Selection, ByRef i_anyObjToInk)

    i_selWork.Clear
    i_selWork.Add i_anyObjToInk
    Call i_selWork.VisProperties.SetVisibleColor(255, 255, 255, 1)

End Sub


In dem Fall ist mein Objekt vom Typ AnnotationTypeLib.Annotation

Vielleicht ist in Deinen Settings irgendwas gesperrt.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

iscariot
Mitglied
Engineer


Sehen Sie sich das Profil von iscariot an!   Senden Sie eine Private Message an iscariot  Schreiben Sie einen Gästebucheintrag für iscariot

Beiträge: 10
Registriert: 28.03.2012

Intel Core 2 Quad CPU Q8300 / 2.5 GHz / 3GB
Win 7 Ultimate - 32bit
CATIA V5 R16

erstellt am: 17. Apr. 2012 19:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe den Code von Bernd getestet und es funktioniert nicht.
Das Makro hält an dieser Linie:

"sel.add oMarker2DText 'dein erstellten Text selektieren"


Sub CATMain()

    Const CHAR_HEIGHT = 0.05
    Const CHAR_WIDTH  = 0.03
    Const ANCHOR_HEIGHT = -0.9
    Const ANCHOR_WIDTH  = 0.0
    Const EPSILON  = 0.5

    'Acquire the name of the Responsible
    Dim sRespName As String
    sRespName = "John SMITH" 'Default value
    sRespName = InputBox("What is your name ?", "Responsible name", sRespName)
    If sRespName <> "" Then

        ' Retrieve the AnnotatedViews collection
        Dim cAnnotatedViews As AnyObject
        Set cAnnotatedViews = CATIA.ActiveDocument.Product.GetTechnologicalObject("AnnotatedViews")

        ' Create the AnnotatedView
        Dim oAnnotatedView As AnyObject
        Set oAnnotatedView = cAnnotatedViews.Add

        ' Retrieve the Marker2Ds collection
        Dim cMarker2Ds As Marker2Ds
        Set cMarker2Ds = oAnnotatedView.Marker2Ds
 
        ' Create the text
        Dim dPosition2(1)
        dPosition2(0) = ANCHOR_WIDTH
        dPosition2(1) = ANCHOR_HEIGHT
        Dim oMarker2DText As Marker2D
        Dim sText As String
        sText = "ACME, Approved by " & sRespName & ", " & Cstr(Now)
        Set oMarker2DText = cMarker2Ds.Add2DText (dPosition2, sText)



' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Dim sel As Selection
Set sel = CATIA.ActiveDocument.Selection
sel.clear          'alles deselektieren
sel.add oMarker2DText 'dein erstellten Text selektieren          ! funktioniert nicht !     
Call sel.VisProperties.SetRealColor(0, 0, 0, 0)  'einfärben
sel.clear          'alles deselektieren

' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


        ' Update the view
        oAnnotatedView.Update
        ' Apply the view
        CATIA.ActiveDocument.GetWorkbench("NavigatorWorkbench").View oAnnotatedView
    End If
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 18. Apr. 2012 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für iscariot 10 Unities + Antwort hilfreich

Hm... gut okay, hatte es mit Annotations verwechselt.

Dann kann ich nur noch empfehlen, das manuell mal zu testen, was für ein Objekt Du da selektiert hast, bevor Du einfärbst.

Also manuell mal selektieren und schauen was in der Selection ist, oder Dir über die Suchfunktion dne Typ des Objektes zurückgeben lassen, sofern sich das Objekt selektieren lässt.

Edit: Habe es mir noch einmal etwas näher angeschaut.
Ich vermute, man muss es erst sichtbar machen


Dim sel As Object
Set sel = CATIA.ActiveDocument.Selection
oAnnotatedView.Update
Dim navigatorWorkbench1 As NavigatorWorkbench
Set navigatorWorkbench1 = CATIA.ActiveDocument.GetWorkbench("NavigatorWorkbench")
navigatorWorkbench1.View oAnnotatedView
sel.Clear          'alles deselektieren
Call sel.Add(oMarker2DText) 'dein erstellten Text selektieren          ! funktioniert nicht !
Call sel.VisProperties.SetRealColor(0, 0, 0, 0)  'einfärben
sel.Clear          'alles deselektieren

aber auch das hat noch nicht zum Erfolg geführt... :-(
Manuell geht es aber über die Selection, jedoch ist das Marker2D-Objekt selbst nicht weiter greifbar und man kann auch die Suchfunktion nicht danach bemühen, das finde ich komisch. Wenn ich es manuell selektiere, dann ist jedoch exakt das richtige Marker2D-Objekt in der Selection und das macht keinen Sinn, also entweder ganz oder gar nicht. :-)

Eventuell hat hier Dassault vergessen das Objekt an der richtigen Stelle zu registrieren... sieht sowieso alles so aus, als hätte es der Praktikant programmiert. :-)

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

[Diese Nachricht wurde von HoBLila am 18. Apr. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz