Aufgabenstellung und erste Lösungen
Wir haben eine grössere Lieferung von Catia V4 Modellen erhalten, in den Modellen ist zum einen eine Zusammenbaustruktur und alle Zeichnungen Blatt 001 - 999 in jeweils einem Detail Workspace enthalten.
Mein Ziel ist es, aus den Modellen Automatisiert die Details zu selektieren, je nach Detailname in Pdf Datei zu Plotten bzw. die Zusammenbaustruktur auszulesen.
Bisher bin Ich daran gescheitert die Details des V4 Modells Automatisiert zu selektieren.
D.h. die Funktion des interaktiven Kommandos: ChangeWorkspace mit VB nachzubilden und die Elemente zu Selektieren.
Prinzip:
(entschuldigt bitte meinen SyntaxMix for Runaways aus Umgangssprache und VB (hab den Quelltext im moment nicht zu Hand)
Variante1:
Do
Wenn Liste Ende dann Exit Do
Model aus Liste lesen
Catia Modell Laden
Do
Skript anhalten ???????????????????????????
Benutzer Selektiert interaktiv Blatt 001 - Blatt 999 oder Detail #.....
Skript fortsetzen ???????????????????????
Wenn Selektion "#..... Verarbeitung Zusammenbaustruktur
Wenn Selektion "Blatt 001 - Blatt 999 Verarbeitung Drucken
Wenn Selektion "*Master Exit Do
Loop
Loop
keine Lösung zum Skript anhalten und fortsetzen gefunden,
deshalb Variante2:
Do
Wenn Liste Ende dann Exit Do
Model aus Liste lesen
Catia Modell Laden
'Bearbeitung der Zusammenbaustruktur
DetailName = "#......
InputObjectType(0) = "CATBaseDispatch" oder "AnyObject"
mit Selektion.Search("Name=" & DetailName)
und Selektion.SelectElement3(InputObjectType,DetailName & "......
Status und SelektionName absichern
Wenn OK dann Weiterverarbeitung der Selektion: Zusammenbaustruktur nach V5 kopieren.....
'Bearbeitung der Zeichnungen (V4 VU's)
For Blatt = 1 bis Blatt 999
DetailName = "Blatt 001"
mit Selektion.Search("Name=" & DetailName)
########## Problem Anfang:
InputObjectType(0) = "AnyObject"
und Selektion.SelectElement3(InputObjectType,DetailName & "......
Ich habe für InputObjectType keinen passenden Wert gefunden, um das Detail zu selektieren zu können !
Interaktiv d.h. ohne SelectElement3 geht's
############## Workaround:
alle 12 Werte von:
enum CATSelectionFilter {
ZeroDim,
MonoDim,
MonoDimInfinite,
RectilinearMonoDim,
RectilinearMonoDimInfinite,
BiDim,
BiDimInfinite,
PlanarBiDim,
PlanarBiDimInfinite,
CylindricalBiDim,
TriDim
}
als InputObjectType definieren, dann erscheinen 2 Zusätzliche Symbole im Selektion Panel mit denen eine Selektion
möglich ist.
########### Problem Ende
Status und SelektionName absichern
Wenn nicht OK Exit For
Wenn OK dann Weiterverarbeitung der Selektion: Blatt mit Print in Pdf Datei schreiben
Next
Loop
Mit dem beschriebenen Workaround läufts, aber mit dem Nachteil das jedes Detail Selektiert werden muss.
Weitere Fragen:
1. gibt es eine Lösung in VB wie: ChangeWorkspace in der V4 Workbench ?
2. Bisher wird nur das Aktive Window geplottet, wie krieg Ich das hin, das nur die Selektierten Elemente genau auf einem PlotSheet geplottet werden ?
3. gibt es einen VB Befehl für "Fit All in" ?
4. Kann man die CatSettings: * On UNIX: export MDL_WSP_NB=number of tab pages
mit VB Setzen während einer Sitzung ? bleibt der Wert erhalten ?
mit besten Dank für eure Bemühungen im voraus
Modeler
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP