V6 wish: move, rotate and scale face with out changing the surroundings

I just want to put this on the agenda again:

I wish for a move, rotate and scale option for surfaces in polysurfaces where the surrounding surfaces are only shrunk and extended, when a face is modified.

Very simplified situation:
If I make a box and select a face and rotate that face, then I wish for the ability to not distort the rest of the box, only extend and trim the other surfaces.

I’ll make some simple illustrations if needed.

2 Likes

I don’t really see how that is possible, if you would say, rotate 1 face of a cube 45 degrees around it’s normal, the other edges connecting to the corners of that face would not only have to extend, but also change their angle?

I’m quite curious what it exactly is you are are looking for

Rotating any of the box’s faces 45 degrees around it’s normal would change nothing since they are flat.
What you describe is rotating the edges, the boundry of the surface, what I describe is rotating the surface, and this will require recalculations of the edges/intersections. This is common when you need to move a surface in a complex structure.

Some simple images would help. Thanks.

OK, I just made an illustrative shape to show what I mean.
I want to manipulate the faces/surfaces and keep the surrounding surfaces as they are. Just retrim them and extend them when needed.

Move:

Rotate:

Scale:

This seems quite complex,

If I understand correctly is that after one of the scale/move/rotate actions you would want to have the result as if it was the same shape with a different boolean cut out of it?

Here’s an example using scale to increase the diameter of a counter bored hole. First I selected the 10mm diameter surface then scale by 1.1. The 10mm counter bore is increased to 11mm but the 5mm hole that was not selected is now 5.5mm at one end.


It’s not that complex, but it is complex of course.
I made a script that handles simple scenarios, as it uses the built in “make solid” tool that Rhino has.
But I did not add “extend” to the surfaces that needed extension, nor did I add a “select right volume” if more than one was calculated by the “make solid” command.

It worked fin for the project I was using it for, but I would love to see a good sollution done by a propper programmer!

How would Rhino automatically deduce the “design intent” of how the other surfaces are to be extended?

In the same way that it chooses to extend a surface now.

Hi Mark- yeah- this looks wrong- I was going to suggest only subselecting the cylindrical face of the counterbore but this also expands the inner edge - incorrectly, it seems to me. I’ll out it on the bug pile.

thanks,

-Pascal

Bump. Did the images help you to fully understand how and why this will be a great tool for designers?

you’re basically talking about something similar to modo’s MeshFusion, right? (live booleans)

http://www.thefoundry.co.uk/products/modo/plugins/meshfusion/

No I think he is talking about what is usually referred to as “direct modeling”.
Spaceclaim style.

Norbert

2 Likes

I’m not familiar with spaceclaim but after a quick google, it seems a similar concept as mesh fusion only maybe less powerful or less useful to a designer in exploratory phases.

a basic example of what I’m imagining would be to draw two spheres-- one of them is defined as the subtractor (or whatever)-- as this sphere is moved into sphere1, sphere1 is constantly trimming/joining to the position of sphere2. (or the cutting object could be a plane etc which is how I interpret @holo’s examples)
[though it shouldn’t be limited to using on solid objects]

I could give a better example of how I could use such a feature in my own work but it would be more clear if I drew a picture of it… but I’m not at a computer right now.

I am not familiar with mesh Fusion but it looks like it’s is just the opposite of the spaceclaim. As it creates a construction tree of the objects that were used to create the element more like pro-e, or solidworks. Although I got to say the visual construction tree allowing you to edit the parts on looks amazing. Spaceclaim is more like sketchup were it allows you to push and pull face, edges, fillets ect… but instead of meshes you are doing it to brep elements.

ExtendSrf works two ways; one is to move the trim boundary of a surface but not to extend the underlying untrimmed surface. This is equivalent to untriming the surface and then retriming it at a different location. The other is to extend untrimmed geometry. With the latter the resulting surface does not always represent “design intent”, particularly for surfaces with arbitrary shape.

Holo’s request could be useful if the geometry to be extended was previously trimmed, which appears to be the case in his and Hughes_Tooling’s example’s above. In that case the surfaces/faces which are moved are also cutting tools. Essentially it is Boolean-type operations with history working. Ambiguities arise if the surfaces/faces are move so that their intersection, even in untrimmed state, with the other geometry does not form a closed curve or surface. What is expected to happen then? For example in Holo’s examble what if the chamfered hole is moved down throught the extrusion so that the top of the hole is completely inside the extrusion?

ah… ok… I see the difference now…
so yeah, rhino already has similar stuff to ‘direct modeling’ then…
and I don’t think that’s what holo is talking about.

@Holo
You are talking of a very neat features that some solid modelers have (Solid Edge, Spaceclaim). Rhino is surface modeler for the most part as I know.
I think that what you want is closely related to the very specific algorythms solid modelers use to represent ‘topology’ (one of my favorites subject). Basically there are three states of a point compared to the solid object: in, on, out (‘on’ is like ‘in’ the boundary surface, a part of the surface).

I think Rhino has a concept of a frontface (normal vector=1) and backface (-1) for its created surfaces. Maybe those “binary” states are the key to better solid representation, fliping normals accordingly when boolean operations is applied, etc…

I am also thinking of something like: defining a surface as a ‘ClippingSurface’ with the respect of its boundaries (not as an infinite plane or whatever). Just analogy I make here.

the top of the hole extends too… at least, that’s the way I would see it happening-- both the cutting object and the objects being cut would extend.