Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Datei umbenennen und sichern

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:  Datei umbenennen und sichern (1417 mal gelesen)
Berges
Mitglied
Techniker


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

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 21. Aug. 2012 15: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


Product1.zip

 
Hallo Zusammen
Ich habe ein Script geschrieben welches in einem Product nach Schrauben mit der Bezeichnung
DIN 912 sucht.
Dann wird der Parameter der Schraube gelesen und der Name des Parts umbenannt.
Nun soll das Part unter dem Neuen Namen (DIN912_M8x20)abgespeichert werden.
Das funktioniert auch soweit nur das ich immer wieder bestätigen muss  dass die Datei überschrieben werden soll.
Ich habe schon versucht abzufragen ob die Datei existiert aber mit meinen bescheidenen Kenntnissen bekomme ich das nicht hin.
Desweiteren gibt es ein Problem wenn eine Schraube mit der gleichen Größe zweimal erzeugt wurde.
Dann brich das Programm logischerweise ab.

Wie kann ich abfragen ob die Datei schon vorhanden ist und er sie nicht noch mal speichern soll.
und  wie kann ich eine vorhandene Größe durch die schon existierende Datei ersetzen.
Wäre schön wenn Ihr mir helfen könntet.

Gruß
Ralf

Anbei das Script und eine Datei mit einem Product mit Schrauben

Sub CATMain()

Dim productDocument1 As document
Set productDocument1 = CATIA.ActiveDocument
Dim Name As String
Dim Name01 AS String
Dim oParameter As String
Dim oParameterArray()
Dim length1 As Object
Dim selection1 As selection
Set selection1 = productDocument1.selection
DIM PAName AS String
Dim N As Document
Dim Pfad As CADBAS
Dim ExitsBool As Boolean
Dim Datei As String
Dim Pfad1 AS String

Set filesys = CATIA.FileSystem

N = 1

selection1.Search "CATProductSearch.Part,all"

Dim Imax As Integer
Imax = selection1.Count
ReDim oParameterArray(Imax)

  If Imax > 0 Then

    For I = 1 To Imax

     
Name = selection1.Item(I).Value.ReferenceProduct.Parent.Name


Name01= Left (Name ,6)

            Set documents1 = CATIA.documents

     
Set partDocument1 = documents1.Item(Name)
Set productDocument1 = CATIA.ActiveDocument
        Set product1 = productDocument1.Product
        Set products1 = product1.Products
        Set product2 = selection1.Item(i).Value
   
                   
        On Error Resume Next

     
If Name01 = "DIN912" Then

N = N+1

        Set length1 = partDocument1.Part.Parameters.Item("Ref")
     
        If Err = 0 Then
     
            On Error GoTo 0


            oParameter = length1.ValueAsString

Zeichenlaenge = LEN (oParameter)

Zeichenlaenge = Zeichenlaenge - 3

Ausgabe1 = Mid (oParameter, 5, Zeichenlaenge)

product2.PartNumber = "DIN912"& "_M"&Ausgabe1
product2.Name = "DIN912"& "_M"&Ausgabe1&"."&N


'____________________Datei prüfen______________________
Set productDocument1 = CATIA.ActiveDocument
Pfad =  product2.ReferenceProduct.Parent.Path
DateiPart =  product2.ReferenceProduct.Parent.Name
Pfad1  =  product2.ReferenceProduct.Parent.FullName
Datei = Pfad &"\DIN912_M"&Ausgabe1&".CATPart"

ExitsBool = CATIA.FileSystem.FileExists(Datei)
    If CStr(ExitsBool) = "True" Then
        'MsgBox "ersetzen"
    Else
Dim partDocument1 As Document
Set partDocument1 = documents1.Item(DateiPart)
PartDocument1.SaveAs Datei

    End If


'_______________________Ende Datei______________

Else           

End If

End If


            On Error GoTo 0


   
     
    Next

  End If


MsgBox "Schrauben DIN912 umbenannt"

End Sub

------------------
KOBUE

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. Aug. 2012 17:07    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 Berges 10 Unities + Antwort hilfreich

Servus
Ohne es getestet zu haben, sollte die Überprüfung ob die Datei schon vorhanden ist so funktionieren:
Code:
...
if CATIA.FileSystem.FileExists(Datei) <> true then
  Dim partDocument1 As Document
  Set partDocument1 = documents1.Item(DateiPart)
  PartDocument1.SaveAs Datei
End If
...

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

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: 21. Aug. 2012 17:38    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 Berges 10 Unities + Antwort hilfreich

Bei mir auch nur Pseudo-Code, aber so sollte es schicker aussehen :-)

Habe die Aufgabenstellung aber nicht so recht Verstanden, daher löscht dieser Code imemr vorher die Datei:

Code:

if CATIA.FileSystem.FileExists(Datei) = true then
call CATIA.FileSystem.DeleteFile(Datei) 'eventuell auch nur Delete
End If

  Dim partDocument1 As Document
  Set partDocument1 = documents1.Item(DateiPart)
  PartDocument1.SaveAs Datei


Anmerkung: Kann ich bei SaveAs nicht mitgeben ob überschrieben werden soll?

Edit: ansonsten ist die Prüfung auf "= False" immer schicker und schneller als "<> true" :-)

------------------
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 21. Aug. 2012 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: 21. Aug. 2012 18: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 Berges 10 Unities + Antwort hilfreich

Servus
Wenn die Datei immer gelöscht werden soll, kann man diese aber auch einfach überschreiben und die Abfragte zum Überschreiben mit
CATIA.DisplayFileAlerts = False
ausschalten.

Gruß
Bernd

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

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

Berges
Mitglied
Techniker


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

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 22. Aug. 2012 08:55    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 Zusammen

Erst einmal Danke an alle die so schnell geantwortet haben  .
Das erste Problem wäre gelöst.
Ich habe den Vorschlag von Bernd genommen das war für mich das einfachste.
Gibt es für mein zweites Problem auch eine Lösung?
Wenn ich bei der Konstruktion eine Schraube mit gleicher Größe erstellt habe bricht mein Programm mit Fehlermeldung ab.
Ist es Möglich die Verknüpfung sprich Datei durch die Vorhandene Datei zu ersetzten oder ist das zu kompliziert?

Gruß

Ralf

------------------
KOBUE

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: 22. Aug. 2012 09: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 Berges 10 Unities + Antwort hilfreich

Servus
Soll das heißen du hast in deiner Baugruppe eine Schraube (also zb DIN 912 M5 x 8) mit unterschiedlichen CAD-Modellen?
Woher weißt du dass, das aktuell bearbeitetet (vom Makro) Modell das richtige CAD-Modell ist?
Teile/Baugruppen kannst du mit "ReplaceComponent" in der Baugruppe austauschen (siehe Doku und Forensuche)


Gruß
Bernd

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

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

Berges
Mitglied
Techniker


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

Beiträge: 119
Registriert: 16.08.2001

Catia V5 R24/ Sp1 unter WIN 7

erstellt am: 22. Aug. 2012 14:09    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 Bernd

Es kommt leider vor das ich Schrauben mit der gleichen Größe erzeugt habe.
Ich habe dann 2 Parts mit unterschiedlichen Namen aber die eigendlich gleich sind.

Gruß

Ralf

------------------
KOBUE

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