Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Nennen Sie die PartBodys von Castparts in einem CATProduct

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:  Nennen Sie die PartBodys von Castparts in einem CATProduct (967 / mal gelesen)
xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 06. Mai. 2016 23:02    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

Hello!

               Ich brauche Hilfe, ich will in einem CATProduct alle PartBodys von Cat-Teile zu benennen, sondern gibt mir eine Fehlermeldung auf die Zeile "Set tmpDoc = tmpDoc.Part 'Seleccionar la part" Sie können helfen.


M.f.G

Manuel

Code:

Sub CATMain()


    'Crear objeto, Documento.
    Dim tmpDoc As Document

    'Seleccionar todos los documentosabiertos.
    For Each tmpDoc In CATIA.Documents

        'Modificar solo Parts y Products
        If InStr(1, tmpDoc.Name, ".CATProduct") > 0 Or InStr(1, tmpDoc.Name, ".CATPart") > 0 Then
      
    'Renombrar los PartBodys
   
            Textdata = tmpDoc.Name
            tmpDoc = Split(Textdata, ".")
            Textdata = tmpDoc(0)

            Set tmpDoc =CATIA.ActiveDocument ' Seleccionar el documento activo
            Set tmpDoc = tmpDoc.Part ' Seleccionar la part
            Set oPartBody = tmpDoc.MainBody ' Seleccionar el PartBody
            oPartBody.Name = Textdata  ' Renombrar el PartBody con "PartName"
      
        End If
  
    Next

End Sub

[Diese Nachricht wurde von xyon126 am 07. Mai. 2016 editiert.]

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Mai. 2016 13:24    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 xyon126 10 Unities + Antwort hilfreich

Hola Manuel,

ein paar allgemeine Überlegungen:

- sei nich so sparsam mit Deinen Variablen!
  Du definierst eine einzige Variable für 'doc', 'part', Array ...
  TextData ist gar nicht deklariert;
- Bodies finden sich nur in CatParts
- den 'MainBody' umzubenennen ist nicht unbedingt sinnvoll(der hat schon einen Namen: PartBody)

Frage:
- Was willst Du erreichen?

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Mai. 2016 13:35    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 joehz!

Vielen Dank für Ihre Antwort. Ich muss von CATProduct alle der CatPart,s Partbodys Das CATProduct Mit dem Namen der Datei oder CATPart umbenennen.
Ich habe schon von CATPart bekommen aber nicht bekommen, von CatProdut, das ist rekursiv. Können Sie helfen?

Das ist das Code von CatPart:
Code:

Sub CatMain()

Dim Textdata As String
Textdata = CATIA.ActiveWindow.Name
tmpDoc = Split(Textdata, ".")
Textdata = tmpDoc(0)

Set oDoc =CATIA.ActiveDocument ' Seleccionar el documento activo
Set oPart = oDoc.Part ' Seleccionar la part
Set oPartBody = oPart.MainBody ' Seleccionar el PartBody
oPartBody.Name = Textdata  ' Renombrar el PartBody con "PartName"

End Sub

Aber wie gesagt, ich von CATProduct müssen.

Vielen Danke

M.f.G.

Manuel

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Mai. 2016 17:43    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 xyon126 10 Unities + Antwort hilfreich

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 07. Mai. 2016 18: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

Hallo joehz!

              Vielen Dank, aber es ist nicht das, was ich brauche, ich brauche die Hauptkörper nicht Intansname oder Partname umbenennen, ist das Foto:

Mit dieser Code:

Code:
Sub CatMain()

Dim Textdata As String
Textdata = CATIA.ActiveWindow.Name
tmpDoc = Split(Textdata, ".")
Textdata = tmpDoc(0)

Set oDoc =CATIA.ActiveDocument ' Seleccionar el documento activo
Set oPart = oDoc.Part ' Seleccionar la part
Set oPartBody = oPart.MainBody ' Seleccionar el PartBody
oPartBody.Name = Textdata  ' Renombrar el PartBody con "PartName"

End Sub


aber dieser Code arbeitet von einer CatPart, und ich brauche von CatProdukt mit mehreren Teile zur gleichen Zeit zu tun.

Code für CATProduct gescheitert:

Code:

Code:
Sub CATMain()


    'Crear objeto, Documento.
    Dim tmpDoc As Document

    'Seleccionar todos los documentosabiertos.
    For Each tmpDoc In CATIA.Documents

        'Modificar solo Parts y Products
        If InStr(1, tmpDoc.Name, ".CATProduct") > 0 Or InStr(1, tmpDoc.Name, ".CATPart") > 0 Then
     
    'Renombrar los PartBodys
 
            Textdata = tmpDoc.Name
            tmpDoc = Split(Textdata, ".")
            Textdata = tmpDoc(0)

            Set tmpDoc =CATIA.ActiveDocument ' Seleccionar el documento activo
            Set tmpDoc = tmpDoc.Part ' Seleccionar la part
            Set oPartBody = tmpDoc.MainBody ' Seleccionar el PartBody
            oPartBody.Name = Textdata  ' Renombrar el PartBody con "PartName"
     
        End If
 
    Next

End Sub


Wo habe ich den Fehler?

M.f.G.

Manuel

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 07. Mai. 2016 19:39    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 xyon126 10 Unities + Antwort hilfreich

Manuel,

das, was Du hier vorhast, macht keinen Sinn.
Das kannst Du auch daran erkennen, dass es sonst keiner braucht/gebraucht hat.

Woher kommt die Forderung 'MainPart.Name = PartName'?

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

EmilioSanchez
Mitglied



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

Beiträge: 70
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 08. Mai. 2016 02: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 Nur für xyon126 10 Unities + Antwort hilfreich

Hallo Manuel,

ein Fehler ist das du auch Produkte mit einbeziehst.
Ein Produkt hat ja keinen PartBody.

Auch die Zeile tmpDoc = Split(Textdata, ".") macht keinen Sinn.
tmpDoc ist ja schon dein Dokument.

Info: die Split Funktion liefert als Ergebniss ein Array.

So sollte es gehen:

Sub CATMain()

    'Crear objeto, Documento.
    Dim tmpDoc As Document
 

    'Seleccionar todos los documentosabiertos.
    For Each tmpDoc In CATIA.Documents

        'Modificar solo Parts
        If InStr(1, tmpDoc.Name, ".CATPart") > 0 Then
     
            Textdata = tmpDoc.Name
            Textdata = Split(Textdata, ".")
     
           
            Set oPart = tmpDoc.Part ' Seleccionar la part
            Set oPartBody = oPart.MainBody ' Seleccionar el PartBody
         
          'Renombrar los PartBodys
            oPartBody.Name = Textdata(0)  ' Renombrar el PartBody con "PartName"
     
        End If
 
    Next

End Sub


Bitte bedenke:

Du benennst den PartBody so wie er auf der Festplatte gespeichert ist, nicht wie er im Strukturbaum benannt ist (Teilenummer).
Die Split Funktion liefert  dir ein falsches Ergebniss wenn in deinem Dateinamen mehrere Punkte vorkommen (Ist aber ja eher die Ausnahme)

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 08. Mai. 2016 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 Nur für xyon126 10 Unities + Antwort hilfreich

Hi Manuel,

eine kleine Suche im Forum hat ergeben:

http://ww3.cad.de/foren/ubb/Forum137/HTML/004637.shtml#000003

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

xyon126
Mitglied
Ingenieur


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

Beiträge: 74
Registriert: 07.11.2011

erstellt am: 08. Mai. 2016 09: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

Vielen Dank an euch beide, jetzt habe ich gesehen und verstanden den Fehler, mehr als ein Jahr nicht programmiert sind und Neuronen verloren und vergessen Konzept, Vielen dank.

Man kann nicht alt tun.    


M.f.G.

Manuel

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