Precise Placement of Control points for bezier curves

Rhino for Mac has been very helpful in designing unique shapes for floor tiles. The pattern requires bezier curves, and the coordinates of the control points and corners were created by a computer and need to be very exact. I wanted to enter the coordinates in your application, but I couldn’t find a way to do that. In the end, I had to create similar shapes to my computer designed shapes, then hack into the data file and change the values of the points. It worked perfectly, and I’m very happy with the results, but it would be nice if I could enter the numeric values through the Rhino user interface.

Did you try InterpCrv and type coordinates when prompted for the points? This will allow you to draw a curve through exact point locations. I’m not sure what the tile shapes were and if you’d be better off with a polyline and then filleting the corners. InterpCrv will pass through the points entered (e.g. 0,5,0) but will also be curvature continuous with itself. If you need kinks in the curve, you can draw multiple curves snapping to end points or use InsertKink and edit the control points.

Hi Miguel -

If by this you mean the points that you get with F10 (PointsOn) as opposed to EditPtOn for a curve, you can probably do this using

Curve ReadCommandFile 

and point Rhino to a text file that has the locations of the points. maybe?

-Pascal

I’m not sure what you mean by “try InterpCrv”. I can’t use PolyLine because the tiles have curved edges. The corners are points.

As with the previous comment, I’m not sure what you mean by trying “Curve ReadCommandFile”. Both comments seem to assume knowledge of a command line interface that I’m not aware of.

Hi Miguel- you can check Help for help with the specific commands mentioned… though I see Help is a little awkward to use on the mac side at the moment- this might be easier http://docs.mcneel.com/rhino/mac/help/en-us/index.htm

http://docs.mcneel.com/rhino/mac/help/en-us/index.htm#information/rhino-scripting.htm#ReadCommandFile
http://docs.mcneel.com/rhino/mac/help/en-us/index.htm#commands/interpcrv.htm?Highlight=interpcrv
http://docs.mcneel.com/rhino/mac/help/en-us/index.htm#commands/curve.htm?Highlight=Curve

-Pascal

Okay, thank you for the suggestions. I was able to get it to work by choosing the “Control Point Curve” tool, but it had some problems. The two biggest problems were these:

  1. I could enter a point as three number separated by commas, but it couldn’t have any spaces. If there was a space between two of the numbers (after a comma), I would hit return and it would reject the numbers. It wouldn’t give me an error message, but the label never changed from “Start of Curve” to “Next Point.” It was not at all obvious that I needed to remove the spaces. It really should be tolerant of spaces.

  2. This one isn’t as big a deal, but after putting in the coordinates and typing the Enter key, it would have been very helpful if the entry field had retained the focus. It’s waiting for my next point, so there’s no reason to lose the focus.

Also, I wasn’t able to read the data from a command file, because I couldn’t figure out what the format of the file needed to be. Examples in the help files would be very useful if the users will be expected to need this approach.

– Miguel Muñoz

Hi Miquel- i
I can’t tell but I think you are working from a command file? Yes, coordinates must be formatted with no spaces, since the space is read by Rhino as Enter. You can put an “Enter” at the end of the command file as well to terminate the current curve.

You can run Curve then ReadCommndFile and point to a file in this format:

x,y.z
x,y,z
x,y,x
Enter

or just run ReadCommandFile and have the file like this:

Curve
x,y.z
x,y,z
x,y,x
Enter

-Pascal

I wasn’t working from the command line. I was clicking on the curve tool in the UI, then entering the values into the field where it asked for the first point. That’s where spaces weren’t tolerated.
I wasn’t working from a command file because I couldn’t figure out what the file format should be. This is where an example, containing a complete file, would be very helpful.
Also, spaces probably shouldn’t mean enter. It took me a long time and a lot of wasted effort before I figured out that all I needed to do was remove the spaces. The end of a line usually means enter, and spaces are usually ignored. That’s the convention of most computer languages, although some use semicolon for the end of a line. Many people type spaces unconsciously, and don’t even notice them when they’re trying to figure out what’s wrong with a file. In the rare cases where spaces mattered, I’ve often seen people refuse to believe me when I suggest they remove a space to make something work. This is because spaces have no discernible meaning in human language, so people assume they have no meaning in computer languages either. Using space to mean enter is likely to drive a lot of users crazy.
– Miguel Muñoz

Well, a number of people here will disagree with you on that one, there are several threads here on using spacebar as Enter on the command line. I agree that having the command line parse a space as enter is annoying in a number of cases though.

–Mitch

On issues like this, the most important question to ask is this: What will the user experience be? Space-as-enter will create a lot of VERY frustrated and disappointed users.

Well, a corollary to ask is "How many VERY frustrated and disappointed users has it created in the last 15 or so years that it has been that way…?

Don’t get me wrong, I don’t use the spacebar myself that way, so I wouldn’t miss it at all, but quite a number of people here swear by its functionality…

I use the spacebar as enter in (for instance) all my keyboard shortcuts and would be VERY disappointed if that wouldn’t work anymore. It’s the ‘easiest’ key to hit with your fat thumb… :smiley: One of the great Rhino features!

Philip

1 Like

If you’re interested, I elaborated on my point under the topic “SPACEBAR not the same as ENTER, please make it so!”

– Miguel

second that!