Rhino WIP Feature: Markup

Rhino 9 SR0 2025-9-16 (Rhino WIP, 9.0.25259.12305, Git hash:master @ cfc61b65e8f64cbd756a79442e98838ea3799616)
License type: Commercial, 版本2025-09-16
License details: Stand-Alone
Expires on: 2025-10-31

Windows 11 (10.0.26100 SR0.0) or greater (Physical RAM: 32GB)
.NET 9.0.1

Computer platform: DESKTOP

Standard graphics configuration using OpenGL
Primary display: NVIDIA GeForce RTX 3070 Ti (NVidia) Memory: 8GB, Driver date: 8-15-2025 (M-D-Y). OpenGL(4.6.0 NVIDIA 581.08)

Accelerated graphics device with 4 adapter port(s)

  • Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 8-15-2025
Driver Version: 32.0.15.8108
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB

OpenBLAS: OpenBLAS 0.3.29 DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=64.

Rhino plugins that do not ship with Rhino
C:\Users\32918\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\keyshot_studio\1.8.1\KeyShotStudioRhino8Plugin.rhp “KeyShotStudioRhinoPlugin” 1.0.0.0
C:\ProgramData\McNeel\Rhinoceros\packages\9.0\Grasshopper_Gold_Tools\1.0\Grasshopper_Gold_Tools.rhp “Grasshopper_Gold_Tools” 2.0.0.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 9 WIP\Plug-ins\Commands.rhp “Commands” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 9 WIP\Plug-ins\UpdatesAndStatistics\UpdatesAndStatistics.rhp “UpdatesAndStatistics” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\RhinoRenderCycles.rhp “Rhino 渲染” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 9 WIP\Plug-ins\MeshCommands.rhp “MeshCommands” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\SectionTools.rhp “SectionTools”
C:\Program Files\Rhino 9 WIP\Plug-ins\RhinoCycles.rhp “RhinoCycles” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 9.0.25259.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 9 WIP\Plug-ins\Displacement.rhp “Displacement”

I found the problem: I initially closed the _markup command using ‘Esc’, and then tried to restart it in Layout. This doesn’t work unless the markup command has been properly confirmed. You can see this in the video.

(in the end of the Video) → I also find the screenshot-based method of saving a markup a bit misleading. It would be much nicer if we could “travel” into 3D space, enabling or disabling different markups while hovering around a 3D object and seeing the markups in their actual 3D context.

Also, the image used for the markup can block the view of the object behind it, which makes it harder to work with

Thanks for the feedback,

This is logged here:

RH-89328 Markup: Confuse with viewports

I don’t understand why this is a issue, markups aren’t meant to be drawn on cplanes they’re drawn on a plane aligned to a viewport. The way you’re using markups in the video above is pretty simplistic. Try loading a model, and choose a particular view to draw markups over. I think that’ll make more sense.

Agreed, we’re working on a different implementation that eliminates the need for picture frames

2 Likes

hi @mkarimi,

I like how Markup is evolving, but it seems a long to way to go to be useful for us.

Some important features:

  1. Can we have a global toggle to turn on/off markups?

2. On the markup panel, can you add a visibility and transparency column for each markup? Similar as we have with layers on the layer panel.

3. Can you also add a checkmark for done/resolve on that panel? What about a ”assigned to” next to the “created by”?

4. How do you edit a markup? I don’t find a way to do it.

5. Can we paste images from clipboard into a markup? for a reference image of a texture/color/type of geometric detail, etc.

6. Can I export all the markups as .pngs? So I can post them on a Basecamps post/Teams thread/Slack discussion/Figma Board? 99% of our clients do not use Rhino.

The most important of all:

I still want to open a Rhino file while sharing screens on a call and have multiple participants of the call adding their own markups. Or drawing on the same markup I’m drawing, like a shared whiteboard of what we are discussing to do next.

Thanks,

Gustavo

2 Likes

Yes, I think this is a very important point. Usually, I don’t mark up my own work. Most of the time, this is done by another person to provide a correction. So giving access of your File to an other Person to make Markup is a very important thing.

@mkarimi We had a very straightforward discussion about that here: Multi User Wishes - #13 by CallumSykes

I still wish for a direct integration of a multiuser function like @CallumSykes was developing for rhino It would also give markups a whole new perspective and much more. Right?

This has come up, I agree that markup picture frames can clutter the model and I have an idea for a better workflow that should address this. Working on it…

It’s logged here: RH-89341 transparency slider for markups

I’m hesitant to go that direction, treating this feature like a project management tool is guaranteed to blow the scope of the feature out of what we can deliver for V9. There may be opportunity to add that stuff in the future or for plugin developers to do that but I’m not going to consider it for V9.

It should already be possible, right now you can technically add any object while in markup mode, I can’t see why you can’t add a picture frame while in a markup

It’s a really good suggestion, we can make it easier to do so: RH-89557 Markup: picture tool

Definitely in the works: RH-88351 Save as (image format) option

1 Like

You can have your file in a network/cloud drive where others can open it and add markups to…

But the multiplayer / live sync functionality is not going to be part of this feature. I think that’s something for @CallumSykes or another talented plugin developer to look at.

1 Like

I will do a shot in the dark here but, couldn’t the worksession feature be used for that?

That together with an option to import markups from other files

So each user could have their “annotation file” linked to the main file with the worksession tool, and after the meeting is over the main user could import the markups from the annotation 3dms :stuck_out_tongue:

But idk if the worksession feature can be live updated.

Totally reasonable, any multi-user functionality it would need serious focus :slight_smile:

1 Like

I know this isn’t entirely in the model space of Rhino, but very close to what you are describing (and Miro is (ab)used at every major company I’m in touch with).

Commenting is possible directly in Speckle, although I’m not sure how to roundtrip back to Rhino (maybe through BCF), but AFAIK it is not possible to sketch in their model space – and I don’t really think it is necessary.

What I tend to do is make screenshots during the meeting (Teams), paste it into Affinity Photo/PS, and do the comments/versions there. They will end up in the meeting memo in an e-mail (almost always) or Notion (in some cases), depending on the project setup.

The people that have influence on decision making or make it themselves rarely have any design software installed and it is much faster to sketch as an overlay for me.

rhino_zh-cn_9.0.25294.06305

  1. The other windows only show the button for adjusting the stroke width. Can one see the lines and have an operation axis? If these are not visible, then what is the purpose of adjusting the stroke width?
  2. If the markup generates a PNG image, but I can’t see this image in any of my other views.
  3. Now, if you re-edit the markup, it will directly crash and exit the program.
  4. When the file size is large, the keypress will be very slow. It will take 1-2 minutes for the key to appear, and it will also be very laggy.

This shouldn’t happen. But I need help from you to reproduce this issue. Can you tell me step by step the actions you took that led to this? It’ll help me fix the issue once I can reproduce it

That is by design. You can export the image (using save option in the panel) or create a picture frame from it (using the bake option)

I also don’t see this happening. Can you help me reproduce this by providing step by step instructions?

Finally, it just crashed and shut down abruptly.

Allow me to point out frankly that if the function of markup is merely for screenshot and annotation purposes, then many screenshot software can already achieve the same result. The difference is that markup can store and edit the content. Other screenshot software is also available at present, such as Snipaste. And these software are very convenient. Markup has increased Rhino’s potential memory, but it does not substantially improve the efficiency and practicality of Rhino.

Thank you for the video, I was able to reproduce the issue and logged it here. i should be able to fix it easily
RH-90123 Markup selection control showing up in other viewport

Did you submit a crash report?

I have been using crayon for many of the functions in this markup tool. I like how it can integrate with grasshopper, exist as a separate from rhino tool, bakeable/erasable, ability to rapidly draw on auto cplanes has been wonderful (adjust your cplane grid for a scale ref that can’t be beat). It has been a wonderful sketch in scale tool.

I am hoping a few of these features could be included in a future release of Markup.

3 Likes

I’m curious,
why would you use rhino for this instead of your teleconferencing software?

Skype, google meets, teams, zoom, etc… all have this already. Why use rhino for that?

this feels like a feature creep that doesn’t solve a problem that hasn’t already been solved.

thoughts?

Hi Kyle,

We use some of those tools you mentioned, every single day. So we have now around 25 years of experience seeing how much they suck and they don’t seem to get any better.

More specifically:

Skype doesn’t exist anymore.

Google meets does not have any markup tools, none.

Teams ‘annotate’ feature is dreadful. Slow, crashes, and you cannot even take a screenshot if you are using markups! They are disabled, not recorded in screenshots

But instead of keep going on how bad and limited the existing tools are, let’s talk about the real potential:

As design teams grow more distributed, it’s time for Rhino to evolve from a modeling environment into a true collaborative studio.
Screen sharing kind of works—but it’s very limited. Tools like Zoom, Teams, or Meet weren’t built for design critique or multi-user annotation. Rhino can bridge that gap by introducing a native markup and collaboration layer that fits the way designers actually work.

Here’s how I see five levels of collaboration that Rhino could support:

  1. Break Out of the Meeting Box
    Real-time markup tools that work inside Rhino, independent of whatever meeting platform you’re using. No overlays, no latency—just fluid sketching and annotation done locally, on the model itself.

  2. The Digital Pin-Up Session.
    Multiple participants drop markups simultaneously during a short “open brainstorm” phase, then regroup to review together—mirroring a studio pin-up or critique.

  3. Choose Your Own Design Adventure
    Like Figma’s “Follow” feature: users can follow a presenter’s camera or explore their own view freely within the same shared model space. The way Figma does multi-user is really magical, there’s a seamless continuity between in-synch and async work.

  4. Whiteboard Time Travel
    After the meeting, team members re-enter the same Rhino file to add new notes, sketches, or viewpoints. Collaboration continues asynchronously.

  5. This Meeting Could Have Been a Rhino Markup
    A fully asynchronous mode where all discussion, annotation, and review happen directly in the Rhino file—no live meeting required.

Each of these layers keeps designers in their flow, removes dependency on external tools, and turns Rhino into a living collaborative workspace rather than a static modeling program.

I see this as a natural step in the evolution of digital craft—extending Rhino from being where we model, to being where we collaborate.

The current meeting apps annotation tools remind me of how the people in my town work: one guys holds the tool and works, the other 5 around him are just watching.

Thoughts?

G

7 Likes

all good points, but I feel like it’s a vast over reach for the targets of markups as they sit.

this is one of the fundamental development hurdles we have had here for this feature, specifically the difference between what a “markup” means to an architect, and what a “markup, or sketchover” means to an industrial designer.

I have learned thru this process, it’s night and day.

markups to an architect are a specific task that is directly related to managing drawings and layouts.

to Industrial designers, ( you and me) , it’s ideation, brainstorming, collaboration and concept refinement.

the two tasks are quite different and have only a very small amount of crossover.

I am certainly trying to get things added in for designers, as those are “my people”, however the dev team is more focused on the architecture market, as Rhino is still at it’s heart, an architecture software.
(our user base is overwhelmingly occupied by architects, like… it’s not even close to other markets)

so what does this mean?

your ideas are great…

they are just not going to happen for markups, and are likely an entirely other feature altogether. For instance, Crash was a result of a hackathon (made by our own @callum ) and likely has a much richer potential to do what you are describing above, possibly even leveraging the work done for markups.

But, Markups are in the end very likely to end up as a useful tool specifically for architects to markup layout and drawings, simply because they pay like 80% of the bills here.

The side benefit for you and me will be the ability to share models and markups with other ID users- and this will hopefully be a better workflow than a sketch over in photoshop or sketchbook pro, or the MS snipping tool for that matter. (which is honestly what I used before markups)

That is likely not the answer you wanted and I get that… however… I see a longer horizon where we may be able to rattle @CallumSykes desk a bit and see if he’s willing to start typing on crash again with your suggestions in consideration. He’s delightful, very clever, and really likes making cool stuff…

and to be clear, what you are suggesting would be very cool.

2 Likes