Autor
|
Thema: Baugruppen auslesen (2024 mal gelesen)
|
Species8472 Mitglied
Beiträge: 16 Registriert: 30.07.2003
|
erstellt am: 16. Okt. 2003 16:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie im vorigen Post hab ich einen Macro geschrieben, der bestimmte teile eines Fahrzeugs in bestimmten farben färbt. Meine Frage wäre, kann ich mithilfe einige Befehle im Macro eine liste der Bauteilnahmen die in der Geladenen Bauteilgruppe vorhanden sind, erstellen lassen? Danke im Vorraus MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RonnyS Mitglied
Beiträge: 97 Registriert: 04.09.2003
|
erstellt am: 17. Okt. 2003 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
Wenn du mir ein bisserl näher erklärst was du eigentlich haben möchtest helf ich gern, habe sowas ähnliches denk ich schon gelöst. Musst jedoch leider bis Montag warten da ich glich bis Feierabend Besprechnung habe/machen muss. Du hast in einem Product mehrere Parts mit Partdokumenten und möchtest für jedes Part die Körpernamen(Bodynamen) anzeigen lassen, right? ------------------ gr33t7 Ronny Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Species8472 Mitglied
Beiträge: 16 Registriert: 30.07.2003
|
erstellt am: 18. Okt. 2003 12:36 <-- editieren / zitieren --> Unities abgeben:
jep, ich habe ein Product, da sind eben mehrere Parts drinnen, z.B. schrauben, motorhaube, etc. und die heißen jetzt z.B. "1234567 Schraube M8" und "8910231 Motorhaube", usw. und ich hätte jetzt gerne ne txt file dabei ausgelesen, wo er mir dann quasi in der txt file schreibt: 1234567 Schraube M8 8910231 Motorhaube Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RonnyS Mitglied
Beiträge: 97 Registriert: 04.09.2003
|
erstellt am: 20. Okt. 2003 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
hier büddä ist zwar aus einem meiner Projekte entnommen und deshalb evtl net ganz die einfachste lsg aber egal sub catmain dim myproduct as product set myproduct = catia.activedocument.product dim getActivePartNames as collection Set getActivePartNames = New Collection Open "c:\bla.txt" For Output As #2 Dim tmp As String For i = 1 To MyProduct.Products.Count Step 1 tmp = MyProduct.Products.Item(i).PartNumber print #2, tmp getActivePartNames.Add tmp Next close #2 end sub Sollte eigentlich für dich schon reichen, wenn du auch noch die ugehörigen parts bzw. partdocumente als objekte haben willst, musst du folgendermaßen vorgehen 1. aus catia.documents.item(i).name mittels instr-abfrage prüfen obs denn ein .catpart ist 2. falls catia.documents.item(i).part.name = getActivePartNames.item(j) -> Teil gefunden, am einfachsten geht das mittels 2 for-schleifen und dann einfach dim mypartdoc as partdocument set mypartdoc = catia.documents.item(i) und dann kannst du wie gewöhnlich zugreifen EDIT:// ich hab hier in der 2antwortbox" noch ein bisserl was dazugecodet, net wundern falls irgendwas wegen nem tippfehler nicht klappt :-) ------------------ gr33t7 Ronny [Diese Nachricht wurde von RonnyS am 20. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Species8472 Mitglied
Beiträge: 16 Registriert: 30.07.2003
|
erstellt am: 06. Nov. 2003 15:48 <-- editieren / zitieren --> Unities abgeben:
hm...naja, schade, es funktioniert garnicht, ich hab einiges versucht zu verändern, aber das einzigste was er mir ausgegeben hat, war ne leere datei und eine fehlermeldung, wo dann der name drinnenstand, vom 1. teil... :-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RonnyS Mitglied
Beiträge: 97 Registriert: 04.09.2003
|
erstellt am: 10. Nov. 2003 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
|
Species8472 Mitglied
Beiträge: 16 Registriert: 30.07.2003
|
erstellt am: 12. Nov. 2003 16:48 <-- editieren / zitieren --> Unities abgeben:
ich arbeite mit R10, weiss net, ob dasn unterschied macht... "Set getActivePartNames = New Collection" "Open "c:\bla.txt" For Output As #2" "print #2, tmp" nimmt er nicht, entweder sagt er, weil die funktion (also z.B. "Open" unbekannt ist, oder weil #2 nicht ok ist, oder weil z.B. "New Collection" kein korrekter Typ ist... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RonnyS Mitglied
Beiträge: 97 Registriert: 04.09.2003
|
erstellt am: 13. Nov. 2003 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
eigentlich net "Open" is seit Äonen ein gängiger vb-befehl um eine datei zu öffnen, das stammt noch aus der "Pre-Ströme-Ära" wenn man so will programmierst du als vba oder als catscript/vbscript? alternativ könntest du versuchen die catia schnittstelle für dateiarbeit zu nutzen, ist zwar ein biseerl komplizierter geht aber auch, wie die genau geht kannsch dir im mom leider net sagen weil ich heut mein schlaues buch net beihab. EDIT//probiers mal als richitges vba-projekt dann sollte alles so wies ist funzen ------------------ gr33t7 Ronny [Diese Nachricht wurde von RonnyS am 13. November 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lokm Mitglied
Beiträge: 17 Registriert: 23.09.2008
|
erstellt am: 16. Dez. 2011 23:56 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
Hallo, der Beitrag ist zwar schon etwas aelter, aber ich stehe vor genau diesem Problem. Ich benoetige den Gesamten Baum, also auch die Parts. Leider habe ich von Programmierung absolut null Ahnung. Habs jetzt 3h versucht hier weiter zu kommen. Leider ohne Erfolg. Koennte mit jemand das fertige Makro zur Verfuegung stellen. Die einbindung der beiden For-Schleifen bekomme ich leider nicht hin. Danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Dez. 2011 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für Species8472
Servus Du fragst jetzt schon in drei verschiedenen Themen nahezu das gleiche. Hast du es schon mit der Stückliste probiert deine Liste zu erstellen? (zuerst mal manuell testen was man damit alles machen kann) Oder welche Information willst du zusätzlich? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |