ArraycrvPLUS
 1  2-21  22-41  42-61  62-70

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

Previous
Next
 From:  Paolo (PAOLOLOBBIA)
3034.49 In reply to 3034.48 
Hi Jesse,

I didn't follow the whole threat but maybe this is what you are looking for:

http://sites.google.com/site/smart3dnet/

With this Rhino plugin you place the stones manually,and the system
detects if the virtual stone bounces with it's neighbours.

There's no demo but they give you online help.

EDITED: 4 Nov 2009 by PAOLOLOBBIA

  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.50 In reply to 3034.45 
Hi Jesse,

quote:
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?

No, I guess not - the prong location would be more following just the line between 2 circles and not necessarily on the offset of the path curve.

It's more like it would be on the offset of a polyline going through the circle centers.

But I guess if your array was dense enough that there was not a lot of change in the path curve between each item it would be pretty close to the same thing.

quote:
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.

Yeah an automated tool needs to have some relatively simple rules that it follows to generate the stuff.

It can't really do stuff like "just make the spacing look good" or something that requires judgment like that, it has to have the mechanics for how it works really nailed down.


Is there ever a case where you would move stones around in order to accomodate the location of a prong?

If not (if you always want to have the stone placement be primary), then I will probably focus on just the stone placement initially and see if it is possible to nail that down first before worrying about prongs.

- 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.51 In reply to 3034.47 
Hi Jesse,

> 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?

Well, what I was thinking about was not such a literal "morphing" of the 2D pattern, but rather just using the 2D pattern to control the spacing between items.

Remember when I was talking about using several circles in left-to-right order to control the sizes of each generated item (when you did not want just a single size for each stone) ? Well, it would also be possible to use the spacing between each of those circles to control the spacing of each generated item in the array as well.

Each array item would still be placed by a "rigid body" transform of moving and rotating it into place rather than squishing it like Flow does though.

- 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.52 In reply to 3034.50 
Hi Michael,

Thanks for your follow up to my questions...
In regards to arraying prongs, the prongs always follow stone placement and never the other way around.
For this type of stone setting, most of the time we want side-by side stones to share a prong on each
side so you have the stones laid out as close as possible to each other along the path curve on a surface
with just enough room for prongs to hold the stones in securely without too much metal showing.
So the prongs need to be just large enough, but not so large that they would obscure the stone
at all.

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.53 In reply to 3034.51 
Hi Michael,

I may have posted something confusing in my comment about David's idea of using 2d curves to lay out a pattern.
I understand that the 2d circles would only be used to determine the spacing and size.

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.54 In reply to 3034.49 
Hi Paolo,

Thanks.. I took a look at it.. seems like an effective tool to customize Rhino
to do some jewelry specific modeling operations..I'm hoping Michael
can implement a few tools in MoI that will do similar things. :-)
Have you used Smart3d?

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:  Paolo (PAOLOLOBBIA)
3034.55 In reply to 3034.54 
Hi Jesse,

I proposed it to my colleague, expert modelist in the company where i work.
For years he was searcing for a program that does stonesetting in a traditional way.
I myself am not an expert of stonesetting.

It's not a miracle program but it saves you a lot of time because the only thing you have to do is to place the stones according to your experience.
The making of holes is special because the virtual dril shape is variable depending on your needs.

The programmer himself has livetime experience in stonesetting(Pavee) and decided to change his job,and produced this product.
They are working on a automatic version.


Here is a link to see some other opinions:
http://www.rhino3d.com/resources/display.asp?language=&listing=4613

EDITED: 5 Nov 2009 by PAOLOLOBBIA

  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.56 In reply to 3034.55 
Hi Paolo,

Thanks, it looks interesting, but seems to be fairly pricey for what it does, compared to RhinoGold and RhinoJewel.

I prefer to work in MoI to create 3dm files to make jewelry models whenever I can, so I can wait for Michael to develop the array tools
to work more efficiently for jewelry design! :-)

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.57 In reply to 3034.56 
Hi Jesse, I've been able to make some progress on a gem arraying function for the next v2 beta. Since I want the next beta release to be the last one for v2 this probably won't get refined any more until sometime into v3 but it seems like it should help out for the time being and is hopefully a good starting point.

You will have to set up a shortcut key to launch it, the command name will be: ArrayGem (to be similar to the other array commands like ArrayGrid, ArrayDir, etc..).

The way it works is pretty simple, you first select the objects that you want to duplicate and also select a previously drawn "base circle" along with them.

Then you run the command, and select the path curves (there can be multiple curves) and the surface for orientation.

Then the final stage is to enter a spacing value, either by clicking 2 points or by entering in a number value.

It looks like this:



Here's another view of that result:




The center point of the base circle defines the "water level point" - the circle center point will be the place that goes directly on the surface. So you can position the circle and objects in relation to one another to define how far you want stuff to stick up above or below the surface. Here's a closeup of the object and base circle from above:



You can choose to either move the object up, or the circle down to adjust that part.

Then the way the spacing works is the spacing you pick becomes the length of an invisible line segment that is constructed between each circle.

It's a little slow to compute everything, like the above one takes 16 seconds of calculation time to finish (but on a 6-year old slow computer though too). Anyway, if you have a big one it will probably take a few minutes but certainly a whole lot faster than placing them by hand! :)

Also it will probably not be able to work right if the curve wiggles around a whole bunch in between each instance. So you can't have something like a curve that bends back and forth a lot and then have a large spacing specified where it would have to cross a bunch of those bends in one step.

It seems to be working pretty well though, but there will probably need to be some tune-ups in v3.

Here's another example - here I drew one 2D curve, then offset it several times and then projected it on to the surface, then used ArrayGem:








There are also some other object orientation tools coming in addition to this, like PastePart (paste + set orientation as shown in a previous thread), and also a new Transform > Orient command as well.

So all together there should be a big boost in this area of getting stuff oriented to a surface normal in this next beta release, which was pretty painful to do before.

- 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.58 In reply to 3034.57 
An example with a projected spiral:








It only guarantees the spacing of each instance from the one behind it along the curve though, if your curve comes too close together in different areas then the items between those areas can still get bunched up to one another.

But at least this avoids bunching of adjacent items along the curve though, which could be hard to avoid with the regular kind of curve array function that measures distance as traveled along the curve rather than the direct 3D distance between things like this new one.

- 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.59 In reply to 3034.58 
Also this one won't really work very well on closed curves because the way it works is to simply use the given spacing to move each item from the previous one.

By the time you march all the way around a closed curve, there is not any guarantee that the last one placed is going to end up at that same distance away from the very first one placed at the start of the curve.

I'm not completely sure what to do about that, I guess that probably you would want the spacing tweaked slightly so that the last step ended up back right on the first one. But that's going to be extremely time consuming to calculate.

- 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:  Frenchy Pilou (PILOU)
3034.60 
What is the difference with array curve?
---
Pilou
Is beautiful that please without concept!
My Gallery
  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.61 In reply to 3034.57 
Hi Michael,

This looks really great so far! I especially like the work you've done on positioning with the "base circle"
and that it can work with multiple curves.

Is it because it has history enabled that it's a little slow to calculate? If so, that's OK, since it
will allow the user to adjust positioning rather easily.

> Also it will probably not be able to work right if the curve wiggles around a whole bunch in between each instance. So you can't have something like a curve that bends back and forth a lot and then have a large spacing specified where it would have to cross a bunch of those bends in one step.

This will probably not even be a problem, if I understand correctly. The array curves typically do not wiggle radically in relation to the size of the stone and most gemstone arrays pack the stones as close together as practically possible, often allowing the stone setter to secure adjacent stones with a pair of common prongs. Could prong placement relative to gemstone placement be something for future development?

Perhaps the prongs would be off to the side like the way you have the gemstone now, except there would be two stones sharing prongs and the function would array it in such a way that the stones will share a pair of common prongs? I can do an example later today to illustrate this idea.

Looking forward to trying out the new tool...

Thanks,

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  2-21  22-41  42-61  62-70