ArraycrvPLUS
 1-12  13-32  33-52  53-70

Previous
Next
 From:  Michael Gibson
3034.13 In reply to 3034.12 
Hi Jesse,

> As long as the stones wind up an equal distance from each
> other while following the path curve on the surface,
> whatever method that does it the best would work.

Well, there are different ways of measuring the distance which will give different answers.

Here's an example that's been exaggerated a bit so you can see what I mean.

Say for example these 2 gemstones have been distributed along the path curve:



If you measure distance as "distance along the path curve", it would measure the length of this curve piece indicated in red to get the distance value:



If you measure distance as "closest point between the 2 individual objects", it would measure the following red line to get the distance value:




> Do you think it would be closest point?

I don't know - I was hoping you would tell me! It is hard for me to make a tool to do something if the desired result is not well specified.


My best guess currently is that you may want to have a kind of "virtual circle" associated with each array instance and then it would be the closest point distance between these circles that would be targeted as the thing to equalize...

If you have any model files from other things that have created the desired result, if you could post those or send them to me at moi@moi3d.com it would probably help.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3034.14 In reply to 3034.13 
Do lines have Normals? because closest point in surface normal positve direction would be the 2 desired upper tips of the triangle.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.15 In reply to 3034.14 
Hi Burr,

> Do lines have Normals?

Well, curves have tangents which can be used to get perpendiculars which can be used similar to how surface normals work on surfaces.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3034.16 In reply to 3034.15 
Yeah so closest point in relation to line tangent perp or surface normal... Where's Petr when you need him :O (sketching some cool animation! Thanks for the k-sketch link. Cool app.)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.17 In reply to 3034.16 
Hi Burr,

> Yeah so closest point in relation to line tangent
> perp or surface normal...

Yup, maybe... Do you have some jewelry models that show this kind of array in them?

It would be great to see some actual results of how the end result is supposed to look.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3034.18 In reply to 3034.17 
No Sorry Michael, I was just chiming in. I was just watching a video demo the other day of a Rhino Plug that did a nice job, but couldnt re-find what I was looking at.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
3034.19 In reply to 3034.18 
Hi Michael,

I'm not positive, but I've a feeling that what Jesse's referring to might be a feature within Matrix?
Matrix is a Hi End Jewellery Plug-in that uses Rhino as it's engine.
http://www.gemvision.com/html/products/matrix/matrix.html

I don't have Matrix, but a friend of mine does, so I've seen first hand some of the fancy things it can do.

There's another Jewellery Plug-in for Rhino called RhinoGold & that might also have a similar kind of feature?
http://www.rhinogold.com/en/

Again I don't have RhinoGold, but I've seen some of the features within their Tutorials.
http://www.rhinogold.com/en/videotutorials.htm

Hopefully some of those links might help to explain what Jesse is after?

regards Colin
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Jesse
3034.20 In reply to 3034.13 
Hi Michael,

I see what you mean... it's not out of the question that we'd run into a situation like your example.

I think your 1st version using "distance along the path curve" would accomplish the desired result.
But... could the object's "normal" relationship to the surface still be maintained?

Could the objects be uniform in size as well as graduated in size? A lot of times, the stones will be the same size.

Right now, we work with the diameter of the stones and the length of the curve to determine
the spacing of uniform objects. If the array doesn't work out with the desired spacing, then we have to either
change the length of the curve or the stone size, each dependent on constraints dictated by
the shape and size of the model as well as where we want the stones to go on the model.

Would it be possible to scale a uniform in size bunch of objects to fit a certain spacing along a curve
while placing them normal to the surface? Probably too complicated?

Colin's assumption is correct. I know Matrix does the kinds of things that ArraycrvPLUS does, but I'm not sure about RhinoGold.

I'll dig up a model as an example to send to you. I hope you don't think I'm asking for too much... :-)
I just want to explore some options because I don't know what's technically outside of the realm of realistic possibilities.

Thanks,

Jesse

EDITED: 29 Oct 2009 by JESSE

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3034.21 In reply to 3034.20 
While this is being discussed, Has anybody tried the scaleArray in this release. I'm on a computer where it just flashes up for a second then goes away? No need to go nuts till I test it on a few other computers. I re-downloaded it to be sure it hadnt been corrupted on my system or something. :O
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.22 In reply to 3034.20 
Hi Jesse,

> But... could the object's "normal" relationship to
> the surface still be maintained?

Yeah, that's probably doable, did you see the previous link to the new "Align to surface" function for MoI's regular array curve function? (here) - does that do what you are talking about here? If so then it would be possible to do the same thing.

Does this kind of "Gem Array" function always involve a surface and a curve 100% of the time, or are there situations where you want to do something on a curve only and no surface is involved yet?


> Could the objects be uniform in size as well as graduated
> in size? A lot of times, the stones will be the same size.

Well, they could if that would be how it is supposed to work!

I'm just trying to gather information on how you would expect for this kind of thing to function.

The more exactly you can describe how it is supposed to work, with specifics like what inputs are required and what options are required, etc..., the more chance I have of actually being able to make it work at some point.


> Right now, we work with the diameter of the stones and the
> length of the curve to determine the spacing of uniform objects.

So are those the parameters that you would expect to give - a diameter value and a spacing and a curve for the path, and a surface for alignment?


> I'll dig up a model as an example to send to you.

That would be great, it helps a lot for me to see an actual example of how it is supposed to work.


> I hope you don't think I'm asking for too much... :-)

I don't know yet, I still don't entirely understand exactly how it is supposed to work yet, so before I actually know that I won't really know if it is a hard thing to do or an easy thing to do.

The more information you can give me on what parameters you want to give it, what stages you would expect for the command to have (like an "pick path curve step", a "enter diameter step", stuff like that), and examples of results would all help!

It's pretty clear though that it would be a special kind of "GemArray" function and not likely something that was built directly in to the standard array. That's because it seems like it is focused on a particular shaped object that has a circular/diameter type aspect to the shape rather than just any old random shape like a box or whatever.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3034.23 In reply to 3034.21 
Never Mind. Forgot there were instructions. Doh! :O
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.24 In reply to 3034.23 
Hi Burr, yeah don't forget that you need to include a point object with the things being arrayed, since that is used for the center point of the scaling.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.25 In reply to 3034.19 
Hi Colin,

> Hopefully some of those links might help to explain
> what Jesse is after?

It kind of helps with the general idea, but it's tough for me to sort through all their tutorials to try and find the description of this one particular function.

I kind of need it to be broken down and described in more specific detail to have a shot at making it work.

Things like a step-by-step description of what each stage of the command is supposed to do, like what inputs are collected, and then of course a description and some examples of what output is generated.

It's hard for me to just guess at all that stuff since I don't really understand enough about how it is used.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
3034.26 In reply to 3034.25 
Hi Michael,

No probs, to be honest I'm not overly sure on how it all works myself, so I'm no help in describing it in detail.
I'll see if I can wangle my friend into doing a small video for you of it working in Matrix.

regards Colin
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Jesse
3034.27 In reply to 3034.22 
Hi Michael,

I have tried the new Align to Surface option and think it's fantastic! It really makes MoI a lot
stronger for jewelry modeling, so if you can incorporate it into a Gem Array function that would be
wonderful.

>Does this kind of "Gem Array" function always involve a surface and a curve 100% of the time,
>or are there situations where you want to do something on a curve only and no surface is involved yet?

For what we're talking about, a curve is always involved when arraying gemstones.
(gemstones positioned normal to the contours of a curvy surface).

For flat settings, you can just array the stones a certain distance from each other along a curve that's
sitting on a surface, using the surface only as a visual reference because you know the z height will be constant.

In Rhino, for arraying stones on rings, extracting an isocurve rather than projecting a hand drawn curve is used sometime
because it provides a path that conforms exactly to the shape of the channel that the stones are to be located in.

For other models that may have a curvy top surface but a flat back, ex. a pendant or broach, a construction curve can sometimes
be offset, flattened in Z and then projected to a surface to locate the path curve. (the rebuild curve function is invaluable in shaping and positioning these curves)

>So are those the parameters that you would expect to give - a diameter value and a spacing and a curve for the path, and a surface for alignment?

Yes, those would be the main parameters, but you could also include an offset distance relative to the surface, in case you wanted the stones to be buried into the surface a few fractions of a mm.

This is probably kind of "out there" but would it be possible to do something like a grid array but have the objects lay out on a curvy surface, positioned normal to the surface?


>The more information you can give me on what parameters you want to give it, what stages you would expect for the command to have (like an "pick >path curve step", a "enter diameter step", stuff like that), and examples of results would all help!

(I remember that in Rhino, sometimes the array would go all crazy because the area where the stones were being placed was actually a poly-surface , so we'd create a less complicated "dummy surface" in it's place, to align to).

I don't know if the model that I'm attaching is a great example, but I hope it will give you a better idea of how it should work. *

Ideally, I'd like to fill as much of the surface area as possible with a curved line of diamonds, so perhaps if you designated a starting size and an ending size, then select the path curve, the surface for alignment and the spacing... the stones could be graduated in size between them?
Even as I write this, I think it seems impossible...:-)

I will get a step-by-step description of the process from a friend who has Matrix.

Thanks,

Jesse

*(Side note: It was a challenge to position the original stone normal to the surface.. I ended up drawing a straight line normal to the surface and then moving the stone to the end of the line and then using construction lines as a guide, rotating it until it was tangent to the line and then moving it along the line until it looked like it was on the surface. Is there an easier way to position an object normal to a surface other than drawing it in place?)

Edit: After getting some sleep, I discovered this morning that using the Keep Cline script made it a lot easier to place the stone normal to the surface. I didn't need to draw a line. :-) -JDK

EDITED: 31 Oct 2009 by JESSE

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ycarry
3034.28 In reply to 3034.27 
Yes! as Jesse said, a sort of 'put instance on normal surface', instance (gem or any solide) with a 'distance box/cylinder' (with +- tolerance?) for distance with other instance and other solide/surface except the choosed 'put on surface' and a 'placement point' relative on 'put on surface'.

Recently have the prob: follow a path with 52 stone = array curve always fail (see pict); certainly (because Im a noob with MoI and) because curve was wrong... (?)
so have a tool to 'paint instance on surface' can be great.


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.29 In reply to 3034.27 
Hi Jesse,

> I don't know if the model that I'm attaching is a great
> example, but I hope it will give you a better idea of how
> it should work.

Yup, that helps give me some kind of reference, thanks.

So seeing that brings up another question - would you want to specify this kind of thing by telling it a distance to use between each item, or would you want to tell it something like the total number of items and have it figure out the distances automatically?

The second type (give number of items and have distance calculated) may be quite a bit more difficult for me to make in this case, so that may be something that I could not make initially at least.


> Yes, those would be the main parameters, but you could
> also include an offset distance relative to the surface, in
> case you wanted the stones to be buried into the surface a
> few fractions of a mm.

What I'm thinking is that you could specify a previously drawn circle as one of the inputs to the command.

The center of the circle would be used as the "base point", for the spot that will correspond to the location on the surface. So you could position the stone in relation to the circle to control a vertical offset. The circle would also control the diameter as well.


> This is probably kind of "out there" but would it be possible to
> do something like a grid array but have the objects lay out on
> a curvy surface, positioned normal to the surface?

Maybe, but it's a lot harder to think about how that would work. I'd like to focus on making a curve one work first and see how that goes.


Oh yeah, how are changes in size supposed to work? Would it work to specify a scale factor that is applied to each instance? Like for example you would put in Scale factor: 0.9 and that would mean that each item would be scaled down by 90% in size from the previous one. That's probably the easiest way for me to make it function, but that also means that you don't have a specific control over the size of the very last one, its size would be dependent on the number of items that were produced.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Jesse
3034.30 In reply to 3034.29 
Hi Michael,


>would you want to specify this kind of thing by telling it a distance to use between each item, or would you want to tell it something like the total number of items and have it figure out the distances automatically?

Well, it would be nice to specify a distance between objects since the distance between objects would have to be checked anyway after the array is complete, in order to know whether you've created a viable model. Either way, it's gonna be a little bit of trial and error, getting the right distance between, number of, and size of, (the object ) to array along a particular path curve on a surface, so would having as many variables as possible to edit help with the process?

>What I'm thinking is that you could specify a previously drawn circle as one of the inputs to the command.

>The center of the circle would be used as the "base point", for the spot that will correspond to the location on the surface. So you could position the stone >in relation to the circle to control a vertical offset. The circle would also control the diameter as well.

Makes sense to me!

>Oh yeah, how are changes in size supposed to work? Would it work to specify a scale factor that is applied to each instance?

I like your idea to designate a certain percentage to scale each instance, but if anyone else has any ideas, please feel free to chime in... :-)

Thanks,

Jesse

P.S. Michael, I sent you some info by email that will hopefully answer a lot of the questions we're discussing.

EDITED: 2 Nov 2009 by JESSE

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.31 In reply to 3034.30 
Hi Jesse,

> Well, it would be nice to specify a distance between objects
> since the distance between would have to be checked anyway
> after the array is complete, in order to know whether you've
> created a viable model.

Well, that sounds good because that way would actually be easier.


> you might want 3 the same size, followed by 2 a bit
> smaller and then 1 smaller still, so perhaps the scaling
> thing isn't as easily predictable as the distance
> between objects,

Aha, well this is the kind of detail that is great to find out about! :)

So one idea on how to control that more exactly could be to provide multiple base circles arranged in left to right order like this:



and then that would define the size of each instance in the array. You would put the actual Gem/object to be duplicated inside the first one to the left.

The spacing between these initial circles would be ignored (because you will be specifying the distance as a parameter in the command), it would just take the sizes from them.

Is there something like a standard set of sizes? If so then I guess you could have some circles set off to the side made up for those sizes, and then copy them into place into a line like the above to control which ones would be used.

Would something like that work?


- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3034.32 In reply to 3034.30 
Hi Jesse, also just a bit more on distances.

The way that I was thinking you would probably want the distances to work is to make the distance between each circle be equal. That's the length of the shortest line between each circle, like this:



Would that be good?

That is not exactly the same thing as trying to make "distance traveled along the path curve" be equal, but from what I'm understanding you probably want that more "direct distance spacing between each circle" to be what is controlled, is that correct?

What about when the circles are not all in the same plane because they are rotating to adapt to the surface normal, would it still be that "shortest distance between 2 circles" to make equal even though they were tilted at different angles?

Or do you really actually want "distance as traveled along the path curve" instead of that?

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-12  13-32  33-52  53-70