WISH: Match Mac by Supporting Multiple Docs in Windows

Over in Cyberstrak plugin - Plug Ins - McNeel Forum, people are expressing strong interest in seeing new plugins support Mac as well as Windows.

Rather than threadjack over there:

I agree and will throw out one thing McNeel coud do which would facilitate this: standardize the doc/multidoc handling for Windows and Mac. That would make it much easier for small devs to support both platforms. As is, if your dev machine is Windows (as I expect it probably is for people in C#: Visual Studio is the best game in town) then you literally can’t test some of the most basic user flows on your dev machine: multiple documents open at the same time within the same process with the user bouncing around between models while using the plugin.

This has been brought up before and some people love separate processes for separate documents so only one crashes if a crash happens. Fine, allow but don’t require multiple docs to all be within the same Rhino session under Windows.

I’ve recategorized this, as this is a wish for Rhino.

Also, the plug-in you are referring to is written in C++. There is no Rhino C++ SDK for the Mac.

– Dale

This would be a massive refactoring of Rhino that would estimate at least a year’s worth of effort; probably more.

Thanks, I’d been privately hoping that was part of the goals for the Mac-Win convergence.

@dale Ok, thanks… thought I’d read the thread and his website pretty well and didn’t see mention of the toolchain for the new plugin.

I would much rather focus on going the other direction in the future with a single doc per subprocess model. All of this is future tripping though.

Ok, if it can solve this problem:
How, using RhinoCommon, do you work on/reference/compare multiple drawings?
Comparing files - Rhino / Rhino for Windows - McNeel Forum

The only thing I can think of is using RhinoInside to open multiple Rhinos, but then your code is outside Rhino when it really could/should be a plugin working with the user as they bounce between documents.

You can import, but that seems to silently change the guid’s on objects from one file which have the same guid as the other file.

I don’t think worksession quite handles this either (what’s available in RhinoCommon is really sparse).

What’s current recommended practice?

You could try opening two RhinoDoc instances as headless docs. This works on both Windows and Mac. If you want to go with an even lighter version of comparison File3dm instances could work.

I’ll give that a try, thanks- it covers my immediate use case (“compare my open file to that other file”).

In the general case, being able to easily search or act on “all open documents” is nice but I don’t yet have any specific flows for it.

If there are any specific “comparison” routines you would like that seem to be missing, let us know.

1 Like

Thanks! I’m feeling that one out as I go.

It seems like there may be some issues with Extrusions and componentindices but I’m seeing how far the Brep conversion can take me for those.