Dual-Screen-Display-Verwaltung in SW

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. :)

1 „Gefällt mir“

Hallo

 

Gleiches Problem, ich konnte keine Lösung finden!

 

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?

2 „Gefällt mir“

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.

 

@+

1 „Gefällt mir“

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...

1 „Gefällt mir“

Nach dem, was ich gerade gelesen habe, muss man mit der Alt-Taste und dem Mosaik-Symbol spielen

So ordnen Sie ein gekacheltes Dokumentfenster auf dem Bildschirm an:

  •  Drücken Sie Alt + klicken Sie auf Kachel links  , Kachel rechts  ,  Kachel oben  oder Kachel unten   in der Titelleiste des Dokumentfensters.

Aber es ist keine einfache Sache :-| 

1 „Gefällt mir“

@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?

2 „Gefällt mir“

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):

http://help.solidworks.com/2013/french/SolidWorks/sldworks/c_recording_playing_macros.htm

Und schauen Sie sich den Code an.

1 „Gefällt mir“

A priori sollten Sie verwenden (gemäß den VBA-APIs):

swApp.AnordnenWindows 1

   ' 0 = Kaskade

       ' 1 = Horizontal kacheln

       ' 2 = Vertikal kacheln

http://help.solidworks.com/2012/English/api/sldworksapi/Create_and_Arrange_Windows_Example_VB.htm

Der Code, den ich bekomme, ist wie folgt:

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 = 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! :)

2 „Gefällt mir“

Okay, Sie können also die Position und Größe kontrollieren

myModelView.RahmenHöhe = 500

Höhe des Fensters

myModelView.RahmenLinks = 100

'Abstand von links
myModelView.FrameState = swWindowNormal

»in Ihrem Falle nicht zu gebrauchen, glaube ich
myModelView.Rahmenaufsatz = 100

"Entfernung vom Gipfel
myModelView.Rahmenbreite = 500

Fensterbreite 

Siehe diesen Link:

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~FrameState.html

1 „Gefällt mir“

Sehen Sie sich diesen Link an, der einige interessante Leads enthält, einschließlich eines Makros:

https://forum.solidworks.com/message/202935

 

 

1 „Gefällt mir“

@Benoit.LF

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 ;-)

Gut!

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

Daraufhin habe ich jedem eine Tastenkombination zugewiesen: G für Links (anstelle der fabelhaften SW-Lupe!!)  und D für Rechts im Anschluss an die Hilfe http://help.solidworks.com/2012/French/SolidWorks/sldworks/t_assigning_macro_keyboard_shortcut.htm


macro_affichage_gauche_droite.zip
2 „Gefällt mir“

Hinweis: Wenn alle anderen geöffneten Dateien minimiert sind, können Sie einfach eine Kachel erstellen! Und weisen Sie es einer Tastenkombination zu!

1 „Gefällt mir“

@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.

2 „Gefällt mir“

Wussten Sie, dass Sie keine Punkte erhalten, wenn Sie eine Ihrer Antworten auswählen? ;-)

Ich denke, meine Antwort unten hat die Frage beantwortet: Es enthält alle

Informationen, die zur Steuerung des Fensters und darüber hinaus Ihres Makros benötigt werden, sind spezifisch

zu Ihrem Vorsatz, also helfen Sie nicht vielen Menschen!

Aber trotzdem vielen Dank für die 4 Punkte von +1!

Okay, Sie können also die Position und Größe kontrollieren

myModelView. RahmenHöhe = 500

Höhe des Fensters

myModelView. RahmenLinks = 100

'Abstand von links
myModelView. FrameState = swWindowNormal

»in Ihrem Falle nicht zu gebrauchen, glaube ich
myModelView. Rahmenaufsatz = 100

"Entfernung vom Gipfel
myModelView. Rahmenbreite = 500

Fensterbreite 

Siehe diesen Link:

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~FrameState.html

 

 

 

 

@Lucas hatte ich den Verdacht, dass Sie dadurch reagieren würden: Anbei das Gespräch, das ich mit @Clémentine zu diesem Thema geführt habe.

Für mich war Ihre Nachricht ein Hinweis, übrigens sehr nützlich, aber keine vollständige Antwort.

 

Ein Wort an die Weisen!


screenshot462.jpg
2 „Gefällt mir“

Keine Sorge, und ich habe etwas gelernt!

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!

Ein Wort an die Weisen!

Man kann es so nehmen. Zumindest wissen wir, warum Sie hier sind: die Jagd nach Punkten! Gegenseitige Hilfe und Austausch treten in den Hintergrund!

2 „Gefällt mir“

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!