Ich habe 2 Bildschirme auf meinem Computer. Wenn ich SolidWorks auf diesen 2 Bildschirmen einsetze, habe ich immer separate Elemente auf den 2, nie ein Straddle-Display. Aber wenn ich zum Beispiel eine Baugruppe auf dem linken Bildschirm habe, zeige ich auf eines ihrer Teile und öffne sie, sie erscheint auf den 2 Bildschirmen, und ich muss ihr "sagen", auf welchem Bildschirm sie angezeigt werden soll. Es ist sehr schmerzhaft, höflich zu bleiben, da Sie die Manipulation jedes Mal vornehmen müssen, wenn Sie eine Datei öffnen.
Die Frage ist also folgende: Können wir ihm sagen, dass es sich automatisch auf einem der 2 Bildschirme (links oder rechts) öffnet, oder sogar, dass es sich direkt auf dem Bildschirm öffnet, auf dem ich war?
Ich bin auf SW13
Vielen Dank im Voraus
PS: Ich würde eine echte Antwort bevorzugen als Internetlinks oder Tutorials. Es sei denn, Sie können es nicht schneiden! Vielen Dank für Ihr Verständnis. :)
Zu Ihrer Information, wussten Sie, dass es oben rechts in jedem aktiven SolidWorks Fenster (neben dem Kreuz zum Schließen) zwei kleine Schaltflächen gibt, um dieses Fenster direkt nach rechts oder links zu schalten?
Wie bei Lucas mit dem Bi-Screen seit SW2013 befinden sich neben dem Kreuz zum Schließen der Datei Verwaltungssymbole. Vielleicht sollten wir dort suchen.
Und um 2 Makros? Einen zum Schicken nach links und den anderen nach rechts. Glaubst du, dass es einen Weg gibt? Koppeln Sie das mit einer Tastenkombination...
@XabiB sehe ich nicht, welchen Unterschied es macht, Alt zu drücken? Können Sie mir mehr erzählen?
Ich probiere Makros parallel aus, ich habe sie nicht gelernt, aber es funktioniert nicht großartig :/ Es verschiebt das Fenster nur teilweise. Vielleicht liegt es auch daran, dass ich 2 Bildschirme in unterschiedlichen Größen und Auflösungen habe?
Vielleicht ist es mit einem Makro möglich, aber ich bin mir nicht sicher, weil es ein bisschen wie eine "spezielle" Schaltfläche ist.
Sie können versuchen, ein Makro durch Training aufzuzeichnen, und während der Aufnahme nur auf die Schaltfläche klicken (einmal rechts und einmal links versuchen):
Teil als Objekt dimmen Dim boolstatus als boolescher Wert Dim longstatus As Long, longwarnings As Long
Sub main()
swApp = _ setzen Anwendung.SldWorks
Set Part = swApp.ActiveDoc Set Part = swApp.ActiveDoc myModelView als Objekt dimmen Festlegen von myModelView = Part.ActiveView myModelView.FrameLeft = 3 myModelView.FrameTop = 24 Festlegen von myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowNormal Ende Sub
Ich fühle mich bei dem Thema nicht besonders wohl, es ist ein paar Jahre her, dass ich Makrelen gegessen habe, und es war in Excel! :)
Um Ihre Frage zu beantworten, ich habe gerade getestet und am Ende ändert es nur die Position und die Größe des Fensters in Richtung des gewählten Bildschirms (je nach Mosaikklick)...
Also nutzlos für Sie, vor allem, wenn Sie 20 Dateien neu positionieren müssen ;-)
Also habe ich Makros durchlaufen (danke für Ihre Hilfe @Lucas). In diesem Fall 2: Left.swp und Right.swp. Mein linker Bildschirm ist der Hauptbildschirm und der größte, der linke das zweite, kleinere und 4/3-Format.
Also gebe ich Ihnen den Code + die Makros in den angehängten Dateien
Links.swp
Dimmen swApp als Objekt
Teil als Objekt dimmen Dim boolstatus als boolescher Wert Dim longstatus As Long, longwarnings As Long
Sub main()
swApp = _ setzen Anwendung.SldWorks
Set Part = swApp.ActiveDoc Set Part = swApp.ActiveDoc myModelView als Objekt dimmen Festlegen von myModelView = Part.ActiveView myModelView.FrameLeft = 0 »Verkeilen Sie das Fenster oben myModelView.FrameTop = 0 »Keilen Sie das Fenster links an myModelView.FrameWidth = 1910 Die Breite des Fensters, die entsprechend der Auflösung des linken Bildschirms angepasst werden muss myModelView.FrameHeight = 855 Die Höhe des Fensters, die entsprechend der Auflösung des linken Bildschirms angepasst werden muss Festlegen von myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowNormal Ende Sub
und Right.swp
Dimmen swApp als Objekt
Teil als Objekt dimmen Dim boolstatus als boolescher Wert Dim longstatus As Long, longwarnings As Long
Sub main()
swApp = _ setzen Anwendung.SldWorks
Set Part = swApp.ActiveDoc Set Part = swApp.ActiveDoc myModelView als Objekt dimmen Festlegen von myModelView = Part.ActiveView myModelView.FrameLeft = 1912 »Verkeilen Sie das Fenster oben myModelView.FrameTop = 0 »Keilen Sie das Fenster links an myModelView.FrameWidth = 1273 Die Breite des Fensters, die entsprechend der Auflösung des linken Bildschirms angepasst werden muss myModelView.FrameHeight = 855 Die Höhe des Fensters, die entsprechend der Auflösung des linken Bildschirms angepasst werden muss Festlegen von myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowNormal Ende Sub
@Lucas funktioniert es nicht wie gewünscht, in dem Beispiel, das ich in der Frage gegeben habe, wird das Mosaik auf dem Bildschirm erstellt, auf dem sich die Montage befindet!
Aber ich habe bereits Verknüpfungen, um horizontale oder vertikale Mosaike (H und V) zu erstellen.
Danach ist es eine Frage des Standpunkts, aber meine Teilantwort gibt genau die Antwort, die sich jemand wünschen würde, der ein Makro erstellt. Ihr Makro funktioniert beispielsweise nicht auf meinem PC, weil ich nicht die gleichen Bildschirme habe.
Ich bin dafür, dass Leute versuchen, ihre eigenen Makros zu erstellen, und ich mag es nicht, die Arbeit zu verschlingen!
VBA ist sehr leistungsfähig und sehr nützlich für viele Software! Es ist also sehr gut, anzufangen, aber ein vorgefertigter Code wird Ihnen nicht helfen, Ihre eigenen Makros zu schreiben!
Aber hey, ich weiß für Ihre nächsten Fragen zu Makros, dass ich mir nicht die Zeit nehmen werde, sie zu beantworten!
Ich würde das nicht so sehen: Wir helfen Menschen, und es gibt ein System, um diejenigen zu belohnen, die am meisten investiert haben. Das ist ein interessantes Plus. Aber warum sollte ich mir Zeit nehmen, wenn ich weiß, dass ich nie ein vollständiges Makro schreiben werde, weil ich denke, dass das den Leuten nicht hilft!