Autor
|
Thema: Index Drawing (1016 mal gelesen)
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 30. Sep. 2014 18:09 <-- editieren / zitieren --> Unities abgeben:
Hi Gemeinde, ich habe ein Makro geschrieben welches alle Sheets einer Drawing zentriert, alle Views deselektiert und dann auf die erste Seite springt. Das ganze funktioniert auch perfekt (müssen wir immer so dem Kunden übergeben). Nun ist nur das Problem das bei vielen Zeichnungen der Index nicht stimmt. Daher springt das Makro auf die Seite mit dem Index 1 aber nicht auf die tatsächliche Seite 1. Nun will ich den Index vorher neu vergeben und ich habe hier einen Anfang aber ich weiß nicht wie ich das auf die Seiten beziehe usw?! Kann mir vielleicht jemand helfen? Sub CATMain()
Set oDoc = CATIA.ActiveDocument Set oSheets = CATIA.ActiveDocument.DrawingRoot.Sheets Set oActiveSheet = oDoc.Drawingroot.ActiveSheet i = 1 to oSheets.Count(Das ist auf jeden Fall falsch!!!) For oIndex = 1 to oSheets.Count Set oSheet = oSheets.Item(oIndex) oSheet.Activate If oSheet Is oActiveSheet Then NewIndex = Replace(oIndex, i) End If Next End Sub
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: 30. Sep. 2014 19:04 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Ist bei den "Problemzeichungen" die Seite 1 ein Detail-Sheet? Kannst du eine Beispielzeichnung (vereinfacht) hochladen? Ich kann das Problem nicht nachstellen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 01. Okt. 2014 07:15 <-- editieren / zitieren --> Unities abgeben:
Hi, ganz genau weiß ich das jetzt nicht. Es war oft das erste Detailsheet das stimmt. Aber ich glaube das es auch oft irgendein Sheet war. Also unsere Zeichnungsvorlagen sind immer so aufgebaut das die erste 5 Sheets leer sind und dann auf den letzten Seiten die Detailsheets sind. Im Anhang eine Zeichnung Hier ein Script das die Namen der Sheets ausgibt. Mit dem erkennt man die Reihenfolge nach Index. Sub CATMain() Set oSheets = CATIA.ActiveDocument.Sheets sFilePath = CATIA.ActiveDocument.FullName + "_Sheets.txt" Set oFile = CATIA.FileSystem.CreateFile(sFilePath, True) Set oTextStream = oFile.OpenAsTextStream("ForWriting") For each oSheet in oSheets oTextStream.Write oSheet.Name +vbCrLf Next End Sub Vielen Dank schon einmal :-) 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: 01. Okt. 2014 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
Servus Ich bin davon ausgegangen dass die Sheets in der Sheets-Collection genauso angeordnet wie im Strukturbaum angeordnet, dein Beispiel zeigt aber ein anderes Verhalten. Ich hab mal testweise das "Blatt 000" weiter nach hinten geschoben, und dann wieder nach vorne, dann hat die Reihenfolge in der Collection gepasst. (muss man nicht verstehen) Du könntest: 1. Sheets mit "reorder_Sheets" richtig anordnen 2. entsprechendes Sheet über den Blattnamen aktivieren (zB Set oSheet = oSheets.item("Blatt 000") 3. mit einer Schleife erstes Sheet finden dass kein Detail-Sheet ist (ob dann das richtige Blatt kommt?) Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 06. Okt. 2014 08:47 <-- editieren / zitieren --> Unities abgeben:
Ok vielen Dank. Ich schau mal sobald ich wieder Zeit finde ob ich so etwas hiinbekomme. Die Anwahl über den Blattnamen kann ich allerdings nicht machen da die Blätte leider für jeden OEM anderst benannt sind. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 06. Okt. 2014 14:44 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Okt. 2014 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für InFlames
|
InFlames Mitglied techn. Productdesigner
Beiträge: 72 Registriert: 22.09.2014 Windows 7 Professional Catia V5R26
|
erstellt am: 06. Okt. 2014 14:57 <-- editieren / zitieren --> Unities abgeben:
Ja leider. Eigentlich für jeden OEM und dann auch immer einmal in deutsch und englisch jenachdem für welches Werk die Konstruktion ist... Das sind locker über 40 Varianten auch wenn die sich nicht arg unterscheiden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |