Autor
|
Thema: Geometrische Sets erstellen (528 mal gelesen)
|
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 05. Jul. 2006 10:11 <-- editieren / zitieren --> Unities abgeben:
Hallo. Ich versuche gerade verzweifelt geschachtelte Geometrische Sets zu erzeugen. Die Erzeugung von Sets funktioniert einwandfrei. Aber ich komme nicht auf die Lösung wie ich weitere Sets in einem erzeugten erstellen kann. Dann als 2. Problem: Named Views erstellen: ist dies möglich per Makro oder nicht? Vielen Dank! Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 05. Jul. 2006 11:42 <-- editieren / zitieren --> Unities abgeben: Nur für A_Kornmayer
moin, die Antwort auf deine erste Frage steht unter http://ww3.cad.de/foren/ubb/Forum137/HTML/001748.shtml#000002 (Geometrisches Set = HybridBody) und zur zweiten Frage: "Cameras" bzw. Viewer sind die Stichwörter für die Scripting-Hilfe. Cameras sind eine Property des Document-Objektes und Viewers (bzw. ActiveViewer) eine Property des Window-Objektes. Hier noch ein Code-Schnipsel zum Erzeugen und Überprüfen der Views:
Code: sub CATMain() CATIA.ActiveWindow.ActiveViewer.NewCamera set cams = CATIA.ActiveDocument.Cameras str = "Cameralist:" for i = 1 to cams.Count str = str & vblf & cams.Item(i).Name next msgbox str end sub
Zusätzlich zu den Standard-Ansichten müßte noch eine weitere (die gerade erzeugte) dazugekommen sein...cu Tapani ------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 05. Jul. 2006 11:49 <-- editieren / zitieren --> Unities abgeben:
Hi, DANKE!! Klappt bestens. Eine Frage noch: Kann man im Makro Sets, die bereits vorhanden sind ausklammern aus der Erzeugung? Es geht bei meinem Skript um die Erzeugung von Sets, die vorhanden sein MÜSSEN! Zum Teil sind sie das, aber halt nicht alle. Um mir und anderen die Arbeit zu ersparen möchte ich die erstellten lassen aber die bereits vorhandenen nicht. Kann man die Named Views / Cameras auch benennen? Selbiger Hintergrund: es werden uns Ansichten vorgeschrieben, die ich gleich erstellen lassen möchte.
DANKE
Andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 05. Jul. 2006 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für A_Kornmayer
moin, das mit den querverweisen muss ich noch mal üben :-) zu den Sets: Wenn du die HybridBodies-Collection hast, kannst du ja in einer Schleife durchgehen, und die Namen aller bereits vorhandenen HybidBody-Objekte mit deinen Pflicht-Sets vergleichen. so à la
Code: dim ar() pflichtnamen="Becks:Jever:Budwiser:Erdinger" set hybs = mypart.HybridBodies a = split,(pflichtnamen,":") for j = 1 to UBound(a) if hybs.Count > 0 then found = 0 for i = 1 to hybs.Count if a(j) = hybs.Item(i) then found = 1 end if next end if if found = 0 then 'create new hybrid body end if next
zu den Views: gar kein Problem:
Code: sub CATMain() set newcam = CATIA.ActiveWindow.ActiveViewer.NewCamera newcam.Name = "wasweissich" set cams = CATIA.ActiveDocument.Cameras str = "Cameralist:" for i = 1 to cams.Count str = str & vblf & cams.Item(i).Name next msgbox str end sub
CU Tapani ------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 06:52 <-- editieren / zitieren --> Unities abgeben:
|
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 07:44 <-- editieren / zitieren --> Unities abgeben:
|
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 06. Jul. 2006 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für A_Kornmayer
moin, a = split,(pflichtnamen,":") sorry, das erste Komma vor der ( muss natürlich weg!! An der Stelle bin ich wohl auf der Tastatur ausgerutscht! Und die Schleife über das entstandene Array muss bei 0 anfangen... for j = 0 to UBound(a) CU Tapani
------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 13:24 <-- editieren / zitieren --> Unities abgeben:
|
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 10. Jul. 2006 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für A_Kornmayer
moin, ich muss zugeben, das es immer wieder ein Fehler ist seinen Code nicht doch in Catia zu testen. Code: if a(j) = hybs.Item(i).Name then
muss es natürlich heissen! grr...hier nochmal als vollständiger code:
Code: sub CATMain() dim ar() set mypart = CATIA.ActiveDocument.Part pflichtnamen="Becks:Jever:Flens:Budwiser:Erdinger" set hybs = mypart.HybridBodies a = split(pflichtnamen,":") for j = 0 to UBound(a) if hybs.Count > 0 then found = 0 for i = 1 to hybs.Count if a(j) = hybs.Item(i).Name then found = 1 end if next end if if found = 0 then set newhb = mypart.HybridBodies.Add newhb.Name = a(j) end if next end sub
CU tapani
------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
A_Kornmayer Mitglied
Beiträge: 9 Registriert: 05.07.2006
|
erstellt am: 10. Jul. 2006 11:42 <-- editieren / zitieren --> Unities abgeben:
|