Ik heb 2 schermen op mijn computer. Als ik SolidWorks op deze 2 schermen inzet, heb ik altijd losse elementen op de 2, nooit een straddle display. Maar als ik bijvoorbeeld een assemblage op het linkerscherm heb, wijs ik een van de onderdelen aan en open ik het, het verschijnt op de 2 schermen en ik moet het gaan "vertellen" op welk scherm ik moet weergeven. Het is erg pijnlijk om beleefd te blijven, omdat je elke keer dat je een bestand opent de manipulatie moet uitvoeren.
De vraag is dus de volgende: kunnen we zeggen dat het automatisch opent op een van de 2 schermen (links of rechts), of zelfs dat het direct opent in het scherm waar ik was?
Ik zit op SW13
Bij voorbaat dank
PS: Ik zou liever een echt antwoord dan internetlinks of tutorials. Tenzij je het niet kunt knippen! Bedankt voor uw begrip. :)
Ter info, weet je dat er twee kleine knoppen rechtsboven in elk actief SolidWorks-venster zijn (naast het kruis om te sluiten), om dit venster direct naar rechts of links te schakelen?
Net als Lucas met de bi-screen sinds SW2013 staan er beheerpictogrammen naast het kruis voor het sluiten van bestanden. Misschien moeten we daar eens naar kijken.
@XabiB ik niet zie wat voor verschil het maakt om op Alt te drukken? Kun je me meer vertellen?
Ik probeer macro's parallel, ik heb ze niet geleerd, maar het werkt niet geweldig :/ Het verschuift het raam slechts gedeeltelijk. Misschien is het ook te wijten aan het feit dat ik 2 schermen van verschillende formaten en resoluties heb ?
Deel dimmen als object Dim boolstatus als Booleaanse Dim longstatus As Long, longwarnings As Long
Sub hoofd()
Stel swApp in = _ Toepassing.SldWorks
Deel instellen = swApp.ActiveDoc Deel instellen = swApp.ActiveDoc myModelView dimmen als object Stel myModelView = Deel.ActiveView in myModelView.FrameLeft = 3 myModelView.FrameTop = 24 Stel myModelView = Deel.ActiveView in myModelView.FrameState = swWindowState_e.swWindowNormal Einde Sub
Ik voel me niet bijzonder op mijn gemak over het onderwerp, het is een paar jaar geleden dat ik makreel heb gegeten, en het was in Excel! :)
Om je vraag te beantwoorden, ik heb het net getest en uiteindelijk verandert het alleen de positie en de grootte van het venster in de richting van het gekozen scherm (volgens mozaïekklik)...
Dus nutteloos voor jou, vooral als je 20 bestanden moet verplaatsen ;-)
Dus ik heb macro's doorgenomen (bedankt voor je hulp @Lucas). In dit geval 2: Links.swp en Rechts.swp. Mijn linkerscherm is het belangrijkste en grootste, het linker het secundaire, kleinere en 4/3 formaat.
Dus ik geef je de code + de macro's in bijgevoegde bestanden
Links.swp
Dim swApp als object
Deel dimmen als object Dim boolstatus als Booleaanse Dim longstatus As Long, longwarnings As Long
Sub hoofd()
Stel swApp in = _ Toepassing.SldWorks
Deel instellen = swApp.ActiveDoc Deel instellen = swApp.ActiveDoc myModelView dimmen als object Stel myModelView = Deel.ActiveView in myModelView.FrameLeft = 0 'Klem het raam naar boven vast myModelView.FrameTop = 0 'Wig het raam aan de linkerkant myModelView.FrameWidth = 1910 De breedte van het venster, aan te passen aan de resolutie van het linkerscherm myModelView.FrameHoogte = 855 De hoogte van het venster, aan te passen aan de resolutie van het linkerscherm Stel myModelView = Deel.ActiveView in myModelView.FrameState = swWindowState_e.swWindowNormal Einde Sub
en Right.swp
Dim swApp als object
Deel dimmen als object Dim boolstatus als Booleaanse Dim longstatus As Long, longwarnings As Long
Sub hoofd()
Stel swApp in = _ Toepassing.SldWorks
Deel instellen = swApp.ActiveDoc Deel instellen = swApp.ActiveDoc myModelView dimmen als object Stel myModelView = Deel.ActiveView in myModelView.FrameLeft = 1912 'Klem het raam naar boven vast myModelView.FrameTop = 0 'Wig het raam aan de linkerkant myModelView.FrameWidth = 1273 De breedte van het venster, aan te passen aan de resolutie van het linkerscherm myModelView.FrameHoogte = 855 De hoogte van het venster, aan te passen aan de resolutie van het linkerscherm Stel myModelView = Deel.ActiveView in myModelView.FrameState = swWindowState_e.swWindowNormal Einde Sub
Daarna is het een kwestie van standpunt, maar mijn gedeeltelijke antwoord geeft precies het antwoord dat iemand die een macro maakt zou willen. Je macro werkt bijvoorbeeld niet op mijn pc omdat ik niet dezelfde schermen heb.
Ik ben er voorstander van dat mensen hun eigen macro's proberen te maken en ik hou er niet van om het werk op te kauwen!
VBA is zeer krachtig en zeer nuttig voor veel software! Het is dus heel goed om te beginnen, maar het hebben van een kant-en-klare code gaat je niet helpen om je eigen macro's te schrijven!
Maar goed, ik weet voor je volgende vragen over macro's dat ik niet de tijd zal nemen om ze te beantwoorden!
Ik zou het niet zo zien: we helpen mensen, en er is een systeem om degenen die het meest hebben geïnvesteerd te belonen. Het is een interessant pluspunt. Maar waarom zou ik de tijd nemen om te weten dat ik nooit een volledige macro zal schrijven, omdat ik denk dat dat mensen niet helpt!