Per polygon, per axis scale on circular extrusion?


#1

I’m starting to think that what I want isn’t possible, but surely that can’t be?

How do I scale individual polygons in a circular extrusion, on a per axis basis?

On a plane, when Modelling axis is set to selected and Orientation is Normal with ‘along Normals’ checked, it works. But in a circular extrusion, the common axis is in the center of the selected polygons and I can’t seem to create a “temporary virtual axis per polygon” to work with them as if they were separate objects.

The option ‘Per Object manipulation’ doesn’t do anything, as the polygons are part of a single object.

But the operation seems so basic that I feel I must be missing something, or that I’m having a “senior moment”…

In the image above, I can make the polygons less tall via the Y axis, but I can’t make them thinner on the X axis.

I can do a Normal scale, which shrinks the whole polygon and then make them taller using just the Y. But my question is more if the function I’m looking for actually isn’t in Cinema 4D.


#2

You know How many times We Ask Maxon for an actual Individual Origins that Works well for both object mode , and Elements Mode P,E,F

it should be one mode for Individual Origins works in everything
instead of Per object manipulation for objects ,
and working better then Normals orientation > Along normals for elements is limited

we need something Solid from maxon that works well
5 years ago we ask for that Basic Stuff and yet here we are 5 years later


#3

Let’s not forget that there are no “individual origins” in the C4D data structures. They can be trivially calculated for a simple case like the symmetrical rectangles in the OP, but once you use irregular polygons, non-planar polygons, or whole groups of polygons, you will run into difficulties defining a cohesive set of coordinate systems for each individual component.

The “Normals” tools are limited to the normal as the normal can be calculated for a polygon (rather: a triangle) in a non-ambiguous way. Expanding the concept to axis-dependent behavior will require these axes to be defined.

I’m not saying that’s impossible but for arbitrary cases it will often not work as the user expects, and there are a lot of side conditions to be observed.


#4

Does this help ?

  1. Make your selection
  2. Select the Scale tool
  3. In Attributes go to Object Axis tab
  4. Select Per-Object Manipulation

#5

Hi!

No, as I wrote in my original post, per object manipulation will that work since it’s a single object.

The only thing that will work on the polygons directly are the Normal operations via the Normal rotate, Normal scale and Normal move tool. But these tools won’t allow me to lock out individual axis.

As you see my last paragraph I can solve this problem in a roundabout way, but I’m curious if this functionality I’m describing is actually lacking in C4D.


#6

Try shift-dragging the Y-axis :slight_smile:


#7

To my knowledge, no such thing exists in C4D, and as I said above, it’s not a conceptually trivial functionality.


#8

Hehe… while that would exclude the Y axis, when the Normal Scale is active, the axis reverts back to ‘Move’ and if I choose Scale, the ‘Normal Scale’ mode is exited for the Scale mode.

So there is no direct manipulation of the Gizmo in Normal Scale mode. I had already tried clicking off the global Y axis (the button) in Normal Scale mode, but that had no effect.


#9

To my knowledge, no such thing exists in C4D

OK, good to know. When I fumbled around with the various Modelling Axis modes and functions, I was sure I had overlooked something…

As was mentioned above, it seems this issue has been raised before so I’ll leave it at that.


#10

Strange, works for me (R21) with these settings:


Perhaps I’m misunderstanding what you want to achieve.


#11

Yes, but only because your selected polygons are oriented along the Y axis of the object.

If you rotate the polys a little (Normal rotate) you will see that afterwards, using the Y or X axis handles for single-axis scaling will distort the polygons - the rectangles become lozenges.

That’s because these settings calculate the local coordinate systems of the polygons (or poly groups) by projection back to the object’s matrix, not by considering the polygons’ sides.


#12

Yes, what Cairyn said.

As you can see in my images, I’ve moved and rotated the object to break the “it works by accident” feature.


#13

To be fair, the desired functionality can be achieved in a similar way, it just shouldn’t project to the object’s matrix but use the poly edges to calculate a local transformation matrix that defines the rotation/scaling/transformation space for each separate selection. That’s doable.

The function gets questionable however when the selections (be it separate polys or groups) are diverse - different point sequences, non-planar polys, non-rectangular polys, groups of different size and poly count, etc. In these cases, the calculation of the local transformation matrix can and will result in different matrices for each selection, and the functionality will behave funny (like scaling poly 1 in more or less world x, but poly 2 more or less in world y direction…).

I suppose a rotational symmetry object would be more desirable :wink:


#14

I’ll get my coat :blush:


#15

Any constructive input is always appreciated!


#16

it works for you Because your in world 0,0,0 location
move your object from the origin of the world and do the same thing and see what will happen

maybe it’s a bug in c4d or a limitation Just try