MoI discussion forum
MoI discussion forum

Full Version: Bottle Feed Screw

Show messages:  1  2-21  22-41  42-61  62-73

From: Karsten (KMRQUS)
18 May 2017   [#22] In reply to [#21]
Hello,

maybe something like that?



Have a nice day
Karsten

Attachments:
schnecke.nod

Image Attachments:
schnecke.png 


From: bigseb
18 May 2017   [#23] In reply to [#2]
>>I recall seeing this subject on the internet before.
A google search of "bottle feed screw design," produces some hits.

That was probably on the Geomagic Design Forums. Can't recall the name of the thread though..
From: Barry-H
18 May 2017   [#24]
Hi Karsten,
which version of the node editor do I need to run your node.
Can you please post the 3dm you used so I have a start point
for me to understand how it works.
Thanks
Barry
From: Karsten (KMRQUS)
18 May 2017   [#25] In reply to [#24]
Hello Barry,

I've used nodeeditor v0.93 in the modified version. You don't need a base file for that.
Here is the link:
http://moi3d.com/forum/index.php?webtag=MOI&msg=8197.7

Nevertheless here is the resultfile:

A nice day to all
Karsten
From: Michael Gibson
18 May 2017   [#26] In reply to [#18]
Hi Pilou,

> @ Michael
> so does it possible to add the Rotation option of the profile inside the native Array Curve Function ?
> Now there is only the orientation's rotation of the curve itself! (in the Array curve function)

The rotation option from array curve is referring to rotation around the curve tangent at each point. From what I've understood this special kind of array that Barry needs should only produce rotations in a 2D view and not around the curve tangent.

- Michael
From: BurrMan
18 May 2017   [#27] In reply to [#21]
Bemfarmer,

I would look at the "ScriptArray" script Michael made.

http://moi3d.com/forum/index.php?webtag=MOI&msg=5595.18

If you remove the scaling part and then look at adding vertical steps (Like the circle array command), possibly incorporating the "VariablePitchHelix" stuff, it would make a loftable, single smooth surface to subtract, for the screw.

Not that that's "Easy" or something. If anybody can do it, you can!
From: Michael Gibson
18 May 2017   [#28] In reply to [#19]
Hi Barry,

> thanks for the script but unfortunately its rotation is in the wrong axis.

Sorry, I had interpreted one of your images as the rotation needing to happen in the Front view. Or I guess I just happened to position things that way when I made my own file to test with.

You can change the axis by editing line number 107 in the BottleFeedArray.js file.

It currently has this:
code:
	var frame = moi.vectorMath.createFrontFrame();


Change it to this instead:
code:
	var frame = moi.vectorMath.createTopFrame();


Hopefully that will do what you need then.

- Michael
From: bemfarmer
18 May 2017   [#29] In reply to [#28]
Edit: Changing Frame to Top yielded analogous results to Front version.

With respect, I think that the BottleFeedArray script is not complete, or not correct.
It seems to me that the bottle is sitting on its bottom, sunk into the cylinder.

The bottles should sit vertically, alongside and partially intersecting the screw/cylinder.
The center of the side of the bottle should, more or less, align horizontally with the axis of the cylinder.
The bottles are to be rotated around their vertical axis, as they move to the right.
The cylinder is the blank stock which will become the screw.
In an actual physical model, the screw rotates, but due to relative motion, the CAD script rotates the bottle around the cylinder,
and the bottles become the cutting object, as the bottles are booleen difference subtracted away from the cylinder, multiple times.

I think that the script needs to have added a rotation of the bottles about the cylinder, "centered" on the helix axis.

(I deleted my previous comments on 2d sweep, which was my faulty thinking.)

- Brian
From: Michael Gibson
18 May 2017   [#30] In reply to [#29]
Hi Brian, that sounds logical. Thanks for figuring it out!

Previously Barry wrote this:

"The bottle is always vertical to the horizontal
screws and only rotates in the plan view."

I was focused in on that "only rotates in the plan view" part and so only did one rotation.

So Barry, can you please clarify that so I can make sure - at each station you need the object rotated in 2 ways, once in the plan view which is rotating around the world z axis, correct? Then another rotation around the cylinder/helix axis direction which is the world x axis?

It might simplify things a little bit if the cylinder/helix axis was right on a world axis starting at the origin, will that restriction work for you?

- Michael
From: bemfarmer
18 May 2017   [#31] In reply to [#30]
Here is an Initial model in Top View, for use with TOP frame.

Utilizing Michaels script BottleFeedArray (Top frame version), places the arrayed bottles along the helix where they need to be,
but the script needs to have added:
Each successive bottle needs to be rotated so that its center axis is perpendicular to the cylinders normal at that Pt.

I am pretty slow at getting anything done. :-)

Each angle could probably be calculated, or ...

(The initial bottle's center axis may not be tangent to the cylinder, but is perpendicular to the normal.)

- Brian

Attachments:
InitialFeedScrewTOP01.3dm


From: bemfarmer
18 May 2017   [#32] In reply to [#31]
The angle to rotate a cutting bottle around a regular helix , for bottle at station n, is probably something like:

(#helix turns * 360) * n / (#stations-1)

assuming the initial bottle is at station index zero.

But since the helix may be of variable pitches, the angle would be some other unknown formula,
so perhaps a "normal to normal alignment" of the bottles vs the cylinder, would be better?

- Brian

The axis of the bottle, versus the surface of the cylinder is worrysome?

Burrman, thanks for link and info.
From: BurrMan
18 May 2017   [#33] In reply to [#30]
Hi michael,
So take a cutting object (a barrel) and do a circular array with vertical step.

Now each barrel needs to be rotated around "it's"original axis, 90 degrees from the first barrel at zero, to the last barrel at 90 (a rotation which spans the vertical distance. The barrel is essentially flopped over onto its side by the end of the array.

Now this needs to happen on a variable pitch, as opposed to a linear pitch of the circular array vertical step.

The "randomize" command allows for the "rotation of individual axis" but its a random application. I dont know if the "morph" rotation can be done with code though...
From: Michael Gibson
19 May 2017   [#34] In reply to [#33]
Hi Burr thanks yeah array circular using a vertical step makes sense to me now. I'll see if I can adjust the script.

@Brian, I was thinking a bit whether the script should take the parameters for a helix and use helix calculations in it but like you mention it would be easier for things like variable spacing for it to take an already made helix curve like it currently does. I should be able to use a rotate with reference points to do the other kind of rotation, I'll try that in a moment here.

- Michael
From: Michael Gibson
19 May 2017   [#35]
Ok, hopefully the attached one has the proper rotations now.

It assumes the bottle is pointing upwards in the world z axis direction and is positioned around the start point of the helix, and that the helix/cylinder axis has its origin at the world origin and that the helix/cylinder axis direction is the world x axis direction as in Brian's InialFeedScrewTOP01.3dm file from above.

I think it should work ok if you substitute a variable pitch helix in but I did not test that. But it distributes the items by equal distance as traveled along the curve, so with a variable pitch helix trying to use an item count that's related to the number of helix turns won't place items only at the quadrant points of the helix as it would with a regular fixed pitch helix. I don't know if a sparse placement only at quadrant points is desired but it looked like some of the images had that.

- Michael

Attachments:
BottleFeedArray2.zip


From: bemfarmer
19 May 2017   [#36] In reply to [#35]
Well, the script seems to be working... (My superficial opinion anyway)

FALSE: I had to make the bottle hollow, otherwise got a helical ribbon with many bite marks on the edges.
(Using a solid bottle, the solid screw was formed by the booleans, but color of cuts matched the bottles, not the screw.)
Hollow bottle as cutter also worked...

Boolean difference is very slow. Several minutes for 50 bottles. 100 bottles taking "forever."

There is a lot of leftover surfaces after Boolean, but by selecting the screw, and hiding the "leftovers" the screw appears as a solid.

The Boolean difference needs to be done in smaller batches. 100 bottle screw, 180 degree rotation completed.

- Brian
From: bemfarmer
19 May 2017   [#37] In reply to [#36]
The engineering goes into setting up the variable pitch helix...

The bottle can be assumed to have its verticle axis intersecting the beginning of the helix.
If the bottle's axis is beyond the surface of the cylinder, a new, larger radius cylinder should be made. (?)
After the larger radius cylinder becomes a screw, it can have its radius shaved down later. (?)

- Brian
From: Frenchy Pilou (PILOU)
19 May 2017   [#38]
About BottleFeedArray2
Does this result normal ? (50 steps - 12°)

From: Barry-H
19 May 2017   [#39]
Michael,
many thanks works just as needed.
Barry


Image Attachments:
Result.png 


From: Michael Gibson
19 May 2017   [#40] In reply to [#38]
Hi Pilou,

> Does this result normal ? (50 steps - 12°)

It is if you don't have your helix positioned as required, it looks like your helix is going in the world z axis direction instead of the world x axis direction.

- Michael
From: Michael Gibson
19 May 2017   [#41] In reply to [#39]
Hi Barry, you're welcome I'm glad that does the trick! And thanks to Brian and Burr for helping clarifying what was needed.

- Michael

Show messages:  1  2-21  22-41  42-61  62-73