Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Baugruppe mit Grundnummer und Endung speichern

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:  Baugruppe mit Grundnummer und Endung speichern (1607 mal gelesen)
OFRADE
Mitglied
Konstrukteur


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

Beiträge: 14
Registriert: 31.10.2008

WIN 7 x64
CATIA V5 R19SP9

erstellt am: 21. Nov. 2008 09:04    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 Ihr Superhirne,

als totaler newbie auf dem Script und Makro Gebiet ist mein vorhaben wohl eine Nummer zu groß jedoch muss ich da jetzt einfach mal ran und bräuchte da mal eure Hilfe.

Meine Aufgabenstellung:

Von Zeit zu Zeit kommt es vor das Externe Daten in unser Nummernsystem eingepflegt werden müssen. Diese Daten sind CATIA V5 Daten, die eine recht normale Struktur aufweisen z.B.:

RootProduct
-Product
  -Part
  -Part

-Product
  -Product
    -Part
    -Part

  -Part -Part (ccp-link)

Usw.

Nach Vorgabe einer Grundnummer (wird später über eine Maske geschehen) sollen alle Dateien am Ende mit 001, 002, ..011,012..,101,102…bis max. 999 durchnummeriert werden. (Schleife existiert)

Über die Sicherungsverwaltung ist es ja kein Problem die Teile in ein Verzeichnis seiner Wahl zu sichern, Verzeichnis weitergeben  und dabei auch noch den Dateinamen anzupassen. Wenn das ganze aber jedes mal an die 80 – 150 Teile umfasst und noch mehrmals pro Woche vorkommt dann ist aus meiner Sicht Handlungsbedarf!

Nun gut, durch zusammenkopieren diverser Scripte hier aus dem Forum und gewissen Anpassungen und Eigenkram klappt das ganze jetzt solala. Beim starten des Scripts wird man nach einem Verzeichnis gefragt wo die Dateien gesichert werden sollen. Dann rasselt das script los bis die Meldung „Finished“ kommt. Schaut man sich das Ergebnis an, so haben die folgenden Dinge nicht funktioniert:

Gravierend:
- es wird nicht komplett Durchnummeriert, Teilweise werden die Nummern nicht vergeben > der alte
  Dateiname bleibt existent

- Verknüpfung der Art CCP (Part zu Part Verknüpfung) werden Generell ignoriert. Dies ist ja immer ein 
  Problem, auch wenn man über Sicherungsverwaltung arbeitet, da sie zuerst geladen werden müssen > das
  müsste mal wohl vorher realisieren. 

Schönheitsfehler:

- z.B. Doppelte Teile, Normteile, Gleichteile die mehrmals verbaut worden sind werden zuerst Teil für
  Teil durchnummeriert und als Datei abgelegt > was Blödsinn ist. Im Strukturbaum sieht man jedoch nur
  ein Teil das verwendet wird > was richtig ist, jedoch immer das letzte durchnummerierte einer Gruppe 
  von gleichen Teilen. z.B. hat man 5 mal Part1 verbaut so lautet die verwendetet Endung -005.


Hier das Script:

Dim i As Integer
Dim j As Integer
Dim strSavePath As String

'Dim k As Integer
'Dim AnzahlEbenen As Integer
'Dim SubProduct As Product

Sub CatMain()

Dim MainProduct As Product
Dim MainDoc As Document

CATIA.DisplayFileAlerts = False

Set MainProduct = CATIA.ActiveDocument.Product 'Root product
Set MainDoc = MainProduct.ReferenceProduct.Parent 'Productreference (instance of root product)

strSavePath = InputBox("Please enter the save path!", "Save Path", CATIA.ActiveDocument.Path)

j = 1

'Save MainProduct
If Right(MainDoc.Name, 8) = ".CATPart" Then
    MainDoc.SaveAs strSavePath & "\" & "MainProduct_T..." & "-00" & j & ".CATPart"
ElseIf Right(MainDoc.Name, 11) = ".CATProduct" Then
    MainDoc.SaveAs strSavePath & "\" & "MainProduct_T..." & "-00" & j & ".CATProduct"
End If

'Open save routine
SaveThisDocument MainProduct

MsgBox "Finished!"

'Set SubProduct = MainProduct

'For AnzahlEbenen = 1 To 10 'max. Anzahl Ebenen ist 10
'  SearchForSubProducts SubProduct
'  Set SubProduct = CurrentProduct
'Next

CATIA.DisplayFileAlerts = True

End Sub


Sub SaveThisDocument(ActiveProduct As Product)

Dim CurrentProduct As Product
Dim CurrentDoc As Document

For i = 1 To ActiveProduct.Products.Count
    Set CurrentProduct = ActiveProduct.Products.Item(i)
    Set CurrentDoc = CurrentProduct.ReferenceProduct.Parent
    j = j + 1

    If Right(CurrentDoc.Name, 8) = ".CATPart" Then
            If j > 0 And j < 10 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-00" & j & ".CATPart"
            ElseIf j >= 10 And j < 100 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-0" & j & ".CATPart"
            ElseIf j >= 100 And j < 1000 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-" & j & ".CATPart"
            Else
                MsgBox ("Fehler")
            End If

        ElseIf Right(CurrentDoc.Name, 11) = ".CATProduct" Then
            If j > 0 And j < 10 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-00" & j & ".CATProduct"
            ElseIf j >= 10 And j < 100 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-0" & j & ".CATProduct"
            ElseIf j >= 100 And j < 1000 Then
                CurrentDoc.SaveAs strSavePath & "\" & "T..." & "-" & j & ".CATProduct"
            Else
                MsgBox ("Fehler")
            End If
        End If

    If CurrentProduct.Products.Count > 0 Then
        SaveThisDocument CurrentProduct
    End If
Next

End Sub


P.S.: Im Code habe ich noch ein Paar Ideen inaktiviert, bitte ignorieren!

Für eure Hilfe wäre ich sehr Dankbar

Gruß,

Oliver

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: 21. Nov. 2008 09:53    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 OFRADE 10 Unities + Antwort hilfreich

Hallo
hier hast du einige vorlagen
http://ww3.cad.de/foren/ubb/Forum133/HTML/006982.shtml#000003
http://ww3.cad.de/foren/ubb/Forum134/HTML/001290.shtml
----------------------------------
   Sei Schlau bleib Dumm !!?!!  

*Link Korrigiert von Jens Hansen*

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

OFRADE
Mitglied
Konstrukteur


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

Beiträge: 14
Registriert: 31.10.2008

WIN 7 x64
CATIA V5 R19SP9

erstellt am: 21. Nov. 2008 11:26    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,

vielen Dank für die Antwort. Könntest du bitte noch den zweiten Link überprüfen, bei mir funktioniert er nicht.

Gruß,

Oliver

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: 21. Nov. 2008 11:33    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 OFRADE 10 Unities + Antwort hilfreich

Servus
Einfach nur den Text kopieren (oder alles nach .shtml löschen).

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