Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Textfeld in 2D-Komponente ändern

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:  Textfeld in 2D-Komponente ändern (1407 mal gelesen)
hauharms89
Mitglied
Student

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

Beiträge: 6
Registriert: 15.12.2018

CATIA V5-6R2016 SP3

erstellt am: 10. Mai. 2019 09: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


Schriftfeld.PNG

 
Hallo,
Ich komme im Drafting mit der Zuordnung nicht weiter.
In der Zeichnungsvorlage gibt es ein Detail Sheet, in dem das Schriftfeld als 2D-Komponente (laut Symbol im Baum) angelegt ist. In diesem Schriftfeld ist ein Textfeld für die Bezeichnung. Ich habe bereits ein Makro aufgezeichnet wenn ich das Feld ändere.

Nun zu meinem Problem:

1. Bisher dachte ich, die 2D Komponente wird über Drawing Components angesprochen. Im Makro steht es aber als View, was allein vom Baum her auch Sinn macht.

2. Das aufgezeichnete Makro endet mit

Code:

......

Dim drawingViews1 as DrawingViews
Set drawingViews1 = drawingSheets1.Views

Dim drawingView1 as DrawingView
Set drawingView1 = drawingViews1.Item("title block complete[2]")

drawingView1.Activate

End Sub


Wie kann ich nun auf eben dieses Texfeld zugreifen und ist es evtl möglich nur einen bestimmten Teil des vorhandenen Textes zu ändern? Die Änderung soll aus einer TextBox in einer Userform kommen.

Vielen Dank im Voraus
Hauke Harms

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 10. Mai. 2019 10: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 hauharms89 10 Unities + Antwort hilfreich

Hallo,

ungetestet ...

Code:

Option Explicit
Sub CATMain()


Dim oDrwDoc As DrawingDocument
Dim oDrwSheet As DrawingSheet
Dim oDrwView As DrawingView
Dim oDrwText As DrawingText

On Error Resume Next
    Set oDrwDoc = CATIA.ActiveDocument
    If Err.Number <> 0 Then
        MsgBox "Macro supports CATDrawings only", vbInformation, "Program abort"
        Exit Sub
    End If

    Set oDrwSheet = oDrwDoc.Sheets.Item(2) ' dein Detailblatt
    If Err.Number <> 0 Then MsgBox "Sheet not found", vbInformation, "Program abort": Exit Sub
    Set oDrwView = oDrwSheet.Views.GetItem("ViewName") ' das ist die View die dein Schriftfeld enthält
    If Err.Number <> 0 Then MsgBox "View not found", vbInformation, "Program abort": Exit Sub
    Set oDrwText = oDrwView.Texts.GetItem("TextFeldName") ' dein Textfeld
    If Err.Number <> 0 Then MsgBox "Text not found", vbInformation, "Program abort": Exit Sub
    MsgBox oDrwText.Name & ":" & oDrwText.Text, vbInformation, "Textfieldinfo"
On Error GoTo 0
End Sub


Du musst hier nur noch deine Werte bei Item/GetItem eintragen.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

hauharms89
Mitglied
Student

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

Beiträge: 6
Registriert: 15.12.2018

CATIA V5-6R2016 SP3

erstellt am: 10. Mai. 2019 12:36    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

Vielen Dank für die schnelle Antwort.

Ich habe deinen Code mal als Makro in mein Drawing geladen und er bricht mit der MsgBox "Text not found" ab. Den Namen des Textfeldes habe ich in der Zeichnung über RMT/Properties/Feature Properties rausgekriegt.

Gruß
Hauke

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 10. Mai. 2019 15:49    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 hauharms89 10 Unities + Antwort hilfreich

... evtl. Texts.GetItem in Texts.Item ändern ... ansonsten müsste ich mal die/eine Beispielzeichnungen haben.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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: 10. Mai. 2019 18:36    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 hauharms89 10 Unities + Antwort hilfreich

Servus

Ändere mal Views.GetItem in Views.Item.
Bei Text müsste GetItem funktionieren

Gruß
Bernd

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

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