Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Catia V5 String in Drawing finden per macro

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:  Catia V5 String in Drawing finden per macro (1416 mal gelesen)
Donnibob
Mitglied


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

Beiträge: 3
Registriert: 26.10.2017

erstellt am: 27. Okt. 2017 07:35    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,
Ist es möglich via VB script in einem catdrawing einen String zu finden, der sich im Sheet Background befindet?
Hintergrund ist, dass ich in einer Reihe von Zeichnungen eine bestimmte Aktion ausführen will (die per Makro schon funktioniert), wenn im Sheet Background ein bestimmtes Material hinterlegt ist, welches in einem Textfeld steht. Viele Grüsse,
Dominik

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: 27. Okt. 2017 09: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 Donnibob 10 Unities + Antwort hilfreich

Servus

Da gibt es verschiedene Herangehensweisen.
Falls nicht bekannt ist in welchem DrawingText (Textfeld) sich der gesuchte String befindet geht das über die Suche:
- Hintergrund selektieren
- darin nach dem Text suchen

Code:
Sub CATMain()

dim oSel as Selection
dim oBackgroundView as DrawingView
dim oDrawingDocument as DrawingDocument
dim strSearchedString as String


Set oDrawingDocument = Catia.ActiveDocument
Set oSel = oDrawingDocument.Selection
Set oBackgroundView = oDrawingDocument.Sheets.item(1).Views.item(2) 'Background auf dem 1. Blatt

strSearchedString = "Mein gesuchter String"

oSel.Clear
oSel.Add oBackgroundView

oSel.Search "CATDrwSearch.DrwText.TextString=" & strSearchedString & ",sel"

if oSel.count2 <> 0 then
    MsgBox "Der Text " & strSearchedString & " wurde " & CStr(oSel.count2) & " mal gefunden."
end if

End Sub


Falls der Name des DrawingText-Objekts (Textfeld) bekannt ist, kann man nach diesem Suchen. Oder per Schleife die Texte in der entsprechenden Ansicht abarbeiten und prüfen.
Beispiel:
Code:
Sub CATMain()

dim oBackgroundView as DrawingView
dim oDrawingDocument as DrawingDocument
dim strNameOfDrawingText as String
dim oDrawingText as DrawingText


Set oDrawingDocument = Catia.ActiveDocument
Set oBackgroundView = oDrawingDocument.Sheets.item(1).Views.item(2) 'Background auf dem 1. Blatt

strNameOfDrawingText = "Zeichnungstyp"

Set oDrawingText = GetDrawingTextPerName(oBackgroundView, strNameOfDrawingText)

if oDrawingText is Nothing then
    MsgBox "Textfeld nicht gefunden."
else
    MsgBox oDrawingText.Text
end if

End Sub


Function GetDrawingTextPerName(oView as DrawingView, sTextName as String) as DrawingText
    Dim oDrawingText as DrawingText
    dim i as Integer

    for i = 1 to oView.Texts.Count
        Set oDrawingText = oView.Texts.item(i)
        if oDrawingText.Name = sTextName then
            Set GetDrawingTextPerName = oDrawingText
            Exit Function
        end if
    next

    Set GetDrawingTextPerName = Nothing

end function


Gruß
Bernd

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

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

Donnibob
Mitglied


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

Beiträge: 3
Registriert: 26.10.2017

erstellt am: 27. Okt. 2017 17:21    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

Allerbesten dank, ich werde mich da Mal reinfuchsen

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