Clippingplanes wishes

Hi all -

https://mcneel.myjetbrains.com/youtrack/issue/RH-6069

https://mcneel.myjetbrains.com/youtrack/issue/RH-37423
I have no idea if the underlying mesh exists as clipped or just partly hidden - I suspect the latter, but what do I know…?

-Pascal

Hi Pascal, thanks… first I was thinking the ClippingPlane is just some visual trickery but then in works with Make2D, so maybe there is hope to grab the clipped 3D geometry…

-j

Yup, good point - well, fortunately nothing depends on my understanding once it’s on the heap!

-Pascal

Pascal is correct… there is no “clipped geometry” that exists… Things get clipped at the point a pixel is about to be turned on…so you actually have to draw all of the geometry in order to know which portions get clipped. I’m pretty sure Make2D is just performing some kind of intersection tests with a plane and the affected objects, and producing the proper results…but I don’t know if it’s actually working with the render meshes.

That being said, I’m not sure how hard it would be to just produce an output that is trimmed by the clipping plane(s). You should try it on your models and see what happens… Just replace the clipping plane with a (large enough) real plane object, and see if you can trim the entire model with it (of course I would work with only the render meshes)…

If it looks like it will always work, then it can be automated.

It doesn’t seem to always work, no.

True, Rhino’s meshsplit and meshbooleans fail a lot on less than perfect meshes. Disjoined meshes and on meshes with degenerated mesh faces are in my opinion where it struggles the most.

Hi Jeff,

Thanks for the explanation - I was worried Pascal may be right (again!) and there is some trickery used to display the clipped geometry. So - as the others mentioned - I don’t think that’s an easy addition without fixing mesh split and booleans operations in Rhino first, which - if they worked nicely - I would not even ask for ExtractClippedMesh since that could be easily automated. I was hoping ClippingPlanes are using some better mesh clipping algorithm.
Currently clipping/splitting Nurbs works relatively well most of the time but with meshes, especially more complex ones (we deal with architectural models imported from other software) splitting is highly unreliable and requires a lot of effort to perform.

Now while we are at this and reheating this topic - is excluding some objects from clipping a possibility with the way it is being handled ‘under the hood’ ? This would be another very handy feature opening up a lot of new workflow and presentation possibilities.

–jarek

Hi @Jarek,

Yes, this is very doable, and in fact Rhino already does it now…with the clipping planes themselves… You see the entire clipping plane in your view because it’s not being clipped when it’s drawn… We basically just need to keep a list of “non-clipped” objects, and draw them when the clipping is turned off… Not sure what the UI would be, or what kind of priority this would take in V6…all I’m saying here is that yes, it is doable.

Thanks,
-Jeff

4 Likes

Hi Jeff,

I’d say it would be a very important addition to the Rhino tool set. Most people I know move things to layers and apply different clipping planes and then overlay things to show particular views of buildings or objects before exporting and compositing. It’s very rare that you’d see something just cut in half as a visual - it’s a bit boring and doesn’t help a great deal.

With regard to say, a hand drill there is usually a split line around the housing which means you can turn off one side of the housing to reveal the motor without cutting through the centre of the chuck etc. But with a building where you may want to cut the building in half and reveal a floor complete with desks and other artefacts it would be a real boon.

As with the request to have a cutting plane based on an object it would enable someone to take a series of non linear sections through, say a cruise ship while leaving different details and set back sections etc without having to do a hell of a lot of work with layers.

I’d probably still export and work on things in Keyshot and Photoshop but the legwork to get there would be greatly reduced.

At this point in time excluding items from the clip or just applying it to single items would be amazing.

Andy

2 Likes

In Machinery modeling, it is often necessary to exclude a COMPONENT from the clipping, as that component may be the one being featured in the scene. Also, in ANSI/ASME specs, internal diametric components like the bolts going through the object being clipped or shafts going though the center of the motor/pulley/gearbox assembly needs to be excluded from the clipping for the resulting shop drawing. This may add a bit of support for the desire to be able to select objects to dis-include from clipping. SINCE clipping is just a pixel-off setting for any component crossing the plane, could the pixel off setting be applied per selection of component ?
Tks - C.

Hey McNeel, This request is 5 years old now. Did you had a good time? Do you think this is BS request? Tell us honestly. Maybe you need some help with it?

1 Like

Moby -
Hi ! I was wondering the very same thing :wink: ! I’ve largely stopped coming here, as we usually get trapped bween 2 competing forces -
1 - those trying to compete for smartest kid in the chat-room and 2. generally (but sometimes snarkily :wink: ) being ignored. Guess this one, as valuable as it would be , falls into category - 2. Guess it would require diverting efforts away from the shiny-colorful-est developments. Oh well.
Tks-
-C.

@BrianJ Wondering if any progress made on the clipping sphere or box idea.
Would be so nice to be able to hide everything outside of a set volume, whatever the shape, and then increase or decrease the size of that volume.

need it right now of course which is why I’m digging up this old thread…

-Robert

There is nothing made yet, but you can set up 6 clippingplanes to forma cube and group them them so you can move them together and scale them.
I made a script that did this automatically, but don’t have it any more.
(It was too hacky to share anyway, but solved my current need back then)

I often manually set two opposing clippingplanes though, to limit the near and far draw at the same time.

1 Like

Yah I love that trick. Cubes work well. I’ve done balls of clipping planes approaching near spherical but they don’t work so well. Why don’t the clipping planes cut the object cleanly?
72 in this ball.

Our display engine currently supports a maximum of 8 clipping planes to be active in a viewport at any given time.

OK thanks Steve.

I came to post a new topic requesting selective application of clipping planes by object and by layer.

Seems that this has been going for 6+ years.

I’d also like to be able to limit the extent of the effect of a clipping plane. It should only clip to the limits of the clipping plane shape as displayed or with an ‘infinite’ checkbox in the clipping plane properties. Perhaps it defaults to ‘infinite’.

Being able to limit the effect of clipping planes to certain layers, or perhaps, deactivate the effect on certain layers would be really helpful. Even if turning off the effect of clipping planes on some layers was the only additional control provided for clipping planes, I think I could work with it.

I’d also like to be able to make clipping planes invisible (as in the actual clipping plane objects) but on a viewport basis. For example, I might decide that I want to still control the position of a clipping plane in one view, but not see the clipping plane object in the perspective view.

Thanks, I’ve added your comments to the pile - RH-60967 Clipping plane wishes

-Pascal

2 Likes

Not sure where to post this to get more traction, but it feels like I found a bug that could hopefully be fixed before adding new features. Although a box clipping plane would be very useful!

It occurs when you clip a Block with a Box Mapped element with the Clipping plane setting Texture fill turned on. The textures created by the clipping plane have a strange behavior when you move these blocks. You can find examples in the following thread.
Box mapping different in a block.