MDI Support for Windows SketchUp Pro Users

Good Afternoon, SketchUp Community! My name is Cassandra and I’m a member of the User Experience Team at SketchUp.

I’m currently conducting some research into MDI support for Windows SU Pro users and I’m starting off by gathering user’s insights and opinions on this topic. I would love to gather any insights from those in the forum. MDI stands for Multi-Document Interface, meaning Windows users would have a similar experience to Mac users of being able to open and work on more than one SketchUp file at a time with ease.

To get these conversations started, let me know if you would be interested in seeing MDI Support implemented for Windows SU Pro users ( and tell us why you chose that answer by replying to this post):

Would you like to have MDI Support for Windows SU Pro users?
  • Yes
  • No
  • What is MDI Support?
0 voters

Thank you in advance for your input and if you have any other thoughts you would like to provide, please feel free to reply to this post or dm me!

1 Like

Opinion

Most other major MS Windows document based applications support MDI interfaces. The Mac edition of SketchUp has for quite some time.

One of the challenges with writing extensions for SketchUp has been the difference in writing for the Mac MDI interface and the Windows single document environment. If both platforms where MDI capable, then this will simplify extension code at least a bit.

there are times when I am working on model and I would like something from another model so I find myself opening and closing multiple SU files to get what i need. Sometimes the project is big enough that there is a need to split the files so a second tabbed interface would be nice. Current work around is to open another SU session but that chews up resources. I use MDI in Word, Excel, Autodesk applications all the time.

Yeah I like the way sketchup works on Mac using tabs with different files on a single sketchup window, it’s also easier and faster to create a new file, just click on the + button, on windows takes more time for a new file to get opened.

So, instead of opening 3 Sketchup, opening one with 3 project, like on mac.

yes. sure.


I’m guessing this is part of the “bringing closer mac and pc versions using QT within a few years” ? uh ? no ? maybe? :smiley:

1 Like

I am for this as long as it is something like AutoCAD has with tabs for each file that is open.

1 Like

This brings up an interesting conundrum.

How should the interface differentiate between document (model) tabs and scene tabs ?

To me, it is obvious that since scenes belong to a model document, each document window should have it’s own scene tab row. Those models without scenes would not have scene tabs displayed until any scenes were to be created.

But this also means that when one of the document windows is maximized to fill the application workspace, then we will see two (2) tab rows, … the document tabs directly above the maximized document’s scene tabs.

Perhaps the design of the tabs could indicate the difference?
Perhaps document tabs have a different icon than the scene tabs?

2 Likes

SketchUp also already does this on Mac. It would be worth checking that for one version of how MDI could look. The bar with the scene tabs in it disappears if the active model has no scenes.

wait, it does ? mine does not, it remains in separate windows.

how did you get that result ?

found it. window / show tabs then drag opened files to the tabs.

Never used it that way, always as indépendant modelling windows sharing toolbars and panels. The fact that you have to manually add the tabs here (by default, at least here, opening existing or new files open a new window). feels SO WEIRD to have both my files in the same window :sweat_smile:

Would MDI use separate cores for each instance

1 Like

It doesn’t on Mac. That may be necessary because there is only one input event loop anyway?

hm, I newer asked, does opening multiple SU on PC right now uses a separate core for each ?

because if multitreading in 3D softwares is not an option, at least threading different files / instances on different CPU would help a bit when working multiple files.

and if that’s the case, the opposite question would be worth asking, should we drop MDI support on the mac version when it finally get the QT treatment, if it means a multi-file on multi-thread situation.

2 Likes

So on a Mac if you have a crash does it affect both instances

Yes, a crash takes down the entire SketchUp app. Alas, having multiple document windows does not imply having multiple instances of SketchUp running nor multiple independent edit threads running.

There is a command line way to launch a second instance of SketchUp on Mac (see open -n), allowing two models to each have its own process. I don’t think this is exposed anywhere in the standard Mac UI though because it violates the MDI paradigm.

1 Like

One at the top of screen and one at the bottom. This is how AutoCAD does it. The top is open drawings and the bottom is model and paper space tabs. Yes the bottom tabs change for which file you have “in focus”. Pretty easy to understand.

I would prefer to be able to assign instances of SU on different screens, in their own environment (and independent of each other in the case of bugsplat) than have everything in a single tabbed environment.

If User Experience is the goal, allowing scene tabs to nest/group like Outliner and Tags, would be far more beneficial for having more critical information/navigation on a single screen.

Oh yes, that is true. Been many years since I used ACAD.

This also would be a nice preference for users to allow the scene tabs to be along the bottom of the document window.

1 Like

I like the way that Notepad++ code editor handles this. If I want one of the files I have open in the main MDI instance, to be moved to another instance (even on my other display,) all I need to do is grab it by the tab and then drag and drop it outside the current instance. It is opened in a new instance of Notepad++.

If I want it back in the MDI instance, same protocol only in reverse. Grab it’s tab, drag it back in and drop it on the tab set where I want it.

The SketchUp core itself is currently written so that there is only one active model. Extensions using the APIs must also be written to honor this.

A user could likely only manually edit one model at a time. But having multiple open models in the same process makes us wonder if it might be beneficial for say an extension to be cleaning up or rendering or de-triangulating one of the background models.
The core and the APIs would need to be specifically changed to allow this. (In the past we were rejected from having official access to the set of open models in the API because acting upon a non-active model would most likely crash SketchUp or be applied to the active model corrupting it.)

This happens in other MDI applications as well. I’ve learned to quickly save any edits I want to keep before switching to edit another document.

It brings up musing about what happens with backups and recovered models in case of a crash.