Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Annotation - Fill Frame über Makro steuern

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

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
Autor Thema:  Annotation - Fill Frame über Makro steuern (82 / mal gelesen)
Markus-K
Mitglied



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

Beiträge: 18
Registriert: 30.08.2022

CATIA V5-6 R2024 Sp3

erstellt am: 21. Aug. 2025 10: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


BildText1.png


BildText2.png

 
Hallo,

über ein VBA-Makro lese ich Punktkoordinaten aus einer Datei, erzeuge in einem CatPart Punkte an den Koordinaten und erstelle für jeden Punkt eine einfache (2d) Annotation mit der Punktnummer.
Für die Annotation stelle ich dann noch Schriftgröße, die Ankerpunkte, Parallel zum Bildschirm sowie den Rahmentyp ein.
Nur leider schaffe ich es nicht die Einstellung „Fill Frame“ zu ändern, also einzuschalten.

Bisher habe ich keine Eigenschaft gesehen wie man das einstellen kann,  und auch im Forum hier kein Hinweis gefunden. (Makro-Recorder zeichnet natürlich auch nichts auf)

Ich befürchte ja es geht nicht über VBA-Makro, aber vielleicht hat ja noch jemand eine Idee.
P.S. FTA-Lizenz wäre vorhanden falls es benötigt wird. (wird im Makro auch abgefragt, da „Parallel zum Bildschirm“ nur mit FTA geht)

Hier der bisherige Code:

Code:

Private Sub cmdPunkteSetzen_Click()

Dim hPoint As HybridShapePointCoord
Dim axisSystem1 As AxisSystem
Dim refAxis As Reference
Dim refPoint As Reference
Dim anno As Annotation
Dim v As Viewpoint3D
Dim annotationSet1 As AnnotationSet
Dim hybridShapePointCoord1 As HybridShapePointCoord
Dim userSurface1 As UserSurface
Dim dx As Double, dy As Double, dz As Double
Dim pd As PartDocument

Dim I As Integer
Dim Sel As Selection

dx = tbX.Value
dy = tbY.Value
dz = tbZ.Value


If oPart.AnnotationSets.Count = 0 Then
    Set annotationSet1 = oPart.AnnotationSets.Add("MeinAnnotationSet")
Else
    Set annotationSet1 = oPart.AnnotationSets.Item(1)
End If

If oPart.HybridBodies.Count = 0 Then
    oPart.HybridBodies.Add
End If

For I = 0 To AnzPunkte - 1
    If Me.cbIgnorZU.Value = True And Punkte(I).NahtEnde <> "" Then
    Else

    Set hPoint = oPart.HybridShapeFactory.AddNewPointCoord(Punkte(I).X + dx, Punkte(I).Y + dy, Punkte(I).z + dz)
    hPoint.Name = preMK & "Punkt;" & Punkte(I).KlebeName & ";" & Punkte(I).RobName & ";" & Punkte(I).ProgNummer & ";" & Punkte(I).NahtName & ";" & Punkte(I).NahtNummer & ";" & Punkte(I).X & ";" & Punkte(I).Y & ";" & Punkte(I).z & ";" & dx & ";" & dy & ";" & dz & ";" & Punkte(I).PunktArt
    oPart.HybridBodies.Item(1).AppendHybridShape hPoint
    oPart.Update

    Set refPoint = oPart.CreateReferenceFromObject(hPoint)
    Set userSurface1 = oPart.UserSurfaces.Generate(refPoint)

    Set anno = annotationSet1.AnnotationFactory.CreateEvoluateText(userSurface1, Punkte(I).X + dx, Punkte(I).Y + dy, Punkte(I).z + dz, False)
    anno.Text.Text = Format(Punkte(I).KlebeName, "00")
    anno.Text.Get2dAnnot.SetFontSize 1, Len(anno.Text.Text), 2.5
    anno.Text.Get2dAnnot.ActivateFrame (catCircle)
    anno.Text.Get2dAnnot.AnchorPosition = catMiddleCenter
    anno.Text.Get2dAnnot.TextProperties.Justification = catCenter
           
    If CATIA.SystemConfiguration.IsProductAuthorized("FTA.prd") = True Then
        anno.Text.TPSParallelOnScreen.ParallelOnScreen = True
        anno.Name = preMK & "Text;" & Punkte(I).KlebeName
    End If

End If
Next I


oPart.Update

CATIA.ActiveWindow.ActiveViewer.Reframe

End Sub



Gruß Markus


[Diese Nachricht wurde von Markus-K am 21. Aug. 2025 editiert.]

[Diese Nachricht wurde von Markus-K am 21. Aug. 2025 editiert.]

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: 12102
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 21. Aug. 2025 10:54    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 Markus-K 10 Unities + Antwort hilfreich

Servus Makrus

Du könntest mal in der Doku bei DrawingText schauen ob es da eine Methode/Eigenschaft gibt.
AFAIK war in älteren Releases das Füllen auch manuell noch nicht möglich, ggf ist dies dann auch in die API aufgenommen worden.

Gruß
Bernd

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

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

Markus-K
Mitglied



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

Beiträge: 18
Registriert: 30.08.2022

CATIA V5-6 R2024 Sp3

erstellt am: 21. Aug. 2025 11:44    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 Bernd,

leider ist unter DrawingText oder DrawingTextProperties nichts in der Doku zu finden und wird auch nichts im Editor dazu angeboten.
Ich kann den Rahmentyp ja einstellen und andere Eigenschaften auch, aber halt nicht die Füllung dazu.

Befürchte ja das es nicht geht, aber vielleicht hat ja jemand doch eine Idee dazu.

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)2025 CAD.de | Impressum | Datenschutz