Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Windowsdateiname von CATPart zu Teilenummer Makro

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:  Windowsdateiname von CATPart zu Teilenummer Makro (2571 mal gelesen)
v5maler
Mitglied



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

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 09. Okt. 2008 10:15    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 Gemeinde,

wir benutzen hier ein Makro das folgendes macht:

Er holt sich den Windowsdateinamen (Part wurde vorher schon gespeichert!) und kopiert ihn als Text in die "Teilenummer", speichert das Part ab und schließt es.

Nun ist es aber so das im Exemplarnamen (nur im Assembly vorhanden!) der alte meist total falsche Namen stehen bleibt. Kann man das Makro so erweitern das jener Exemplarname mit übergeben wird?

Das Part sollte dann in der Assembly Struktur wie folgt aussehen:
(Dies ist natürlich nur ein Beispiel)

Teilename: 100-00-01-001_PLATTE
Exemplarname 100-00-01-001_PLATTE.1

Hier der Quellcode des Makros:

Code:

Sub CATMain()
Set specsAndGeomWindow1 = CATIA.ActiveWindow

Set viewer3D1 = specsAndGeomWindow1.ActiveViewer

Set viewpoint3D1 = viewer3D1.Viewpoint3D

viewer3D1.Reframe

Set viewpoint3D1 = viewer3D1.Viewpoint3D
CATIA.ActiveDocument.Product.Partnumber = Left(CATIA.ActiveDocument.Name, Len(CATIA.ActiveDocument.Name) - 8)
Set partDocument1 = CATIA.ActiveDocument

partDocument1.Save

partDocument1.Close
End Sub



Danke allen vorab für die Hilfe.
Gruß

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 09. Okt. 2008 editiert.]

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 09. Okt. 2008 11:03    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 v5maler 10 Unities + Antwort hilfreich

Hallo,
das geht nur im Assembly. Wenn das Part einmal eingebaut wurde behällt es auch den Instanz-Namen -  auch wenn die Teilenummer selbst nachträglich geändert wird. Es muss also im Assembly der Name des Bauteils geändert werden. Dann kann auch dort direkt der Instanz-Name geändert werden.
Nur mit dem Bauteil alleine ist da nichts zu machen.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing

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

v5maler
Mitglied



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

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 09. Okt. 2008 12:10    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

Okay... gibt es denn dann dafür eine Lösung um im Product alle Parts per Makro zu benennen?

Sprich zuvor im eigenen Fenster das Makro (s.o) zu benutzen, und dann eins extra das dann eben den Teilenamen als Vorlage nimmt und es eben so abändert:

Code:

Teilename:    100-00-01-001_PLATTE
Exemplarname: 100-00-01-001_PLATTE.1
Exemplarname: 100-00-01-001_PLATTE.2
Exemplarname: 100-00-01-001_PLATTE.3 (falls das Bauteil mehrmals vorhanden sein sollte)


------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 09. Okt. 2008 editiert.]

[Diese Nachricht wurde von v5maler am 09. Okt. 2008 editiert.]

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: 09. Okt. 2008 12:32    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 v5maler 10 Unities + Antwort hilfreich

Hallo

Ja das gibt es hier und hier

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

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

v5maler
Mitglied



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

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 09. Okt. 2008 13:25    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

Alles klar. Das ist schon mal sehr gut.

Gibt es jetzt noch eine Lösung um diese beiden Funktionen zu kombinieren. Also ein Makro das beides in einem Zug macht (ich befinde mich im Part).

Code von Makro1:

Code:

Sub CATMain()
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
Set viewpoint3D1 = viewer3D1.Viewpoint3D
viewer3D1.Reframe
Set viewpoint3D1 = viewer3D1.Viewpoint3D
CATIA.ActiveDocument.Product.Partnumber = Left(CATIA.ActiveDocument.Name, Len(CATIA.ActiveDocument.Name) - 8)
Set partDocument1 = CATIA.ActiveDocument
partDocument1.Save
partDocument1.Close
End Sub

Code von Makro2:

Code:

Sub CATMain()

Set oMainProduct = CATIA.ActiveDocument.product

Dim oMainProducts As Products
Set oMainproducts = oMainProduct.Products

Umbenennen oMainProducts

End Sub

Sub Umbenennen(oProducts As Products)

Dim oPartName As String
Dim oName As String
Dim i As Long

For x = 1 to oProducts.Count

Set oInstance = oProducts.Item(x)
oNumber = oInstance.PartNumber
oName = oInstance.Name

i=0
Do

On Error Resume Next

i = i+1

If i>5000 Then  ' Zahl soll angepasst werden
Exit Do
End If

oInstance.Name = oNumber & "." & i

If Err.Number = 0 Then

Umbenennen oProducts.Item(x).ReferenceProduct.Products
Exit Do
ElseIf Err.Number = -2147467259 Then
Err.Clear
Err.Number = 0
Else
Exit Do
End If
Loop
If oInstance.Products.Count > 0 Then
Umbenennen oInstance.Products
End If
Next

End Sub



------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 09. Okt. 2008 editiert.]

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: 09. Okt. 2008 15:08    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 v5maler 10 Unities + Antwort hilfreich

Sollte so gehen (nicht Getestet)

Code:
Sub CATMain()

Code_von_Makro1
Code_von_Makro2

End Sub

Sub Code_von_Makro1()

Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
Set viewpoint3D1 = viewer3D1.Viewpoint3D
viewer3D1.Reframe
Set viewpoint3D1 = viewer3D1.Viewpoint3D
CATIA.ActiveDocument.Product.Partnumber = Left(CATIA.ActiveDocument.Name, Len(CATIA.ActiveDocument.Name) - 8)
Set partDocument1 = CATIA.ActiveDocument
partDocument1.Save
partDocument1.Close

End Sub

Sub Code_von_Makro2()
Set oMainProduct = CATIA.ActiveDocument.product
Dim oMainProducts As Products
Set oMainproducts = oMainProduct.Products
Umbenennen oMainProducts
End Sub
Sub Umbenennen(oProducts As Products)
Dim oPartName As String
Dim oName As String
Dim i As Long
For x = 1 to oProducts.Count
Set oInstance = oProducts.Item(x)
oNumber = oInstance.PartNumber
oName = oInstance.Name
i=0
Do
On Error Resume Next
i = i+1
If i>5000 Then  ' Zahl soll angepasst werden
Exit Do
End If
oInstance.Name = oNumber & "." & i
If Err.Number = 0 Then
Umbenennen oProducts.Item(x).ReferenceProduct.Products
Exit Do
ElseIf Err.Number = -2147467259 Then
Err.Clear
Err.Number = 0
Else
Exit Do
End If
Loop
If oInstance.Products.Count > 0 Then
Umbenennen oInstance.Products
End If
Next
End Sub


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

[Diese Nachricht wurde von K.Siebert am 09. Okt. 2008 editiert.]

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

v5maler
Mitglied



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

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 09. Okt. 2008 15:42    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

Leider nicht.

Du schreibst "Code_von_Makro1". Dort den kompletten Code vom Makro rein, richtig!? Mit dem Makro2 dann ebenso...

Schon geil wenn man keinen Plan vom coden hat! 

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

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: 09. Okt. 2008 16: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 Nur für v5maler 10 Unities + Antwort hilfreich


Dateiname=Part=Exemp.CATScript.txt

 
Eigentlich ja hier hatte ich es schon mal gelöst

und hier habe ich noch ein Skript was

1 alle Zeichnungen Öffnet in dem Ordner wo sich das Product befindet
2 den Partnamen Ändert („suche nach Ersetze durch“ Funktion wie man es aus Word kennt)
3 alle Parts/Producte Speichern (Partname=Dateiname)
4 Exemplarnamen anpasst
5 Alle Zeichnungen Speichert (in dem Ordner wo sich das Part Befindet

Achtung Punkte dürfen in dem Partnamen nicht vorkommen

Die Sachen die du nicht haben möchtest einfach ausklammern.
Oder in einer neuen Reinfolge aufrufen


Edit Skript: das Product wählen das angepasst werden soll.
beim Scheiben bin ich davon ausgegangen das die ETZ's im selben Ordner sind wie das Prod

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

[Diese Nachricht wurde von K.Siebert am 09. Okt. 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