Numerically editing objects

Hi there!

I come from a Cinema4D background, and I’m having a hard time wrapping my mind around the Rhino way of doing things. I’ve been poking around tutorials and searching Google to little avail.

Let’s say I’m starting out with a default cylinder object in C4D. If I want to change my cylinder’s dimensions, it’s very easy to do so parametrically:

Additionally, it’s very easy to move the object around in three dimensional space relative to the world coordinates by changing the object’s numerical coordinate values:

This is very powerful for my workflow. For instance, if I realized at some point that the 80 degree slope of my cylinder wasn’t correct and it was, in fact, supposed to be precisely 75 degrees, it’s trivial to change. Or if I realize the diameter of my cylinder should be 48.5 cm, that’s a completely simple fix.

This sort of concrete, numerical editing works very well for me, and I can’t figure out how to manipulate objects in a similar way in Rhino. As far as I’ve been able to see, everything seems to be handled by tweaking things with the cursor, or using grids for reference. I’m probably just looking in the wrong places or thinking about it from the wrong perspective, but I’m totally at a loss here.

Any advice? Thanks in advance, and sorry this is so absurdly elementary. :flushed:

It works slightly different in Rhino, with a couple of variations. Rather than filling in a form with numbers, dimensions can be specified at the time of creation by entering the coordinates on the command line. When you want to move or rotate (transform) an object you can enter the amount of transformation for a transform command on the command line. Alternatively, the Gumball will allow entry of specific dimensions to move or rotate. This is covered in the help under “The Rhino Interface”. I have found the help pretty well organized and easy to read. Another nice feature is the “Command Help” option under the “Help” menu. It is a tabbed window that will stay open and automatically show you the help topic for any command you select as you are working.

I’m sure you’ll get the hang of it pretty quickly, though you may wonder for a little while what happened to the “flow” in your workflow. Good Luck. :wink:

Edit: BTW, these comments are based on my familiarity with the Windows version. I don’t think the Mac version is fundamentally different, though the help system may not be fully implemented yet. I haven’t been keeping up with the Mac version.

Thanks for the reply.

To briefly restate what I’m trying to figure out, take a look at this cylinder:

At a glance, I can’t really tell you the following with any sort of precision:

  • The angle of its rotation
  • Its diameter
  • Its length

Even if all of these attributes aren’t gathered neatly into one pane like C4D, surely there’s some way to reveal and edit them, right?

I do sort of understand the methods you’ve described, but it seems pretty limited to me. I’m having a hard time explaining why it’s a problem, though.

Like, I guess if you’re modeling from a pre-existing design, or if you have a very clear image in your mind of what you’re modeling, it might not be a problem to establish the dimensions and positions of what you’re creating right from the start. But with the way I work, I do a lot of my design process while I’m modeling, and this involves a ton of tweaking.

With C4D’s coordinate editor, this works out just fine. Using numbers to do all of that editing just tends to be very precise and clean, and not only is it easy for me to change things around as needed, it’s also helpful because I can see exactly what an object’s values are at any time. Going back to the original example, if I suddenly realized the cylinder I created is going to need to be thicker than I originally specified, C4D will tell me exactly how thick it is currently, which makes it easier to determine how much thicker it needs to be.

That’s correct, yes. Not at a glance.

Right. For its length, use the length command and select the seam. For the diameter, use the diameter command and select a circle at the end. For an angle you’ll need to draw a quick line in the direction of which you want to check the angle against. To edit one of those you use scale1d, scale2d, and rotate.

[quote=“catte, post:3, topic:18043”]
But with the way I work, I do a lot of my design process while I’m modeling, and this involves a ton of tweaking.[/quote]
Same here. It’s pretty quick when you get the hang of it and I don’t experience it as a limitation.

Check out the options under the analyze menu item, as well as the information that is shown when the “details” button at the bottom of the properties display is clicked while the object is selected.

Okay, I’ve been playing around a bit, and I’m starting to get comfortable with this approach to “inspecting” objects. It’s not as straightforward as I’m used to, but the results are the same.

This doesn’t quite work, though, as far as I can tell. Going back to my angled cylinder example, I can’t find a way to cleanly scale using these commands. If I’m starting out with nice round values like diameter=10 cm, scaling invariably gives me some unacceptable messy decimal, like 11.32 cm. Is there a way to constrain it?

Thanks for your help. This has been surprisingly exhausting and frustrating, but learning new software always is, right? :sweat_smile:

Have you mercifully forgotten what you initially went through to learn Cinema4D? :smile: Or was it considerably easier and more intuitive than Rhino? If it was and you can meaningfully describe the differences, I’m sure the people at McNeel would like to know your thoughts.

The best analogy i could make in the 2D design world is in something like a page layout app such as Adobe InDesign (or even Illustrator).

Click on an object, and its position and dimensions are available in editable fields in palettes or tool bars. If you need to change its location, you just enter new coordinates, without having to enter a starting and ending point. If you need to change the width, height, diameter or radius of an object, again, just enter the new numbers.

No having to do math to scale objects proportionally, or having to break and re-create things like filleted edges because they’re no longer proportionally correct.

If all of the dimensions and parameters are available in the Object Description panel, why not make them interactive, so they can be changed on the fly? This kind of live editing capability would potentially save a HUGE amount of time over the course of a workday.

At the very least, it would be great to have options for absolute or relative moves. For example, if i know i need to move an object to the left by a quarter inch, i could just type something like _RMove -.25,0,0 and that would be it, instead of _Move and then 0,0,0 for the start point and -.25,0,0 for the end point.

1 Like

Ah, yes, exactly! It’s like, the stuff I need to modify is dangling on a string tantalizingly out of reach. The numbers are there, I just can’t figure out how to change them in a precise, quick way.

Haha, no doubt C4D has given me plenty of headaches! But I think a lot of that was from the general issues you face while trying to wrap your mind around designing with a third dimension.

As decibelguitars pointed out, Adobe apps give you editable fields similar to what C4D offers (and what I wish Rhino offered), so many of the basic operations felt familiar to me. It seems like C4D encourages you to think in well-defined 3D Cartesian space with concrete numerical X Y Z values controlling everything, while all of that data feels more obscure in Rhino, making it almost seem more akin to a sculpting application or something?

to change only the length of your cylinder to a desired length:

• select the cylinder
• run the command Scale1D
• mouse click on one end of the cylinder’s seam
• mouse click on the other end of the seam
• type desired length (20cm) and press return.

with scale1d, the distance between your two click points will become whatever you type in.

to resize the whole thing relative to diameter:

• select the cylinder
• run the Scale command …(Scale is what you would expect of a command called Scale3D if following the other scale names)
• with the quadrant osnap active, click on one quadrant of one of the circles.
• click on the circle’s opposing quadrant snap
• type the desired diameter and press return

the diameter will now become that distance and the length of cylinder also scales accordingly.

you might like the nudge keys for this… go:
Rhinoceros > Preferences > Modeling Aids > Nudge

set the Nudge keys to ‘arrow keys’ (should be like this by default i believe)

for Nudge Steps, enter .125 in the ‘nudge key alone’ field

select the object and push the left arrow key… if you tap the key, it will move one increment… press and hold moves it further faster… there’s a cumulative counter to keep track of your amounts…

another way is with the gumball… with gumball engaged select the object then click the red arrow… type -1/4 or -.25 to move left a quarter unit.

one other thing regarding 0,0,0 in rhino.

0 is a shortcut for 0,0,0… as in, just type a single zero for origin.

note* there is currently a bug in the nudge preference which only allows 3 decimal place to be used for the increments…
1/8" increments are ok since it’s 0.125… you can’t do 1/16" though since that’s 0.0625

Forgive me if I’m being dense here, but I can’t really get this to work. When I try to click either end of the seam, my cursor either snaps to the grid (which won’t work for my example of an angled cylinder), or if I turn off the grid snapping it floats around without any sort of precision. Is there some way to get it to snap to the exact ends of the seam?

with osnaps

i generally have these ones on at all times:

1 Like

oh, snap! :open_mouth:

I knew I was missing something, thanks! :thumbsup:

Yes, that is crucial :grin: You won’t be getting anywhere without using those snaps.
And keep that grid snapping turned off, and the grid itself as well while you are at it - I’ve never been in a situation where I needed either of those.

Interesting. I find the grid very useful as an orientation device and to judge rough distances and scale. Perhaps it comes from working with other programs that are more grid oriented, but I think I would be lost without it. In fact, I also miss having the ability to display rulers.

Maybe it just takes time to get used to another way of working, but I find it time consuming to have to actually measure things with the mouse all the time.

I agree with this and posted a similar suggestion along with screen shots of another program that does this here: New Object Properties UI

I understand the gumball and the commands that allow for identifying and changing things. These are great, especially the gumball, but having had my workflow based on an interactive information pallet in the past, I too feel like I’m not able to make changes fast enough.

Again, maybe it’s just a different workflow, but wouldn’t it be nice to have both options?

1 Like

I’m finding the more i use Rhino, the more i prefer using the keyboard as much as possible. I’ve even started typing some of my Rhino commands when using Illustrator! :wink:

1 Like

For what it’s worth I would just like to say that I had incredible frustration learning Rhino after being a long term user of Vectorworks which being a parametric modeller allows you to size objects and position them in space much more easily than Rhino.
My frustrations were for the same reason catte has expressed here and after two or three years in Rhino I still feel these frustrations from time to time.
I still use Vectorworks for 2D drafting but there is no doubt that Rhino is an unbelievably great tool and well worth the effort in spite of missing a few of the advantages you have with a parametric modeller.
I’m repeatedly surprised at how quickly and easily complex tasks can be carried out with a few simple key strokes and there is usually a number of options for approaching each task.
Ten out of Ten for Rhino from me!

1 Like

I share your sentiments exactly, catte!
I used quite a few polygon-based 3D-programs over the years (Max, Softimage, Cinema 4D, bit of Maya), and what I miss the most in Rhino is just what you say - being able to numerically set object’s transformations and parameters.

So, here’s a big fat +1 from me!

My number one wish are better BoxEdit / Properties panels that simply functions like all the other transform/attribute/whatsitcalled panels in other softwares, including the displayed transform values being relative to the selected coordinate system.
It’s a “low hanging fruit”, and is no contradiction to any of the existing workflows in Rhino.

Best regards