Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Allgemein
  Körpernamen aus CATPart auslesen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
Mit dem all4cad-Blog immer bestens informiert! - Neues zu Lösungen und Entwicklungen rund um ERP und PDM, eine Pressemitteilung
Autor Thema:  Körpernamen aus CATPart auslesen (3208 mal gelesen)
Syphield
Mitglied
Konstrukteur


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

Beiträge: 46
Registriert: 02.10.2007

erstellt am: 01. Jul. 2011 07:48    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 habe ein Part mit rund 400 Körpern,
die alle mit einer Nummer benannt sind.
Gibt es eine Möglichkeit die Köpernamen auszulesen,
z.B. in ein Textfile/Excel o.ä. ?
Andernfalls müßte ich alle per Hand rausschreiben 
Für jeden Tipp wäre ich sehr dankbar.

------------------
Never stop progress !

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

Kne
Mitglied
System-Ingenieur


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

Beiträge: 88
Registriert: 16.11.2007

Intel Xenon 2 x 2,53Mhz
12 GB Ram
Vista 64bit
CATIA v5R18 + v5R19

erstellt am: 01. Jul. 2011 08: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 Syphield 10 Unities + Antwort hilfreich

Hallo,

mit einem Makro wäre das recht einfach umsetzbar (falls du dich etwas mit VB auskennst). Unter Programmierung solltest du dir alle notwendigen Codeschnipsel zusammensuchen können.
Bodys suchen kannst mit rekurives Durchsuchen des Strukturbaum finden.
Code für auslesen des Bodynamens sollte der Makrorekorder ausspucken.
Für die Ansteuerung von Excel findest du hier auch einiges im Forum.
Starte einfach ein paar Versuche und poste deine Zwischenergebnisse. Es wird dir hier dann sicher gerne weitergeholfen.

------------------
Grüße aus Köln
Stefan

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

erstellt am: 01. Jul. 2011 08:52    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 Syphield 10 Unities + Antwort hilfreich

Auch wenn ich Kne Recht geben muss und auch selber die Fragesteller ermuntere, mal selber den ersten Stein zu setzen:

Ich hatte es bei mir herumliegen:


Sub CATMain()

Dim MyPart As Part

Set MyPart = CATIA.ActiveDocument.Part

Dim MyBodies As Bodies

Set MyBodies = MyPart.Bodies

Dim MyBodyToExport As Body
Dim MyBodiesListText As String

MyBodiesListText = ""

Dim I As Integer

For I = 1 To MyBodies.Count
    Set MyBodyToExport = MyBodies.Item(I)
    MyBodiesListText = MyBodiesListText & MyBodyToExport.Name & vbLf
Next


'MsgBox MyBodiesListText        'Remove first sign if you want to show a message while script runs

Set oFileSys = CATIA.FileSystem
sFileSeparator = oFileSys.FileSeparator

Dim Path As String
Path = "C:"         'Here you can key in another path name if necessary
Dim OutputFilename As String
OutputFilename = "My_Body_List"   'Here you can key in another file name if necessary

Dim Output_pathandfilename As String
Output_pathandfilename = Path & sFileSeparator & OutputFilename & ".txt"

Set basics_out = oFileSys.CreateFile(Output_pathandfilename, 1)
Set basics_stream = basics_out.OpenAsTextStream("ForWriting")

basics_stream.Write MyBodiesListText
basics_stream.Close


MsgBox "Done. Please look in file " & Output_pathandfilename

End Sub

Einfach den Code in ein Textfile packen und die Extension von .txt auf .CATScript ändern. Dann kannst du es mit einem Doppelklick im Explorerfenster starten. Dein Teil sollte als Einzelteil im aktiven Fenster in CATIA vorliegen. Diese "Arbeit" lasse ich dir ;-)

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

[Diese Nachricht wurde von tberger am 01. Jul. 2011 editiert.]

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

Syphield
Mitglied
Konstrukteur


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

Beiträge: 46
Registriert: 02.10.2007

Win 7 Pro x64; Intel i7-3840QM @2,79GHz; 16GB RAM; Nvidia Quadro K5000M; CATIA V5 R19 x64 SP9 Hotfix 49

erstellt am: 01. Jul. 2011 09: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


Wow, das ging ja schnell.
Ihr seit die besten.   
Ja, hab schon öfters mit Makros rumgespielt aber das hätte ich nicht so ohne weiteres hinbekommen.

Vielen Danke nochmal !

------------------
Never stop progress !

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

chris0710
Mitglied



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

Beiträge: 11
Registriert: 17.10.2005

erstellt am: 20. Jun. 2014 09:22    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 Syphield 10 Unities + Antwort hilfreich

Schöne Sache, leider erst heute gefunden.

Leider habe ich überhaupt keine Ahnung von Programmierung trotzdem eine kurze Frage:

Ist es möglich, den "OutputFilename" so zu definieren, dass dieser automatisch den Namen des entsprechenden Parts erhält?

Und falls es 2 Parts mit gleichen Namen gibt, dass diese Datei nicht überschrieben wird, sondern einen Anhang z.Bsp. einen Zähler bekommt?

Danke schonmal für die hoffentlich hilfreichen Antworten,
Christian

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

NX12

erstellt am: 20. Jun. 2014 11:00    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 Syphield 10 Unities + Antwort hilfreich

1) ja
Möglichkeiten wären
Code:
MyPartName = MyPart.Name
MyPartFilename = MyPart.Parent.Name
MyPartNomenclature = MyPart.Parent.Product.Nomenclature


2) ja
Möglichkeiten
per Vergleich bei mehreren Parts, die Namen auf Gleichheit prüfen und dementsprechend zu reagieren.
Alternativ,
prüfen ob Datei schon vorhanden, wenn ja Filename + Index, else Filename.

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)2025 CAD.de | Impressum | Datenschutz