Autor
|
Thema: Elternteil einer Selection? (906 mal gelesen)
|
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 24. Sep. 2008 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Wie komme ich an ein Elternteil einer Selection? Bei dem Versuch ein Script zu schreiben mit der man eine Komponente in Sitzung ersetzen kann bin ich auf folgendes Problem gestoßen. Ich kann das Part bzw. Product auswählen. Erhalte dann auch den Namen oder sogar den Exemplar Namen. Aber beim versuch das Elternteil ( wo dieses Teil verbaut ist )zu ermitteln mache ich wohl seit Stunden einen systematischen Fehler. .... Set UserSel=CATIA.ActiveDocument.Selection Erg = UserSel.SelectElement2 ( Was, " Produkt oder Part auswählen ", False) If Erg = "Normal" Then MsgBox ( UserSel.Item(1).Value.Name) Set Suche = UserSel.Item(1).Value SelecName= UserSel.Item(1).Value.Name Set Parent_1= UserSel.Item(1).Value.Parent Set ExemplarName=Parent_1.Item(SelecName) Set AktuellesDokument = Suche.ReferenceProduct.Parent UserSel.Clear ... Wenn es keinen Exemplar-Namen gibt erhalte ich eine Fehlermeldung, ist es möglich diesen auf Vorhandensein abzufragen? Oder sollte man in diesen Fall eine Fehlerauswertung im Script vornehmen?
Gruß CadV5UserR
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 24. Sep. 2008 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für CadV5UserR
Hallo, das geht anders. Wenn sich ein Element in der Selektion befindet bekommst du über Set oProd = CATIA.ActiveDocument.Selection.FindObject("CATIAProduct") die Instanz zurück, und über Set oDoc = oProd.ReferenceProduct.Parent das zugehörige Dokument. Edit:
Sollte erst mal richtig lesen. Du wolltest ja was ganz anderes: Set oProd = oSelection.Item(1).Value.Parent.Parent liefert die Instanz zurück, in der das Selektierte Part/Product verbaut ist und das Dokument wie oben. Gruß
------------------ tomtom1972 [Diese Nachricht wurde von tomtom1972 am 24. Sep. 2008 editiert.] [Diese Nachricht wurde von tomtom1972 am 24. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 24. Sep. 2008 14:38 <-- editieren / zitieren --> Unities abgeben:
Hallo TomTom1972! Hast recht so geht’s!!! Noch mal 10Us Habe irgendwie Probleme mich durch die Catia Struktur zu kämpfen, und die Verknüpfungen immer zu verstehen.
Sind eigentlich Drawings mit ihren Parts oder Produkten genauso wie Produkte mit Produkten verlinkt? Mir ist klar dass die Produkte bzw. Parts nicht auf die Drawing zeigen!?Oder? Gruß CadV5UserR
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 24. Sep. 2008 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für CadV5UserR
|
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 25. Sep. 2008 09:47 <-- editieren / zitieren --> Unities abgeben:
Hallo K.Siebert! Danke!!! Sind mehrere interessante Scripte verlinkt! Werde ich mich mal durchkämpfen.
Habe aber schon wieder ein neues Problem. Wenn ich von einer Drawing und einem Part / Produkt über NEU_AUS ein neues Teil mit verlinkter Zeichnung erstellen möchte kann ich das machen. Ich gehe auf NEU_AUS und selektiere beides sage ok. Wenn ich aber eine Script-Aufzeichnung aktiviere funktioniert das ganze nicht mehr richtig. Es wird dann ein Part / Produkt erzeugt und eine Zeichnung die aber nicht mehr verlinkt sind. (Die Zeichnung ist immer noch auf das ursprüngliche Bauteil verlinkt.) …. Language="VBSCRIPT" Sub CATMain() Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As Document Set partDocument1 = documents1.NewFrom("C:\Documents and Settings\Luser\My Documents\SmarTeam\Work\400049218.CATPart") Dim drawingDocument1 As Document Set drawingDocument1 = documents1.NewFrom("C:\Documents and Settings\Luser\My Documents\SmarTeam\Work\400050443.CATDrawing") End Sub …. Wie kann man mit einem Script beides zusammen NEU_AUS machen? Oder muss man im Nachhinein die Verlinkung neu setzen? Gruß CadV5UserR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 25. Sep. 2008 10:09 <-- editieren / zitieren --> Unities abgeben: Nur für CadV5UserR
Hallo ich arbeite auschlislich mit den Skripten die du bei eine Verlinkung findest die ich oben Gepostet habe „Speichern.zip“ wenn du mit neu aus Arbeitest und Zeichnungen mit Speichern möchtest dann solltest zu lieber mit der „Sicherheitsverwaltung“ arbeiten denn wenn du Zeichnungen mit nehmen willst müssen diese alle geöffnet sein bevor du die Parts Speicherst also alle Zeichnungen öffnen dann Parts/Produkte Speichern dann alle Zeichnungen Speichern dann ist die Zeichnung auch auf das Part/ Parts/Produkte verlinkt aber schau mal „„Speichern.zip“ da sollte beschieben sein wie man vorgeht und auch zwei Skripte die einmal alle zeichnungen Öffnet aus einem Ordner herraus und eins was alle Offenen Zeichnungen Speichert AN DEM Ort wo das Part gespeichert wurde siehe auch http://ww3.cad.de/foren/ubb/Forum133/HTML/007058.shtml#000003
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 25. Sep. 2008 10:49 <-- editieren / zitieren --> Unities abgeben:
Hallo K.Siebert Den Speicherpfad der Teile Auszulesen und / oder neu zu setzen ist nicht das Problem.
Wir benutzen aber Catia V5R16SP4 mit dem PDM Programm SmarTeam. Wenn man hierbei Zeichnungen nur Speichern-unter macht gibt es an einigen wenigen Rechnern bei uns manchmal Probleme. SmarTeam vergibt beim Anlegen der Teile Datei-Bezeichnungen mit Nummern. Beim Speichern von Teilen die nur mit Speichern-unter erstellt wurden kann es dann vorkommen das im System das neue und alte Teil auf das selbe Datenbank-Teil zurückgreifen, aber jeweils verschiedene Nummern erhalten haben. Wenn man dann ein Teil verändert, sind dann beide geändert, obwohl es verschiedene Teile-Nummern gibt. Aus diesem Grund legen wir diese Teile nur mit Neu-Aus an. Speichern diese. Schließen die Dateien. Öffnen diese neu und setzten die Dateien ins PDM-System. Dann gibt es keine Probleme. Ich habe ein Script geschrieben das genau das macht, würde aber gerne noch die jeweiligen Draftings mit umsetzen. Gruß CadV5UserR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 25. Sep. 2008 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für CadV5UserR
|
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 25. Sep. 2008 13:56 <-- editieren / zitieren --> Unities abgeben:
Hallo K.Siebert! Danke für den Link! Werde diesen Lösungsweg gehen. Zudem habe ich ein Script von denyo_1 gefunden, mit dem man Zeichnungen mit einen Part oder Produkt neu verlinken kann. Kann leider den Link im Moment nicht mehr finden. ( Die Suche funktioniert bei mir nicht mehr ???) Die Datei heißt >> Zeichnungslinks_V03.txt <<
Werde versuchen mein Problem damit zu lösen. Gruß CadV5UserR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 25. Sep. 2008 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für CadV5UserR
Bitte schön http://ww3.cad.de/foren/ubb/Forum134/HTML/002619.shtml#000022 Edit: Code eingefügt "Speicherpfad zum Part o. Product lesen und Zeichnung Speichern" Code: If TypeName(oDocument) = "DrawingDocument" Then'__________________Ansicht bestimmen_________________________________ Dim drawingDocument1 As Document Set drawingDocument1 = CATIA.ActiveDocument Dim drawingSheets1 As DrawingSheets Set drawingSheets1 = drawingDocument1.Sheets Dim drawingSheet1 As DrawingSheet Set drawingSheet1 = drawingSheets1.ActiveSheet Dim drawingViews1 As DrawingViews Set drawingViews1 = drawingSheet1.Views Dim drawingView1 As DrawingView Set drawingView1 = drawingViews1.ActiveView drawingView1.Activate '_______________________________________________________________ '__________________________Dateipad LESEN___________________________________________ Dateipfad = drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.Path 'FullName = drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.Fullname Name = drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.name '________________________________________________________________________________________ '__________________________________Datei endung Part Loeschen____________________________ LoeschEndung = Left(Name, InStrRev(Name, ".") - 1) 'LoeschEndung = Left( Name, Len( Name) -7 ) 'Right '__________________________________________________________________________________________ CATIA.DisplayFileAlerts = False Datei = Dateipfad & "\" & LoeschEndung & ".CATDrawing" CATIA.ActiveDocument.SaveAS Datei CATIA.ActiveDocument.Close
End if next
[Diese Nachricht wurde von K.Siebert am 25. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 29. Sep. 2008 07:41 <-- editieren / zitieren --> Unities abgeben:
|