Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro für 3D-Annotations

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:  Makro für 3D-Annotations (2910 mal gelesen)
Elijamah
Mitglied


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

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 13. Nov. 2012 13:13    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

Hallo zusammen,

habe schon das Forum durchsucht, aber leider nichts entsprechendes gefunden:

Zum Problem: Erstellt man im DMU-Navigator 3D-Annotations, dann kann man erst nachträglich über Rechte Maustaste auf das 3D-Annotation im Menü Properties --> Textproperties --> die Darstellung formatieren. Eine grundsätzliche Einstellung der Darstellung ist meines Wissens im DMU oder Catia nicht möglich. Außerdem kann ich nicht alle 3D-Annotations gleichzeitig formatieren, d.h. ich muss immer alle einzeln durchklicken.

Die Idee war jetzt hierzu ein Makro zu programmieren, welches im aktuell geöffneten CatProduct alle 3D-Annotations nacheinander immer gleich formatiert:
d.h.: Schwarzer Text, mit schwarzem Rahmen und gelber Hintergrundfarbe.

Ich habe das ganze jetzt einmal mit Makroaufzeichen probiert:

Code:
Language="VBSCRIPT"

Sub CATMain()

Set productDocument1 = DMU.ActiveDocument

Set reference1 = productDocument1.GetItem("PROJEKT")

Set marker3Ds1 = reference1.GetTechnologicalObject("Marker3Ds")

Set marker3D1 = marker3Ds1.Item("Text.1")

marker3D1.Frame = 1

marker3D1.Fill = 1

marker3D1.TextOrientation = CatMarkerTextOrientationRight

End Sub


Jetzt zu meinem Problem:

1. Ich möchte das das Makro unabhängig vom Namen des CatProducts funktioniert. Aktuell bezieht sich das Makro ja nur auf das CatProduct mit dem Namen "Project".
2. Wie baue ich hier noch eine Schleife ein, dass er nicht nur das 3D-Annotation mit dem Namen "Text.1" formatiert, sondern alle vorhandenen 3D-Annotations.

Ich habe schon selbst ein bisschen rumprobiert, aber leider hat das nicht geklappt 

Hoffe es kann wer helfen!

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

DasDon
Mitglied
Konstruktuer


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

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 13. Nov. 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 Elijamah 10 Unities + Antwort hilfreich

bitte schön...

als .CATScript speichern oder As xyz löschen.

Gruß,DasDon


Code:
Sub CATMain()
DIM oProd As Product
Set oProd = CATIA.ActiveDocument.Product

Dim Markers As Marker3Ds
Set Markers = oProd.GetTechnologicalObject("Marker3Ds")

For each oMarker In Markers
oMarker.Frame = 1
oMarker.Fill = 1
oMarker.TextOrientation = CatMarkerTextOrientationRight
oMarker.Update
Next
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: 13. Nov. 2012 21: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 Nur für Elijamah 10 Unities + Antwort hilfreich

Servus
Hier findest noch Beträge zum Einfärben des Textes von Annotations.

Gruß
Bernd

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

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

Elijamah
Mitglied


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

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 14. Nov. 2012 08:26    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

Hallo zusammen,

Danke! Habe das jetzt mittlerweile noch ein bisschen umgebaut.
Funktioniert alles, außer das mti der Füllfarbe in den 3D-Annotations. Die Annotations werden zwar gefüllt, aber nicht gezielt in Gelb.

Der Link hat mir nicht wirklich weitergeholfen. Hat da noch wer eine Idee?

Hier mein aktueller Code:

Code:
Sub CATMain()
'**********************************Abfrage Betriebsystem**********************************

    os = UCase(Left(CATIA.SystemConfiguration.OperatingSystem, 3))
        If (os = "WIN") Or (os = "INT") Then
            operatingOS = True
        Else
            operatingOS = False
        End If
'**********************************Definition Trennzeichen (Windows / UNIX)**********************************
    If operatingOS = True Then
        delimiter = "\"
    Else
        delimiter = "/"
    End If
   
'**********************************3D-Annotations zugänglich machen**********************************
'Dim Name As String 'Auskommentiert wg. CATVBA

Set oProduct = CATIA.ActiveDocument
Set navWB = oProduct.GetWorkbench("NavigatorWorkbench")
Set RefObject = oProduct.Product
Set oViewCols = RefObject.GetTechnologicalObject("Marker3Ds")

'**********************************Formartierungschleife Schleife **********************************
For i = 1 To oViewCols.Count
    Set marker3D = oViewCols.Item(i)
    Abfrage = MsgBox(marker3D.Text)
    marker3D.Frame = 1
    marker3D.Fill = 1
    marker3D.TextOrientation = CatMarkerTextOrientationRight
    marker3D.Update
Next

End Sub


marker3D.Fill = 1
sagt ja nur, dass gefüllt werden soll, aber nicht in welcher Farbe. Leider wird die Farbumstellung vom Makrorekorder nicht aufgezeichent.

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

DasDon
Mitglied
Konstruktuer


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

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 14. Nov. 2012 09:14    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 Elijamah 10 Unities + Antwort hilfreich

moin.
warum brauchst du *Abfrage Betriebsystem* & Definition Trennzeichen (Windows / UNIX) für dieses Makro? nichts davon wird verwendet.

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

Elijamah
Mitglied


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

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 14. Nov. 2012 09:24    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 mir das gestern selbst noch zusammengeschrieben aus einem andern Makro. da war das so drin. 
Aber Danke für die Info...dann schmeiß ich das einfach raus.

Irgendwer eine Idee wie man das mit der Füllfarbe lösen könnte?

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

DasDon
Mitglied
Konstruktuer


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

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 14. Nov. 2012 09:26    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 Elijamah 10 Unities + Antwort hilfreich

bin dran
-------------------------------------------
schade! habe gerade da wo ich arbeite nicht die Workbench lizenzen.
Muss bis heute abend daheim warten. Aber ich glaube so, oder so ähnlich müsste es funktionieren. Wie gesagt, ich kann es nicht ausprobieren.


Sub CATMain()
DIM oProd 'As Product
Set oProd = CATIA.ActiveDocument.Product

Dim Markers 'As Marker3Ds
Set Markers = oProd.GetTechnologicalObject("Marker3Ds")

For each oMarker In Markers
oMarker.Frame = 1
oMarker.Fill = 1
oMarker.TextOrientation = CatMarkerTextOrientationRight
CATIA.ActiveDocument.Selection.Add(oMarker)
oMarker.Update
oMarker.Update
Next
CATIA.ActiveDocument.Selection.VisProperties.SetRealColor 0,255,255,1
CATIA.ActiveDocument.Selection.Clear

End Sub

[Diese Nachricht wurde von DasDon am 14. Nov. 2012 editiert.]

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

Elijamah
Mitglied


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

Beiträge: 6
Registriert: 13.11.2012

erstellt am: 14. Nov. 2012 13:15    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

Also ich habe es eben einmal ausprobiert.

Das Makro läuft auf jeden Fall durch..[dauert aber schon ein bisschen (bei 10 annotations knapp 4min)]
Aber leider ändert er nur die Schriftfarbe und nicht die Hintergrund/bzw. Füllfarbe der Annotations.

Aber schon einmal vielen Danke für die Mühe!

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