Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Eingefügtes Part wieder 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:  Eingefügtes Part wieder löschen (1053 mal gelesen)
shoutz000
Mitglied
Techn. Produktdesigner


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

Beiträge: 168
Registriert: 19.08.2013

CatiaV5 R19
CatiaV5 R24
Windows 7 Professional

erstellt am: 29. Okt. 2014 16:06    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

Servus Gemeinde,

ich habe ein Makro geschrieben welches mir ein StartPart in ein
Product einfügt und unter dem selben Verzeichnis speichert. Mit
Fehlerbehandlung usw. Ich bekomme es bloß nicht hin das Part bei
einem Fehler oder einem Abbruch wieder aus dem Product zu löschen!!
Habt Ihr vielleicht eine Idee :-)

Code:

'Neuen PartNamen abfragen
    Set product = oDocument.Product
    Set products = product.Products
    Set oSel = oDocument.Selection

'StartPart in die Struktur laden
    Dim arrayOfVariantOfBSTR(0)
    arrayOfVariantOfBSTR(0) = "J:\Makros\StartParts\XXX_TEIL-PAD_XXX.CATPart"
    products.AddComponentsFromFiles arrayOfVariantOfBSTR, "All"

'Vergabe der neuen PartNumber + InstanceName / Prüfen ob PartNumber bereits vorhanden

    isSaved = False
    while isSaved = False

       myFunc = InputBox ("Bitte vergeben Sie einen neuen Namen.", "PartName", "XXXXXXXX-Y-CC_PLATTE_XX")
       If myFunc = "" Then
         'PART.Delete
      Exit Sub
   End If

On Error Resume Next
     Set documents = CATIA.Documents
     Set partDocument = documents.Item("XXX_TEIL-PAD_XXX.CATPart")
     strPath = oDocument.Path

        Set oName = products.GetItem("XXX_TEIL-PAD_XXX.1")
           oName.Name = myFunc & ".1"

        Set oNumber = partDocument.GetItem("XXX_TEIL-PAD_XXX")
           oNumber.PartNumber = myFunc

If Err.Number <> 0 Then

RetCode = MsgBox("Diese PartNumber existiert bereits in der Struktur." & vbLF & _
"----------------------------------------------------" & vbLF & _
"Sie müssen eine neue PartNumber vergeben!", 48 + vbYesNo, "Warnung!!!")
Select Case RetCode

   Case vbNo
       'PART.Delete
   Exit Sub
End Select

'Part abspeichern
        Else
          SavePart strPath, myFunc, partDocument
       isSaved = True
       End If
      Wend
On Error GoTo 0
End Sub
'----------------------------------------

'----------------------------------------
Sub SavePart(ByVal strPath As String, ByVal myFunc As String, ByVal partDocument As Document)
   'Geladenes StartPart im Projektordner speichern
      On Error Resume Next
          strFileName = strPath & "\" & myFunc
          partDocument.SaveAs strFileName
      On Error GoTo 0
End Sub


[Diese Nachricht wurde von shoutz000 am 29. Okt. 2014 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: 29. Okt. 2014 16:16    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 shoutz000 10 Unities + Antwort hilfreich

Servus
Versuch es mal so (einfach das letzte Product im Baum löschen):
Code:
products.remove(products.count)

Oder du prüft erst den Namen bzw ob es das Part schon gibt, und fügst dann erst das Startpart ein.

Gruß
Bernd

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

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

shoutz000
Mitglied
Techn. Produktdesigner


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

Beiträge: 168
Registriert: 19.08.2013

CatiaV5 R19
CatiaV5 R24
Windows 7 Professional

erstellt am: 30. Okt. 2014 08: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

Guten Morgen,

vielen Dank funktioniert super :-)

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

shoutz000
Mitglied
Techn. Produktdesigner


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

Beiträge: 168
Registriert: 19.08.2013

CatiaV5 R19
CatiaV5 R24
Windows 7 Professional

erstellt am: 30. Okt. 2014 09: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


OPENER_CatPart_PAD.txt

 
Hier das fertige Makro falls noch jemand so eins brauchen kann.

Zusätzlich habe ich noch "Clear History" eingefügt um aus der Struktur gelöschte
PartNumbers wieder zur Verfügung zu haben.

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