Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Unbenutzte Parts löschen

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:  Unbenutzte Parts löschen (1178 mal gelesen)
AndreasNilli
Mitglied
MaschBau, 6.Sem


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

Beiträge: 22
Registriert: 09.09.2009

erstellt am: 14. Sep. 2009 15: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

Hallo.

Ich stehe mal wieder vor einem Rätsel.

Ich möchte ein Makro erstellen, das in einem Vorrichtungsordner alle Parts rauslöscht, die nicht im Produkt genutzt werden.

Vom Aufbau her, dachte ihr mir das folgendermaßen:

- Die benutzen Parts werden kurzzeitig umgespeichert --> mit "_" vor dem Namen
- Alle Parts, die kein "_" als 1.Zeichen im Dateinamen haben, werden gelöscht
- Die Dateien mit "_" als 1.Zeichen werden wieder in die ursprüngliche Form umgespeichert und die "_"-Dateien gelöscht.

Soweit vom Prinzip her.
Sicherlich habt ihr hier Verbesserungsvorschläge.
Wenn ja, dann nur her damit. Bin für jeden Ratschlag dankbar.


Hier mal mein Code.
Noch eine reine Baustelle.


Code:
Sub CATMain()
  Set productDocument1 = CATIA.ActiveDocument
  Set oProducts = productDocument1.Product.Products

  Path = CATIA.ActiveDocument.Path
  ActPath = Path & "\"
 

  For i = 1 To oProducts.Count

        Dim product1 As Product
        Set product1 = oProducts.Item(i)

        Dim pPart, TempRename As String
        pPart = product1.ReferenceProduct.Parent.Name

        'MsgBox pPart
        TempRename = "_" & pPart

        product1.ReferenceProduct.Parent.SaveAs Filename:=ActPath & TempRename

  Next
 

  Dim Zeichen As String
  Zeichen = [!_]                                                 'Negation von "_" ---> Wie?!
 
  Do While Dir$(ActPath & Zeichen & "*.CATPart") <> 0            'Gesucht: Alle Parts, die nicht mit _ anfangen!

            Dim UnusedFile As String
            UnusedFile = Dir$(ActPath & Zeichen & "*.CATPart")
            Kill ActPath & UnusedFile

  Loop


'Nun sind alle unbenutzen Parts herausgelöscht und die umbenannten Dateien werden wieder in die ursprüngliche Form gebracht.

End Sub



Im Internet habe ich mich mal durchgelesen, dass z.B die Negation von etwas mit "!" davor ist.
Und das [a-z] bedeutet, dass nur Buchstaben von a-z vorkommen dürfen. Dies gilt wohl nur bei Boolschen Operationen oder?


BTWBy the way (So nebenbei bemerkt):
Dass das mit dem "SaveAs" keineswegs gut ist, da man alles bestätigen muss, weiß ich auch, jedoch weiß ich nicht, wie ich sonst die benutzen und unbenutzen Parts im Ordner unterscheiden kann.
Wenn es möglich ist, bitte kein API-Code (falls er so heißt; dh. Win-Code), da ich noch ein VB-Einsteiger bin.

Also, nun dürft ich mich steinigen  

[Diese Nachricht wurde von AndreasNilli am 14. Sep. 2009 editiert.]

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


Ex-Mitglied



Sehen Sie sich das Profil von  an!

Beiträge: 4755
Registriert: 27.09.2000

Dell precision M4300, 4GB Arbeitsspeicher
NVidia FX360M
Windows XP professional SP3
CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4
Adobe Acrobat 8
Linux: Ubuntu 8.04LTS

erstellt am: 14. Sep. 2009 16:49    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 AndreasNilli 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von AndreasNilli:

Im Internet habe ich mich mal durchgelesen, dass z.B die Negation von etwas mit "!" davor ist.
Und das [a-z] bedeutet, dass nur Buchstaben von a-z vorkommen dürfen. Dies gilt wohl nur bei Boolschen Operationen oder?


Nein, bei regulären Ausdrücken

------------------
Meine Firma  |  Website zum Buch Technisches Zeichnen mit CATIA V5 | Mein CATIA-Blog

Wie stelle ich meine Fragen richtig?

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

Cad-Stranger
Mitglied
Konstrukteur


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

Beiträge: 23
Registriert: 09.01.2008

erstellt am: 14. Sep. 2009 17:30    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 AndreasNilli 10 Unities + Antwort hilfreich

Hallo Andreas,

das ist vielleicht nicht ganz das, was du dir vorgestellt hast, aber hier mal ein kleiner work arround:

1: sep. Ordner erstellen
2: Produkt laden
3: über send to directory alles (dabei werden nur die verwendeten Parts genommen) in den seop. Ordner kopieren.
4: anschließend die Parts im original Ordner löschen
5: alles zurück kopieren

Gruß Stranger

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

AndreasNilli
Mitglied
MaschBau, 6.Sem


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

Beiträge: 22
Registriert: 09.09.2009

erstellt am: 15. Sep. 2009 07:51    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.

Und wie könnte ich sagen, dass alle Zeichen erlaubt sind außer "_" ?

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 18. Sep. 2009 23: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 AndreasNilli 10 Unities + Antwort hilfreich

Hallo,

bezgl:

Dass das mit dem "SaveAs" keineswegs gut ist, da man alles bestätigen muss

Du kannst am Anfang deines Makros die Meldungen des Savemanagement deaktivieren mit

Catia.DisplayFileAlerts = False

Du solltest aber am Ende und bei Fehlerbhandllungen wieder auf True stellen.

Ansonsten ist das doch ein smarter Code. Wenn du nur einstufige (Keine Unterbaugruppen) Baugruppen hast, ist dass doch OK. Ich würde vielleicht noch ein Backup einbauen. Am Ende sollte man Catia auch mal schließen und die Baugruppe nochmal öffnen. Wenn dann keine Fehlermeldungen auftreten, kann das Backup auch gelöscht werden.
Außerdem muss vielleicht auch noch der Ladestatus/Design- oder Visumode berücksichtigen werden.

------------------
MfG
Randle

! It's not a bug, it's a feature !

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