Hi Pilou,
Bottlefeedarray2 is a step in creating the profiles cut in
the shaft as it travels along the screw.
If you produce a screw from just the bottle profile
by sweeping the bottle profile along the helix only
and then place a bottle in the thread and do a
Boolean subtract you will see it cuts into the thread.
That's because the bottle is vertical and not at the helix
Angle of the screw.
@Brian,
> Maybe the MoI Boolean dif command could have a sequential checkbox?
Boolean diff does actually operate in a sequential manner internally, there's a loop and each cutting object is subtracted from the main object one at a time. It can be good sometimes to control the ordering specifically but probably in this case with each object being created in an array so all in that same order in the geometry database I'd think it would probably be the same as if the script did the boolean difference too.
@Burr,
> Is there a way to set "an attachment point" to the bottle?
Not currently, it's only currently designed to work on a fixed radius helix. The variable part that could be used currently is variable pitch where the spacing along the axis direction between each turn is not constant (like a changing "vertical step" in array circular) . You've got a variable radius one there, not variable pitch. It could be possible to make one that would work with variable radius, it just didn't sound like that was needed for what Barry was making, let me know if you need to manufacture one with variable radius.
@Barry,
> I have tried to run the script on a reverse twist helix and it does not seem to work.
Do you need this to be fixed in order to proceed or is the solution you came up with working ok?
> The subtraction from shaft required careful attention as Moi struggled when all bottles
> or groups of bottles where selected so as Brian as suggested it would be good if they
> could be subtracted one by one as they are produced I think this the way the Autodesk
> Feed Screw Generator plugin works.
Internally the regular boolean command already does subtract cutting objects one by one out of the base object, so I don't think there would be any change in doing it one by one in the script. It's just a lot of work doing so many booleans with pieces that are very close to one another, it's going to take some time to calculate. If it's getting a valid result instead of speed that you're worried about you may need to make it a little less dense so there aren't quite so many things barely grazing each other's edges and another possibility is to do a boolean union on all the bottles first before doing the difference. Actually doing the union in a controlled way in the script could have some potential to speed things up if say it unioned each sequential pair together first, then those pairs into quads, etc.. until it was done because that would do more boolean operations on simpler objects. But I think it might take a fair amount of development time to make that happen though.
@Nicolas,
> it's possible or not to generate directly one smooth profile for boolean operation?
> I have TopSolid but not this function, it's seem generate one surface smooth with the profile cutting.
I guess it's possible maybe with a couple months of work or so. It looks like TopSolid is generating profile curves to make cross sections for a loft to make one smooth surface. Unfortunately I just don't have enough time available myself to make such a detailed customized solution like that in MoI.
@Michael,
No need the variable radius. I just saw some screws made like that. I don't see that's what Barry is looking for.
@Others,
I see now why the bottle needs to be a solid, as opposed to my suggestion of just lofting profiles to solve a long Boolean.
Another way to get around it is to just do chunks. So I do an array with 400 bottles. I basically window select little "5ths" of the lot. Each Boolean only took about 15 seconds. If you try with all 1 go, it can make the calc take a long time.
Hi Michael,
Thanks for explaining the Boolean operation and yes reducing the amount of facets to the minimum will help.
Re: Reversing helix.
>Do you need this to be fixed in order to proceed or is the solution you came up with working ok?
I think it would be good to have a check box the same as in the helix creation to save confusion as
normally these screws are in pairs.
Regarding achieving a smooth scroll I have been lofting the facet edges.
Is it better to rebuild the bottle profile so there is only one seam for the Boolean operation and
to give a continuous facet edge to loft ?
I've attached photo's as reference to show how to easily select them.
Again many thanks have a nice weekend.
Barry
Hi Burr, yeah that's a good idea to make the cylinder in a few sections to speed up the booleans. Anything that limits the number of faces on things will also limit the number of intersection checks. Then at the end to glue sections together it should be possible to do that by deleting the common end caps between pieces and using Join rather than boolean union.
> I think it would be good to have a check box the same as in the helix
> creation to save confusion as normally these screws are in pairs.
I know it sounds simple to add in a checkbox but unfortunately it can take a surprising amount of time to make it work correctly with testing it. So unless you're blocked from being able to finish that's not something that I'd do right now anyway since it will probably take me much more time to do it than it would save you. I kind of thought that it should work ok on a reversed one, is it that the reversed one isn't centered on the origin maybe?
> Regarding achieving a smooth scroll I have been lofting the facet edges.
> Is it better to rebuild the bottle profile so there is only one seam for the Boolean operation and
> to give a continuous facet edge to loft ?
I'd think so - it would likely be good to reduce the number of edges and segments involved.
Hi all,
Thank you Michael for your reply.
With the oval bottle, the results seem good, but more difficult to rectangular bottle and round corners.
I think the possibility to to run the script with a reverse twist helix option will be really good.
Best regards.
Nicolas.
re:
> I think the possibility to to run the script with a reverse twist helix option will be really good.
It's not really feasible to make a reverse twist helix option for this particular script because the script does not generate any twist of its own, the twist comes from the helix you give it. The script just generates points along whatever helix you've supplied. So a reverse twist helix should work ok, as long as it is following the requirements of the script which is that the helix axis should be positioned at the origin.
Is it possible your reverse twist helix is off to the side and not positioned at the origin like the script is expecting? If that's not it please post an example file.
The script will work fine on a left hand screw, if the initial setup is done in the proper way.
The key is to create the left hand helix (LH), just like the initial right hand helix (RH).
Then move the LH helix to the Left of the bottle, then FLIP the moved LH helix.
(It will be necessary to have a new blank screw/cylinder located to the left of the initial bottle.)
Then run Michaels script, with -90 rotation, because the array is done from left to right.
This preserves the Counterclockwise rotation of the bottle.
After the Boolean(s) have created the LH screw, in TOP view, rotate the entire LH screw clockwise about the center of the bottle, by -180 degrees.
This places the LH screw at "top of MoI screen."
The original RH screw is at "bottom of MoI screen."
(The above steps produce a LH screw which is equivalent to Barry's mirror method IHMO, (I think).)
Geometry remarks on LH, RH, CW and CCW, which may or may not depend upon the position of the person viewing:
A RH screw remains a RH screw, regardless of how it is rotated in MoI.
A LH screw remains a LH screw, regardless of how it is rotated in MoI.
The bottle needs to rotate Counterclockwise (CCW) from the TOP view, at all times.
If the bottleCutter and or either screw is rotated about the X-axis, from the TOP view, the bottleCutter will be rotating Clockwise (CW),
which is Opposite to what is desired.
But if the bottleCutter is rotated about the Z-axis, from the TOP view, the bottleCutter will still be rotating Counterclockwise (CCW),
which is what is desired.
- Brian
Additional remark:
The bottle needs to be pushed "gravity downwards" by each screw, or it could become airborne.
Looking from the Left side of the machine, the LH TopOfScreen screw should rotate CW.
Looking from the Left side of the machine, the RH BottoomOfScreen screw should rotate CCW.
(One UTube video has the bottle rotating CW from TOP view, which is opposite from our current models.)
Yeah it's just the problem I mentioned above, your reverse helix does not have the helix/cylinder axis positioned at the 0,0,0 world origin.
In order to simplify the script it assumes that the helix axis is on the world x axis line. That doesn't mean just in the same direction as the x axis, it means directly on the world axis line.
I've attached an update of your file where I've moved the "Not working" one so its axis starts at the 0,0,0 world origin point, does it work ok for you now? I guess it may need a negative rotation angle as well (which I see Brian notes above too).
Thank.
Script work fine in your 3dm file.
I must just think to launch the script with helix/cylinder axis positioned at the 0,0,0 world origin.
Very simply ;-)
Best regards.
Nicolas.
Hey Barry,
Here's my cheesy version. I wanted to setup a simulation, which should provide collision checking etc....But:
My opposing screw is still malformed for one. lol
But I also wanted to ask if you can share your process a bit deeper. Mostly with regard to the station count on your helical length, and also if you are using a slug "other" than the bottle (the one to be moved) to do the Booleans...
Your "bite curves" are beautiful and will help in the smooth surface creation. I HAVE gotten better results with higher counts, but still get SOME bad bites. Is there any magic you can share in this regard?
Hi Burr,
my shaft is 4 long x 1 diameter and the helix 4 coils. I used an ellipse 0.3 x 0.5 blank to produce the facets at 50 per coil.
The bottle rotation was 90 degrees over the length of the helix. In addition I added a run in and run out. This was done
by adding a single coil on each end with no rotation thus giving blanks to Boolean of one coil entry no rotation, four coils (Shaft)
90 degrees rotation, one coil exit no rotation.
For the opposite hand helix shaft I rotated the blank 180 degrees to move the seam thinking this will give a continuous facet
edge for lofting.
Hope this helps
Barry.
Ps how did you do your animation?
Hi BurrMan,
In your animation (Inventor?), your opposite screw seems one "mirror"?
My first tests with collision produce very surprising results. ("Flying bottle")
You need to pay a lot of attention when creating the screws and the intersect object.
My work does not leave me very little time to work on it "bottle feed screw" but really an interesting topic.
Thank all for that.
Hi Barry,
Thanks for the breakdown. That will help me alot!
The animation is simlab. They have a simulation workbench, but i wont move there until i get the setup correct.