Autor
|
Thema: 3D_Space während Makrodurchlauf freigeben (356 mal gelesen)
|
s1640066 Mitglied Konstrukteur (Dipl. Ing.)
Beiträge: 24 Registriert: 29.06.2006
|
erstellt am: 13. Jul. 2006 13:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich lasse ein Makro (CATScript) in einem Part durchlaufen. Dem Anwender wird eine Line als Vektor gezeigt und er müsste mit ja oder Nein in einer MSgbox die Richtung wählen.. Das Problem ist, dass die 3D-Geometrie manchmal vor dem Durchlauf ungüstig im Raum liegt. Anwender müsste diese Geometrie frei drehen, damit er die Line bzw. den Vektor sehen kann... gibt es Lösung für diese Geschichte?? Danke!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 13. Jul. 2006 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für s1640066
Hallo s1640066, probiere es doch mit einer Selektion mittels "SelectElement3". Dabei soll der Anwender die Linie selektieren, wenn er die Richtung umkehren möchte oder die Selektion mit [ESC], "Undo" oder "Redo" abbrechen, wenn die Richtung korrekt ist. Hier mußt Du die Eingabe zwar noch auf Fehler prüfen (nur die eine Linie zulässig), doch das ist sicher nicht das Problem. mfg, Lusilnie
------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Digitalisierungsexperte (w/m/d) für datenbankgestützte Planungsprozesse | Als führendes europäisches Beratungs-, Planungs- und Projektmanagementunternehmen bietet Drees & Sommer Lösungen für erfolgreiche Gebäude, renditestarke Portfolios, leistungsfähige Infrastruktur und lebenswerte Städte. In interdisziplinären Teams unterstützen unsere über 5.100 Mitarbeiterinnen und Mitarbeiter an 59 internationalen Standorten Auftraggeber unterschiedlichster Branchen. Bei uns gestalten Sie Ihren individuellen Karriereweg aktiv mit.... | Anzeige ansehen | Maschinenbau |
|
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 13. Jul. 2006 18:09 <-- editieren / zitieren --> Unities abgeben: Nur für s1640066
moin, ja, die gibts: du schreibst das ganze nicht als catvbs-Makro, sondern als vbs-Makro. Das kann man dann außerhalb der CATIA starten (wenn's unbedingt sein muss kann man sich auch noch einen wrapper schreiben, der das ganze aus CATIA heraus startet) und dann blockiert das Script nicht die CATIA, so das man drehen kann, wie man lust hat. Das ganze sieht dann in etwas so aus:
Code: On Error Resume Next Set CATIA = GetObject("", "CATIA.Application") iErr = Err.Number If (iErr <> 0) Then On Error Goto 0 set CATIA = CreateObject("CATIA.Application") End If CATIA.Visible = True On Error Goto 0 ' do whatever needs to be done msgbox "alles roger?"
Der einzige schönheitsfehler ist, dass die msgbox im hintergrund verschwindet, sobald man in der CATIA herum-clicked. Aber das sollte dem Benutzer vermittelbar sein...Ach ja, der Wrapper:
Code: sub CATMain() CATIA.SystemService.ExecuteBackgroundProcessus("cscript.exe e:\Temp\bla.vbs") end sub
Funktioniert so natürlich erstmal nur unter Windows... 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 |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|