Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Bestehenden Text in einer Deawing editieren und ä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:  Bestehenden Text in einer Deawing editieren und ändern. (1145 mal gelesen)
ZORG
Mitglied
CAD-CAM-Techniker


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

Beiträge: 21
Registriert: 26.05.2009

CATIA V5R19 SP5

erstellt am: 26. Jun. 2009 22:23    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 Profi- Programmierer hier ist wider einmal ZORG !

Heute hab ich zwei Fragen an Euch!
1.)Ich möchte gerne bei einer Drawing auf einen bestimmten Text zugreifen.
Text ist bereits in der Drawing vorhanden mit einem eigenen Komponentenname (xyz) benennt. Wie kann ich nun auf den Text zugreifen, und zwar so dass ich den bestehenden Textinhalt in meiner Textbox angezeigt bekomme? (Textinhalt ist z.B. Länge 1500mm)
Grund ist das der Benutzer den bestehenden Text kontrollieren kann und wen nötig abändern.
Als Abschluß sollte entweder wider der Originaltext oder der Geänderte Text aus der Textbox zurückgeschrieben werden. (Anmerkung es handelt sich um 40 unterschiedliche Texte pro Drawing.)

2.)Kann mir bitte einer Erklären wie ich eine ComboBox richtig erstellen kann?
Habe eine UserForm gebaut und möchte eine ComboBox einfügen wo ich verschiedene Materialien auswählen kann. Und die Auswahl sollte anschließend als ein Text übergeben werden.

Sind für einen Profi nur Kleinigkeiten aber anscheinend bin ich so doof das ich einfach nicht weiterkomme!

Vorab schon einmal Danke!!!  
Mit freundlichen Grüßen
ZORG
(CATIA V5/R19/SP2 VB )

------------------
MFG
ZORG

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: 30. Jun. 2009 17:18    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 ZORG 10 Unities + Antwort hilfreich

In den Sheets sind Views enthalten, die wiederum Texsts enthalten, was eine Collection der Texte darstellt. diese haben alle den Namen der Komponente, Darüber eine Suche laufen lassen und dann eben den Text, ich glaube mit Value oder so verändern.

ComboBox weiß ich jetzt nicht ganz aus dem Stehgreif, gibt's aber bestimmt eine .Add Methode für das Objekt.

Edit:
cmbText.AddItem "Test"

------------------
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 30. Jun. 2009 editiert.]

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

ZORG
Mitglied
CAD-CAM-Techniker


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

Beiträge: 21
Registriert: 26.05.2009

CATIA V5R19 SP5

erstellt am: 01. Jul. 2009 00: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

Hallo Henry !
Danke erstmal für Deinen Tipp!
Dein Prinzip habe ich bereits versucht, nur komm ich mit den Codes einfach nicht klar.
Da ich Programmier – Neuling bin währe es sehr nett wen Du oder jemand anders für mich ein Beispiel hätte.
Zum Beispiel habe ich einen Text mit dem Komponentennahmen(Rollenlänge ).
Der Inhalt des Textes ist 1510mm. Optimal währe wenn dieser Wert in meiner Kontrollbox angezeigt wird. Somit kann der Benutzer einen neuen Wert festlegen oder den ursprünglichen Wert einfach bestätigen. (Sollte der Wert 1510mm gleichbleiben ist es auch kein Problem wenn er nach Betätigung mit 1510mm überschrieben wird.)

Trotzdem herzlichen Dank Henry ! Und ich werde noch weiter mit Deiner Idee probieren.

Danke!!! 
Mit freundlichen Grüßen
ZORG
(CATIA V5/R19/SP2 VB )

------------------
MFG
ZORG

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

ZORG
Mitglied
CAD-CAM-Techniker


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

Beiträge: 21
Registriert: 26.05.2009

CATIA V5R19 SP5

erstellt am: 02. Jul. 2009 22:57    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 Profi- Programmierer! 
Habe gerade eine Lösung gefunden die funktioniert.
Fraglich ist nur ob sie optimal programmiert ist?
Anbei das Ergebnis :
Grundvoraussetzung ist das im Blatthintergrund ein Text mit dem Komponentename: LAENGE vorhanden ist.

Sub CATMain()
Dim dDoc1 As DrawingDocument
    Set dDoc1 = CATIA.ActiveDocument
Dim dSheets1 As DrawingSheets
    Set dSheets1 = dDoc1.Sheets
Dim dSheet1 As DrawingSheet
    Set dSheet1 = dSheets1.Item("Blatt .1")
   
' In den Hintergrund wechseln
Set oDraw = CATIA.ActiveDocument
Set oSheets = oDraw.Sheets
Set oSheet = oSheets.ActiveSheet
    oSheet.Activate
Set oViews = oSheet.Views
    oSheet.Views.Item(2).Activate
Set oView = oViews.Item(2)
    oView.Activate

Dim dViews1 As DrawingViews
Set dViews1 = dSheet1.Views
Dim dView1 As DrawingView
Set dView1 = dViews1.Item("Background View")
Dim dTexts1 As DrawingTexts
Set dTexts1 = dView1.Texts
Dim dText1 As DrawingText
Set dText1 = dTexts1.GetItem("LAENGE")

charstring = dText1.Text

MsgBox charstring
 
   
End Sub

Mit freundlichen Grüßen
ZORG 

------------------
MFG
ZORG

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 03. Jul. 2009 18:41    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 ZORG 10 Unities + Antwort hilfreich

Hallo ZORG,

Ich habe dein Code etwas optimiert:

Code:
Sub CATMain()
    Dim dDoc1 As DrawingDocument
    Set dDoc1 = CATIA.ActiveDocument
    Dim dSheets1 As DrawingSheets
    Set dSheets1 = dDoc1.Sheets
    Dim dSheet1 As DrawingSheet
    'hier sollte man auch was ähnliches machen, wie beim Text
    Set dSheet1 = dSheets1.Item("Sheet.1")
   
    Dim oViews As DrawingViews
    Set oViews = dSheet1.Views
    Dim oView As DrawingView
    Set oView = oViews.Item(2)
    'oView.Activate

    Dim dTexts1 As DrawingTexts
    Set dTexts1 = oView.Texts
    Dim dText1 As DrawingText
    'Set dText1 = dTexts1.GetItem("LAENGE")
   
    'elegantere und Fehlertolerantere Version
    Dim i As Integer
    Dim charstring As String
    For i = 1 To dTexts1.Count
        Set dText1 = dTexts1.Item(i)
        If dText1.Name = "LAENGE" Then
           
            charstring = dText1.Text
            MsgBox charstring
            Exit For
        End If
    Next
   
End Sub


Einerseits brauchst du nicht in den View zu wechseln, um den Wert einer Textfeld auszulesen.
Zweitens ist die Background View immer Item(2), somit ist es sicherer.
Drittens, wenn du einfach den Feld "LAENGE" ansprichst und der Feld nicht existiert, läuft das Programm auf Fehler. Deswegen habe ich eine For-Schleife eingebaut.
Die Lösung mit der For-Schleife kannst du auch auf den Blatt anwenden.

Für die Programmierung von Comboboxen gibt es im Internet sicher einige Beispiele.
In CATIA brachst du dazu VBA. Du musst da einen Form anlegen, den Form von einen Modul aufrufen (starten des Makros).
Du brauchst dann wahrscheinlich auch zwei Tasten. Einer zum Auslesen der Informationen und ein anderer zum Zurückschreiben.

Versuche was zu basteln und stellen dann deine weitere Fragen mit Beispielcode / Beispieldokumente hier ruhig.

Gruß,
Zoltan

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

ZORG
Mitglied
CAD-CAM-Techniker


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

Beiträge: 21
Registriert: 26.05.2009

CATIA V5R19 SP5

erstellt am: 03. Jul. 2009 21:50    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 Zoltan !
Danke für die Optimierung echt super!
Durch deine Optimierung läuft das ganze Ding viel runder.
Hier sieht man wider den unterschied zwischen einem Laien und einem Profi.
Noch einmal DANKE !

Für die Combobox habe ich bereits eine Lösung gefunden. War in der Hilfe einigermaßen beschrieben.

Mit freundlichen Grüßen
ZORG

------------------
MFG
ZORG

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