Rhino 8 Feature: PushPull Workflow

Hi, I checked the topic about something I think would be nice about PushPull but it seems like haven’t discussed here yet. PushPull command doesn’t have more details in the menu and it is not possible to switch modes with “hold alt”, “hold ctrl” for different modes. It has an advantage against normal extrude commands or gumball applications as it can divide surfaces with lines without any extra command applied. But after using PushPull, the applied surface is connected to the main surface or polysurface. Like in gumball extrusion, it would be great to have an Alt option to separate new extrusion from the main object. This sounds like it is not the real purpose of this command but I think in such way PushPull can work as a shortcut command instead of a few different commands. Or maybe for this, there can be an existing method that I don’t know yet :S just brainstorming :slight_smile:

PushPull in SkechUp works like this as well. Holding the modifier key “adds” the created geometry to the source geometry (creating a face between the two) where as the default behavior “extends” the surface and the resulting geometry is one closed object

you can use the extrude dot on the gumball if you want to keep the new geometry unmerged.

I know this one. But it is not the same thing. PP gives the opportunity to make separation without any command but when you extrude they become again a single polysurface. Later maybe I can extract them but again it becomes more steps and loses the logic. While with gumball either we have to make separation on the surface in advance or we draw different closed curves, or many different methods, but all need multiple steps. If someday sub object selection can recognize the lines on a surface and allows to select what is between this lines then it can be a real shortcut. And this is actually what PP does now but it has another weakness. That’s why I say PushPull is a nice shortcut but still a can be better. In architectural projects, we repeat this workflow 50 times a day so knowing that, a command can make things faster is a good feeling in all cases :slight_smile:

Yes, I am not a fan of SketchUp at all. Already quit years ago but I should admit it has a few really nice tricks that our beloved rhino still not offering. But the rest of Sketchup is such a flop for me this as well I have to say :joy:

The smartest way to have multiple variants for push/pull, offset and extrude needs just 3 steps to make Rhino users happy:

  1. Start dragging a pre-selected face or a few faces;
  2. Press the Tab key numerous times to cycle between different modes (sort of what the Tab key does with the ! _Move command);
  3. Follow that with a glass of your favourite drink.

This is also the easiest and most convenient way to avoid the need to remember countless of key combinations to do the desired variant of push/pull, offset or extrude. Just have a single universal tool that combines the functionality of those commands and change its behaviour dynamically by pressing the Tab key.

:100:
I evaluated sketchup back in like 2008’er or 2009’er, and I was so non-impressed that I’ve never touched it since :rofl: Anytime someone mentions sketchup I’m jus like :man_facepalming:t4:

tab is occupied with box/smooth for subd, but I get what you are saying, one key to rule them all.

While using the Tab key as a modifier for the ! _Move command, it will not affect the SubD objects, which is a smart programming. The same could be done while the new combined “Multi-sculpt” tool (push/pull, offset and extrude) is active. :wink:

I like that idea !
That would be a command context dependent key
Might be a great idea for other commands situations as well, it should have some visual feedback like a changing symbol at the object .

Yes, it should evoke some context-specific icon or text information for a brief moment as a confirmation for the changed function of the running command. Usually this is accompanied by a unique pointer or a tiny icon next to the pointer. Rhino also uses unique pointers, such like those for the ! _DragMode command. I think that this particular approach will work wonderfully well with the future “Multi-sculpt” tool, except that the quick switching between push/pull, extrude and offset will be done via the Tab key. It simply needs unique pointer icons for each of these functions.

Move - UVW

Move - View

Move - World

Move - Control polygon

that would be great !

McNeel ? :wink:

what seems like an “easy” solution becomes not so easy when you dig into it. every. single. time.

what happens when you have a subd model and also you have a mode that requires the tab key?

BUT, you want the subd to toggle to box or smooth mode as well… gotta go to that mode, switch then go back to the other mode, do the thing, then go to that mode to do the other thing…

“it just knows” or “well…it just takes some programming” is easy to say, and possibly correct, but only until someone sits down and susses out all the options of how that actually plays out can we tell the extent of how one change affects not only Rhino, but also the thousands of plugins that rely on Rhino.

That said, I have personally been a big fan of context specific tasking and key assignment. But it makes it hard to teach, and can be hard to learn (one key does many different things). Does that make it a bad idea? IMO, no… but very careful consideration is required indeed. I also agree that any mode needs to be called out with a cursor icon… sadly a battle I have lost a few times already.

The philosophy here is always to pursue the simplest solution and that often gets misinterpreted as “lazy” but there is an intentional resistance to adding complexity . I’m not saying it won’t ever happen, I’m just saying it’ll take a pretty big groundswell of support from the users to get a change like that made.

Lets get the tools out in the wild, make sure they are doing what they are supposed to do now correctly and are stable, then let’s continue the conversation on how they can grow and develop.

Much like SubD these tools are now part of the program and will grow and develop as users needs dictate.

Simply build some SubD primitive, select it and run the ! _Move command. Then press the Tab key. You will notice that upon that moment Rhino is smart enough to switch between the 3 different modes of _Move and keep the "Toggle SubD display" intact. Once the _Move command is ended, Tab is capable to switch the “Toggle SubD display” again. Simple and effective. :slight_smile:

It’s already done with the _Move` command and proven to work flawlessly, so it should be equally possible to do so with another tool, as well. The key element here is that the Tab key affects the “Toggle SubD display” only if there is no other active command.


As for the context-specific cursor icons, the ! _DragMode icons next to the arrow cursor prove that this idea is great and should be used on other tools, as well. I won’t mind if there is a small “R” next to the cursor when I run the ! _Radius command, or a small “D” when I run the “! _Diameter” command. Just a quick example.

“Rhino options > Modeling aids > Cursor ToolTips > Command prompt” already implements some context-specific prompts, even though they are based on a text field next to the arrow cursor, instead of tiny icons.

The main cursor already changes entirely upon running certain commands, such like while building, moving, rotating or scaling an object. The arrow transforms into a crosshair gun sight then.

I’m not disagreeing with you… But these tools are very new and we need to let them settle in the user community at large before we go revamping the ui for them. It’s absolutely possible that we do this… it is also absolutely possible that something else reveals itself that we didn’t expect and that leads us to another solution.

we tend to move slow and try to not break stuff when folks have their livelihood on the line, as many do with Rhino. I know this is a common frustration and complaint about us, but I can, with a fair amount of certainty, say that is unlikely to change.

I guess that the easiest way to figure out if the Rhino users will be happy with the proposed idea, is to implement it into a future Rhino 8 WIP and then see what are the user opinions. :slight_smile: It’s worth noting that changing between the different modes via the Tab key only happens while the future “Multi-sculpt” command is active, so people will still have the freedom to run the “Push/pull” or “Extrude” or “Offset” command individually. The proposed “Multi-sculpt” command is a combination between those that offers their unique capabilities into a single tool.

I 100% understand and like your ideas. A bit of time will tell how this will develop. I promise you I’m watching this space and will continue the conversation about how we can improve.

I made my living using Sketchup from 2004-2018. As an art trained designer, I never needed to know what G1,2,3,4,5, geometry was. I Pushed/pulled my way to snappable guidelines since 2004, and everything I designed got built. Made Rhino my main tool when SU went to subscription. Maybe with RH8 I’ll be as fast as I was with SU.

What does SU currently have that R4 couldn’t do?

I think your question from my points that SU was extremely easy to use and required no knowledge of computer modeling lexicon/math, etc. (not sure in price vs RH4) People easily go from pencils to SU. e.g. I never took a SU class. Totally self-taught and lots of people paid me for the work I did using it.

I bought Rhino in 2015. I took two years before I could actually use it in a work situation, and that was after 15 years of using AC and lots of help from Pascal and the people here. (maybe even you?) Perhaps I’m truly a moron? :laughing:

Let me give you an example. Take any worker off the street and ask them “what is a curve.” Do you think you’ll get a straight line?
Yes! On my first day trying to use Rhino I shouted in frustration, “I don’t want fing a curve, I want a fing LINE tool.” Again, moron?

Moreover, as I quickly learned SU, I started helping others who had very little computer literacy and wished to learn “drawing programs.” SU was immensely intuitive, and I used to say, “a retarded baboon could learn SU, look at me!” Again, try explaining the G aspects of “curves” or “Booleans” to a builder who has only ever worked out his projects with a pencil on a yellow pad. This is where SU shines.

Rhino is my primary work package today, yet only last week did I watch Kyle’s video and saw the way to change a curve to G5. Thanks Kyle.