ArraycrvPLUS
 1-8  9-28  29-48  49-68  69-70

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

Previous
Next
 From:  DDB
3034.33 In reply to 3034.32 
Michael
The array along curve with normals to surface is a wonderful idea. I feel that at this juncture, perhaps, it is prudent to look ahead a little. The next step, of course, is to add prongs into the mix. Because, after you get the stones where you want them...your going to need prongs to hold them in place. This brings up a whole different set of parameters as well as problems. Perhaps the simplest way to achieve adding the prongs into the equation, while taking into consideration the necessary spacing requirements, would be to add the prongs to a stone, group it, and array the prongs and the stones at the same time. This of course assumes that the stones and the prongs are consistent in size. If not, it leads down the road of necessitating sliders or multiple check boxes or places to designate specific stone sizes within the array to change the shape and size and distance between the stones either pre or post applying them to the surface. (that was a long winded sentence but hopefully you can grasp the entire concept) Pave' is the ultimate test...and nightmare. Overlapping stones and prongs must be found and eliminated, or some type of system that the program arranges the stone placement in the most exacting and specific manner must be designed and implemented.

David
  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.34 In reply to 3034.33 
DDB just touchs on a point. I wanted to chime in on the scale thing with "Having a starting and end parameter setting, then a scale factor number of like 1-10 that is applied to the value of the start and end sizes. But then I realized that the distance between the array should be the arbitrary number as in the real world, the stone is the size that is not the variable.

So if I was a jewler creating an array on a ring, I would choose my ring shape and the "Stones" that go on it (simplified of course) and the array would be designed and adjusted by the stones. So it seems "Scale" or size at each point, would be primary, and the rest adjusts per that.

So it seems that Michael, laying out a "prebuilt size grid", then choose the size that fits the stones to be used in the array, would be more viable.

(Or was this already decided and I missed it following along)
  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.35 In reply to 3034.31 
Hi Michael,

You're asking some good questions..some of which I'm not sure of the answer!

The multiple base circle idea sounds like it might work. Would you be able to create
your own circles and designate them as Object 1, 2, 3, etc?
I would not say there is a standardized set of sizes, stones are measured down to the tenth of a mm
so there are 100's of different sizes used.

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:  DDB
3034.36 In reply to 3034.35 
Another approach would be arraying them (both prongs and gems) along a representative created uv surface and flowing everything back to the original surface as is currently done in Rhino. BUT there is the distortion thing that must be overcome.
I'm a big fan of flow along surface.

David
  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.37 In reply to 3034.32 
Hi Michael,

This is the part I'm not sure about. It would seem that the distance along curve would only give you so much accuracy when the array is aligned
to a surface. However, the area of the stone (that needs to be spaced correctly) which is most critical is the "girdle" which is the widest circumference
where the top and bottom facets meet on the sides. So if a circle was grouped to the stone there, that might do the trick.. So if it was the closest points on circles grouped to the stone, that might work. In Rhino I remember grouping a point that was placed at the right level inside the stone to line things up for an array, so that might be another option.

As for prong placement that's going to be a tough one because when the curvature of the path curve changes, so does the spacing. I do it manually, creating some 3d scaffolding by offsetting curves and finding intersections and then copying and pasting circles to mid-points of lines I've drawn.
In this example, you'd need to change the diameter of the prongs just a little, making them smaller or larger or move them in or out a tiny bit, where ever the bend in the curve bows out or curves in more radically, so they (the prongs) cover the stone properly, so it's never an exact science. You kinda do whatever works while trying to fool the eye into thinking it's more uniform than it really is.

Jesse


EDITED: 3 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.38 In reply to 3034.33 
Hi David,

> The array along curve with normals to surface is a wonderful
> idea. I feel that at this juncture, perhaps, it is prudent to look
> ahead a little. The next step, of course, is to add prongs into
> the mix.

Are the stone placement and prong placement intertwined with one another?

I mean for example, would you want to move a stone to a different position in order to accomodate a prong? Or are the prongs something that are meant to always fit around the stone placement and not require altering the stone placement?

If it's more that the stones are the "primary" thing and prongs only accomodate them, then I'd like at the beginning anyway to focus only on placing the stones for a bit and see if I can actually make something for that as a starting point or not.

I don't really know very much about jewelry so it's a fairly tough area for me to work in, there is a lot of stuff to absorb and I'm not very confident about trying to accomplish too much all at once. So if I can focus on things one step at a time that is probably going to be how I could possibly make some progress.

- 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.39 In reply to 3034.34 
Hi Burr,

> So it seems that Michael, laying out a "prebuilt size grid",
> then choose the size that fits the stones to be used in the
> array, would be more viable.

I don't know - possibly...

That's the kind of detail that I'm hoping to learn about from people involved with jewelry. It's hard to guess at what they might want, I'm hoping that they will be able to tell me in more specific detail what they need so I don't have to guess and get it wrong or go through too many iterations of changing the tool to do different things.

- 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.40 In reply to 3034.35 
Hi Jesse,

> The multiple base circle idea sounds like it might
> work. Would you be able to create your own circles and
> designate them as Object 1, 2, 3, etc?

Yeah, you would just create your own circles by the regular Draw curve / Circle command.

They'd be designated as Object 1, 2, 3 just by their left-to-right ordering, like the circle all the way on the left would be "Object 1", the one immediately to it's right would be "Object 2", and so forth.

So you would draw these circles on to the Top plane, and just arrange them in left to right order to control the sizing.

- 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.41 In reply to 3034.36 
Hi David,

> Another approach would be arraying them (both
> prongs and gems) along a representative created
> uv surface and flowing everything back to the original
> surface as is currently done in Rhino.

I thought a bit about this, that maybe you would arrange things all along a line initially and then have the command take the spacing exactly from that 2D arrangement and try to place it along the curve.

But Jesse was describing originally about wanting to be able to control the spacing in between items as a parameter to the command so you could adjust it to different values.

- 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.42 In reply to 3034.37 
Hi Jesse,

> However, the area of the stone (that needs to be spaced correctly)
> which is most critical is the "girdle" which is the widest circumference
> where the top and bottom facets meet on the sides.

That's kind of what I was figuring - that method of spacing the "shortest line between each circle" would most closely follow this I think, because you would place each circle as a model of that "girdle" that you are talking about.

The path curve is kind of an imaginary thing once the final piece is built, right? So I was thinking that trying to make equal distances "as traveled along the curve" would probably not be what you would be focused on for the actual result.


Re: Prongs - the prong stuff must also get complicated when you have changes in size happening? Do the prongs also change in size when that happens?


If you can come up with a simple rule for how the prong placement would work, that could make it possible to also include. From your drawing it looks like something along the lines of "take the midpoint of the line between 2 circles and travel along that line's perpendicular by a certain distance" to place a prong. If the distance to offset along the perpendicular could be automatically calculated based off of the size of the 2 stones that would be good.

- 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:  DDB
3034.43 In reply to 3034.41 
3034.41 In reply to 3034.36
Hi David,

> Another approach would be arraying them (both
> prongs and gems) along a representative created
> uv surface and flowing everything back to the original
> surface as is currently done in Rhino.

I thought a bit about this, that maybe you would arrange things all along a line initially and then have the command take the spacing exactly from that 2D arrangement and try to place it along the curve.

But Jesse was describing originally about wanting to be able to control the spacing in between items as a parameter to the command so you could adjust it to different values.

- Michael

******************************************************************************
Michael

One could make a center line within the surface and have the stones follow the center line. The width of the stones could imply additional lines on either side of the center line which would be attached to the prongs. 2D works fine for me, as your going to get exactly what you lay out. What Jesse was talking about works too. Basically it ends up with what is the best or most efficient way to program the process so that it works correctly and doesn't impact other functions. When you sit down and give this some thought there are many scenarios by which this could be accomplished...none of them wrong. It's the end result that counts.

Currently, (I use Matrix/Rhino) I will sometimes use the builders to generate prongs and get them close to where I want them, and then group and rearrange what works. I find that many times I kill off one side than arrange the other side of the prongs exactly the way that I want them and then mirror.

No matter which way you make it work people will use it in a manner in which works for THEM and with which they feel comfortable. I know that the newer users of Matrix freak out when a builder doesn't give them what they want. They know no other way in which to work but with the builder. Older users, or pure Rhino users don't have that problem because they don't have to rely on builders to get what they want. It may require a little more thought and some effort but they are not dead in the water.

David
  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.44 In reply to 3034.43 
Hi David, yup that is always a problem when people are totally dependent on things like "wizards" that build things automatically for them. If you get into a situation where the wizard/guided-steps type thing is not able to do something then they get hosed.

It does tend to be better to be able to do things manually but then also have a wizardy type thing optionally available to you so you can save time in situations that it does handle well.


> 2D works fine for me, as your going to get exactly what you lay out.

I guess the part that does not seem quite so good with that, is that it is not so easily tweakable by just changing a number parameter for instance. It would put some more burden on you to completely edit the 2D pattern (made of multiple objects) to adjust things.


> It's the end result that counts.

True, but if there is a way that gives you somewhat easier ways to experiment and tweak things really quickly then that can be helpful too...


- 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.45 In reply to 3034.42 
Hi Michael,

That's what I was thinking too.. the closest point between circles that represent the girdles of the stones.

Yup, the path curve is imaginary.. it's just used as a path for the array.

Your idea about using a perpendicular line stemming out from the closest point between two circles
would probably work well for stones along a straight or nearly straight path curve, (in fact I've done it that way before)
but I'm not sure about how it'd work for placing prongs along stones on a path curve with wide or tight bends..
I'm not on a computer with MoI right now, so I'll have to check that idea out later.

So if it used the two different-in-diameter circles to calculate an offset along a perpendicular line from a line drawn between the closest points of those circles,
would it replicate the same placement as you would if you took into account the curvature of the array?

I used the midpoint of a line I drew between the intersections of the two circles
and an offset parallel path curve, but that method entails too much user intervention to effectively automate, I would think.

Thanks,
Jesse

EDITED: 4 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:  Jesse
3034.46 In reply to 3034.40 
Hi Michael,

>So you would draw these circles on to the Top plane, and just arrange them in left to right order to control the sizing.


That seems like a simple and effective strategy.

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:  Jesse
3034.47 In reply to 3034.44 
Hi Michael,

>Hi David, yup that is always a problem when people are totally dependent on things like "wizards" that build things automatically for them. If you get into a situation where the wizard/guided-steps type thing is not able to do something then they get hosed.

David's experience with Matrix might serve as a cautionary example.

After several years of customized macros, scripts and even programming specific code for Rhino to do jewelry design,
there are still some things that go kaflooey and have to be tweaked manually in order to get them right.


>True, but if there is a way that gives you somewhat easier ways to experiment and tweak things really quickly then that can be helpful too...


Yep, having a system that automates certain functions can be a good thing if it takes into account that not everything can be automated. :-)

Not sure if I understand correctly about laying out 2d patterns, wouldn't you get some stretching and distortion when the curves slap down on the surface?
ArtCAM has a Z Height Distortion compensation tool that you have to apply to each closed curve so they don't get bent out of shape, but that's rather tedious
if you have a lot of stones and prongs.

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:  Jesse
3034.48 In reply to 3034.30 
Hi Michael,

I thought this might be worth looking at again.

The next development of ArraycrvPlus is online.

http://jarek-rhinoscripts.blogspot.com/search/label/Armadillo

A section showing spacing modes shows how it does consistent spacing
of varying sized objects.

Jesse

EDITED: 4 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
 

Reply to All Reply to All

 

 
Show messages:  1-8  9-28  29-48  49-68  69-70