Is there a command that will do that?

or maybe a quicker/better method to do it than how i tried?


(no plugins etc.. mac)

already tried..

draw path curve

draw straight curve of same length

array shape along the straight line

scale each copy to upper profile curve


extrude each copy

Views: 13032

Replies to This Discussion

hey Andreas

thanks, those look nice

but i don't think i can use them on mac rhino 

I don't think any native Rhino tools will be able to do what you want directly.

Grasshopper would of course be just brilliant for this...  However since you're on Mac... :-(

I may be able to cook you up a Python script that will work nicely on a Mac...  However, I won't have much time to work on it today, may need to wait for the weekend...

There are a couple of sticky points, however.  It looks like you are wanting to scale the object only in two axes - the third axis (being the thickness) remains constant... correct?  Removing one dimension from the scale operation adds another dimension to the problem...   :-)

Also, is this always going to happen on a planar curve flat on the world CPlane?


right.. scales only in two directions with thickness remaining constant.. and yeah, stays flat on the world cplane..

i'm in the middle of a project right now so realistically, i won't be drawing this stuff for a few more weeks.. just tinkering around at nights exploring my options for the time being.. i foresee about 250 copies so it's a bit of work to do it the way i've already tried.. (and more importantly i guess, is that i want to be able to explore a bit with it so if i go with the method i've tried already, i'll probably end up starting over 4 or 5 times which is why it's seeming a little daunting right now ;) )

as far as writing a script, don't do it unless it's something that interests you enough that you can nerd out on and get satisfaction that way..  ;-)


Hey, well, I'm a geek, so no worries...  I've got a draft script working here but I want to check and refine it some more before throwing it out into the wild...  I also gotta check if it runs on a Mac (I only really work and develop on Windows).

The main question I have is how to manage the object/path curve relation.  It can be one of two ways in my mind:

1) position the original object at the start of the curve and keep the relation constant between the object and the curve - if it's perpendicular at the start it will be everywhere, if not it won't be

2) position the original object as some known spot - like flat on the Top CPlane and then translate that to being perpendicular to the curve at the array points

Each method has its advantages and disadvantages.  The main issue is figuring out the plane of the original object in order to not scale it in one axis, that's not so easy to do...

For method #1 I use the perpendicular plane to the curve at the curve start point.  If the object is not in that plane, then everything will be off.  Method #2 leaves no room for doubt, but is less easy to visualize - the user needs to construct the "master" object away from the curve and then distribute it later.


OK, here is a script to try (actually 2)...  I fleshed out the draft script, added some options and UI and tested on a Mac... They are primarily designed for use on planar curves flat on the World CPlane.  The original object needs to be oriented at the start of the curve and in the correct orientation.

1) ArrayAlongCrvWithScaleProfile will array objects along a curve like ArrayCrv, but uses a second curve as you showed to control the height (scale factor).  There are some extra options, you can chose to apply the scale factor in any combination of the 3 axes (for example you can scale in Height (Z) only.

2) ArrayAlongCrvWithScale just uses the path curve but will scale each successive object - the scale can be applied either successively between objects or distributed over the whole range (basically an array with linear scale).

Anyway, probably too many options, but try them out and see what you think...




(i'm definitely still paying attention here.. a long travel day tomorrow then i'll be back on this thing..)

i finally had my initial go with the scripts and they're awesome so far! thanks a million..

i'll probably start trying to draw some of the stuff i have in mind tonight.. i'll post up the results (or any problems i may encounter ;) )..

thanks again H

i guess one note to point out is that on mac at least, there might be a limited number of characters allowed in the dialog boxes prior to being cut off?

might be worth figuring out the limits or whatever prior to developing other scripts?

or maybe this is something which Marlin can adjust?

(scale choices are cut off after 12 or so characters)

(i'll post this at the mac rhino forum to get some more info re: the dialog box limits)

Yeah, I noticed this too when I did my Mac testing.  Thanks for reminding/posting this.

this is from Marlin regarding the dialogs:

The width of this dialog and each of the controls is calculated when the dialog is displayed.  There was an error when calculating the width of wide radio button controls.  This will be fixed in the next WIP release.



© 2018   Created by McNeel Admin.   Powered by

Badges  |  Report an Issue  |  Terms of Service