Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Teilenummer an DrawingText

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:  Teilenummer an DrawingText (1853 mal gelesen)
hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

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

Hallo,

ich erstelle ein Makro, das einen Part automatisch ableiten soll.

Auf dem Blatt möchte ich 2 Textfelder erstellen.

In dem ersten der Textfelder soll der Teilenamen ohne die ersten 7 Zeichen stehen,

in dem zweiten sollen nur die ersten 6 Zeichen des Teilenamens stehen.

Als Grundlage, habe ich fogendes Beispiel aus der V5-Automation genommen:

'-----------------------------------------------------------------------------
Sub CATMain()


Set oPartToDraw = CATIA.ActiveDocument.Part   

'--------------------Create a drawing document: it becomes the active document.

    Set oDrawing = CATIA.Documents.Add("Drawing")

'-------------Retrieve the active sheet

Set oSheet = oDrawing.Sheets.ActiveSheet

'------------Create a view called "Front View" in this sheet

Set oFrontView = oSheet.Views.Add("Front View")

'-------------Retrieve it generative behavior

Set oFrontViewGB = oFrontView.GenerativeBehavior

'------------Declare the part to draw in this front view

oFrontViewGB.Document = oPartToDraw

'------------Define this view as a front view, with the XY plane (in oPartToDraw) as projection plane

oFrontViewGB.DefineFrontView 1, 0, 0, 0, 1, 0

'------------Position the View in the Sheet

oFrontView.x = 150

oFrontView.y = 70

'------------Update the view

oFrontViewGB.Update

'---------------Create Drawing Text

Set oView = oSheet.Views.ActiveView

Set MyText1 = oView.Texts.Add("Textfeld 1", 200.,200.) 

Set MyText2 = oView.Texts.Add("Textfeld 2", 200.,150.) 

'--------------Reframe

Set specsAndGeomWindow1 = CATIA.ActiveWindow

Set specsViewer1 = specsAndGeomWindow1.ActiveViewer

specsViewer1.Reframe

specsViewer1.Reframe

End Sub

'---------------------------------------------

Meine Frage ist nun:

Wie kann man die Teilenummer auslesen und als Drawing Text in die Zeichnung

eintragen?


Viele Grüsse

HaWu

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 27. Nov. 2008 14: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 Nur für hawu 10 Unities + Antwort hilfreich

Schau mal hier das könnte dir weiterhelfen
http://ww3.cad.de/foren/ubb/Forum137/HTML/002682.shtml

Kuck mal die erste verlinkung bei diesem Beitrag könnte auch noch hilfreich sein
http://ww3.cad.de/foren/ubb/Forum137/HTML/002706.shtml

------------------
    Sei Schlau bleib Dumm !!?!!    

[Diese Nachricht wurde von K.Siebert am 27. Nov. 2008 editiert.]

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

Kai Knospe
Mitglied
Problemlöser


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

Beiträge: 27
Registriert: 27.01.2006

R18SP2 // XP SP2 auf HP xw4600<P>R16SP3 // HP-UX auf HP c8000

erstellt am: 28. Nov. 2008 07:52    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 hawu 10 Unities + Antwort hilfreich

Moin,

Du musst ja nur die Partnumber zerlegen, alles andere hast Du ja bereits...

Code:

Set oProduct = CATIA.ActiveDocument.Product
sPartNumber = oProduct.PartNumber
sPrefix = Left(sPartNumber,6)
sSuffix = Mid(sPartNumber,8,Len(sPartNumber))
oMyText1.Text = sSuffix
oMyText2.Text = sPrefix

Gruss,

Kai

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

hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

erstellt am: 28. Nov. 2008 08: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

@ K.Siebert


Hallo,

danke für die schnelle Antwort und die beiden Links.

Die eigentliche Frage in dem Post ist:

Wie kann man die Teilenummer des verwendeten Parts

auslesen und in ein Textfeld eintragen lassen?

Find ichs bloß nicht, oder steht da nix dazu drin? 


Viele Grüsse
   

Harry

[Diese Nachricht wurde von hawu am 28. Nov. 2008 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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Nov. 2008 08: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 Nur für hawu 10 Unities + Antwort hilfreich

Servus
Mit:
Teilenummer = oPartToDraw.PartNumber
solltest du diese bekommen.

Gruß
Bernd

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

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

hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

erstellt am: 28. Nov. 2008 08:46    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 und allseits Schönes Wochenende.

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 28. Nov. 2008 09: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 Nur für hawu 10 Unities + Antwort hilfreich

Hallo hawu

Das steht  zwar nicht direkt drin aber du hast da schon die Lösung denn du möchtest doch die ausgelesene PartNumer (Beitrag von bgrittmann) noch aufteilen
Das wird da gemacht

'

Code:
__________________________________ STRING zerlegen  ____________________________

vTXT = Left(Name, InStrRev(Name, ".") - 1)

BenennTXT = Right( vTXT, Len( vTXT) -18 ) 'Right Left

PosTXT1 = Left(vTXT, InStrRev(vTXT, "_") - 1)
PosTXT2 = Right( PosTXT1, Len( PosTXT1) -14 ) 'Right Left

AuftragNrTXT1 = Left( PosTXT1, Len( PosTXT1) -9 ) 'Right Left

bgTXT1 = Left( PosTXT1, Len( PosTXT1) -5 ) 'Right Left
bgTXT2 = Right( bgTXT1, Len( bgTXT1) -9 ) 'Right Left
'________________________________________________________________________________________



 

Zitat:
in ein Textfeld eintragen lassen

und dazu benötigst du noch eine Kleine Vorbereitung
http://ww3.cad.de/foren/ubb/Forum137/HTML/002682.shtml

siehe Bild/Beitrag 1 den Text musst du doch auch noch benennen
damit das Macro den auch findet, für dieses Beisp. Habe ich den Text in den Eigenschaften „TXT5“ genannt und mit dem Ergebnis „bgTXT2“ eintragen lassen (siehe dazu die Beiträge von zoltan.bekesi)


Code:
dim i as integer
dim oText as DrawingText
dim ocText as DrawingTexts
'Schleife geht durch alle Texte eines Views durch
'Musst nur rausfinden, welche View der BackgroundView ist
'Und den an drawingView1 zuweisen
set ocText = drawingView1.Texts
for i=1 to ocText.Count
set oText = ocText.item(i)
'falls die Name stimmt, wird der Text überschrieben
'kannst mehrere solche IF-Blocks haben
if oText.Name="TXT5" then
oText.Text= bgTXT2
end if
next

ansonsten könntest du Probleme bekommen den CATIA legst ja Automatisch den Text an und vergib  (Text.1 ; Text.2 ; Text.3 usw.) und da könnte es zu Schwierigkeiten kommen  weil welchen Text soll das Macro mit welchem Ergebnis füllen

Grund dafür ist:
wenn du das Macro ausführst auf eine Zeichnung wo schon Text vorhanden ist legt eben CATIA einen Text (Text.535) an
Und auf der Nächsten Zeichnung wo Text vorhanden ist eben (Text.769) usw.


Wolltest du das nicht auch wissen???????

PS: ich gehe bei meinem Skript den Umweg und lese mir das ergebniss einer Ansicht aus um an die PartNummer zu kommen


------------------
         Sei Schlau bleib Dumm !!?!!       

[Diese Nachricht wurde von K.Siebert am 28. Nov. 2008 editiert.]

[Diese Nachricht wurde von K.Siebert am 28. Nov. 2008 editiert.]

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