Hello
I made an OpenSCAD assemblage of the well known Thingiverse
"Mostly_Printed_CNC" by Allted with some small modifications and add-ons by
me. The objective is to facilitate the 3D view of the machine and make an
animation of it.
http://forum.openscad.org/file/n16504/Capture10.jpg
I'm trying to deform the timing belt in order to follow the path from the
motors pulleys to the bearings but I haven't been successful with this task.
I tried the sweep() function but I can't figure how to generate correctly
the profile of the belt as polygon. There is a problem with the orientation
as can be seen on the picture.
http://forum.openscad.org/file/n16504/Capture11.jpg
The code I'm playing with:
---=========================
use <sweep.scad>
use<timing_belts.scad>
//function f(t) = [40t, 0, 10-(10sqrt(cos(360t)))];
function f(t) = [3+30t, 0, 10-10cos(360t)];
/*
function Profile_MXL()= [
[-0.660421,-0.5],[-0.660421,0],
[-0.621898,0.006033],[-0.587714,0.023037],
[-0.560056,0.049424],[-0.541182,0.083609],
[-0.417357,0.424392],[-0.398413,0.458752],
[-0.370649,0.48514],[-0.336324,0.502074],
[-0.297744,0.508035],[0.297744,0.508035],
[0.336268,0.502074],[0.370452,0.48514],
[0.39811,0.458752],[0.416983,0.424392],
[0.540808,0.083609],[0.559752,0.049424],
[0.587516,0.023037],[0.621841,0.006033],
[0.660421,0],[0.660421,-0.5]];
*/
function Profile_MXL()= [
[-0.5,-0.660421],[0,-0.660421,],
[0.006033,-0.621898],[0.023037,-0.587714],
[0.049424,-0.560056],[0.083609,-0.541182],
[0.424392,-0.417357],[0.458752,-0.398413],
[0.48514,-0.370649],[0.502074,-0.336324],
[0.508035,-0.297744],[0.508035,0.297744],
[0.502074,0.336268],[0.48514,0.370452],
[0.458752,0.39811],[0.424392, 0.416983],
[0.083609,0.540808],[0.049424,0.559752],
[0.023037,0.587516],[0.006033,0.621841],
[0,0.660421],[-0.5,0.660421]];
module MXL(width = 6) render(convexity=4)
{
//linear_extrude(height=width)
polygon([
/*
[-0.660421,-0.5],[-0.660421,0],
[-0.621898,0.006033],[-0.587714,0.023037],
[-0.560056,0.049424],[-0.541182,0.083609],
[-0.417357,0.424392],[-0.398413,0.458752],
[-0.370649,0.48514],[-0.336324,0.502074],
[-0.297744,0.508035],[0.297744,0.508035],
[0.336268,0.502074],[0.370452,0.48514],
[0.39811,0.458752],[0.416983,0.424392],
[0.540808,0.083609],[0.559752,0.049424],
[0.587516,0.023037],[0.621841,0.006033],
[0.660421,0],[0.660421,-0.5] ]);
*/
[-0.5,-0.660421],[0,-0.660421,],
[0.006033,-0.621898],[0.023037,-0.587714],
[0.049424,-0.560056],[0.083609,-0.541182],
[0.424392,-0.417357],[0.458752,-0.398413],
[0.48514,-0.370649],[0.502074,-0.336324],
[0.508035,-0.297744],[0.508035,0.297744],
[0.502074,0.336268],[0.48514,0.370452],
[0.458752,0.39811],[0.424392, 0.416983],
[0.083609,0.540808],[0.049424,0.559752],
[0.023037,0.587516],[0.006033,0.621841],
[0,0.660421],[-0.5,0.660421] ]);
}
color("Green") rotate([-90,0,90]) scale([1,5,1]) MXL();
step = 0.005;
path = [for (t=[0:step:1-step]) f(t)];
path_transforms = construct_transform_path(path) ;
module DefBelt() color("GoldenRod"){
scale([1,4.9,1]) sweep(Profile_MXL(), path_transforms);
}
DefBelt();
translate([30,-3,0]) rotate([-90,0,0]) belt_length("MXL", 6, 10);
---==================
Any ideas on how to accomplish this are welcome,
Thanks in advance.
jpmendes
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Have a look into the file sweep/toothed-belt.scad and adopt the data and
transform path to your needs.
Rudolf
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504p16506.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Thanks for your advise Parkingbot.
I've digged on the on the example you told me to and I achieved the
following:
http://forum.openscad.org/file/n16564/Capture12.jpg
Unfortunately I hat do use a tricky trick I do not understand, that has the
side effect of generating lots of warnings and one error as in the pictures
below. Whithout the last line in the path definition the result is the one
of the last picture.
http://forum.openscad.org/file/n16564/Capture14.jpg
http://forum.openscad.org/file/n16564/Capture13.jpg
http://forum.openscad.org/file/n16564/Capture15.jpg
How can I avoid the closed path in a clean way?
In the following code line I changed "loop=true" to "loop=false" with no
success.
path = quantize_trajectories(path_definition, steps=teeth4, loop=false,
start_position=$t4);
Can someone help?
Thanks in advance
jpmendes
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504p16564.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Hi jp,
Did you re-write the MPCNC parts in OpenSCAD or just include allted's STL files?
Drew
On 3/16/16 4:08 PM, jpmendes wrote:
Hello
I made an OpenSCAD assemblage of the well known Thingiverse
"Mostly_Printed_CNC" by Allted with some small modifications and add-ons by
me. The objective is to facilitate the 3D view of the machine and make an
animation of it.
http://forum.openscad.org/file/n16504/Capture10.jpg
I'm trying to deform the timing belt in order to follow the path from the
motors pulleys to the bearings but I haven't been successful with this task.
I tried the sweep() function but I can't figure how to generate correctly
the profile of the belt as polygon. There is a problem with the orientation
as can be seen on the picture.
http://forum.openscad.org/file/n16504/Capture11.jpg
The code I'm playing with:
---=========================
use <sweep.scad>
use<timing_belts.scad>
//function f(t) = [40t, 0, 10-(10sqrt(cos(360t)))];
function f(t) = [3+30t, 0, 10-10cos(360t)];
/*
function Profile_MXL()= [
[-0.660421,-0.5],[-0.660421,0],
[-0.621898,0.006033],[-0.587714,0.023037],
[-0.560056,0.049424],[-0.541182,0.083609],
[-0.417357,0.424392],[-0.398413,0.458752],
[-0.370649,0.48514],[-0.336324,0.502074],
[-0.297744,0.508035],[0.297744,0.508035],
[0.336268,0.502074],[0.370452,0.48514],
[0.39811,0.458752],[0.416983,0.424392],
[0.540808,0.083609],[0.559752,0.049424],
[0.587516,0.023037],[0.621841,0.006033],
[0.660421,0],[0.660421,-0.5]];
*/
function Profile_MXL()= [
[-0.5,-0.660421],[0,-0.660421,],
[0.006033,-0.621898],[0.023037,-0.587714],
[0.049424,-0.560056],[0.083609,-0.541182],
[0.424392,-0.417357],[0.458752,-0.398413],
[0.48514,-0.370649],[0.502074,-0.336324],
[0.508035,-0.297744],[0.508035,0.297744],
[0.502074,0.336268],[0.48514,0.370452],
[0.458752,0.39811],[0.424392, 0.416983],
[0.083609,0.540808],[0.049424,0.559752],
[0.023037,0.587516],[0.006033,0.621841],
[0,0.660421],[-0.5,0.660421]];
module MXL(width = 6) render(convexity=4)
{
//linear_extrude(height=width)
polygon([
/*
[-0.660421,-0.5],[-0.660421,0],
[-0.621898,0.006033],[-0.587714,0.023037],
[-0.560056,0.049424],[-0.541182,0.083609],
[-0.417357,0.424392],[-0.398413,0.458752],
[-0.370649,0.48514],[-0.336324,0.502074],
[-0.297744,0.508035],[0.297744,0.508035],
[0.336268,0.502074],[0.370452,0.48514],
[0.39811,0.458752],[0.416983,0.424392],
[0.540808,0.083609],[0.559752,0.049424],
[0.587516,0.023037],[0.621841,0.006033],
[0.660421,0],[0.660421,-0.5] ]);
*/
[-0.5,-0.660421],[0,-0.660421,],
[0.006033,-0.621898],[0.023037,-0.587714],
[0.049424,-0.560056],[0.083609,-0.541182],
[0.424392,-0.417357],[0.458752,-0.398413],
[0.48514,-0.370649],[0.502074,-0.336324],
[0.508035,-0.297744],[0.508035,0.297744],
[0.502074,0.336268],[0.48514,0.370452],
[0.458752,0.39811],[0.424392, 0.416983],
[0.083609,0.540808],[0.049424,0.559752],
[0.023037,0.587516],[0.006033,0.621841],
[0,0.660421],[-0.5,0.660421] ]);
}
color("Green") rotate([-90,0,90]) scale([1,5,1]) MXL();
step = 0.005;
path = [for (t=[0:step:1-step]) f(t)];
path_transforms = construct_transform_path(path) ;
module DefBelt() color("GoldenRod"){
scale([1,4.9,1]) sweep(Profile_MXL(), path_transforms);
}
DefBelt();
translate([30,-3,0]) rotate([-90,0,0]) belt_length("MXL", 6, 10);
---==================
Any ideas on how to accomplish this are welcome,
Thanks in advance.
jpmendes
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
Drew Rogge
drew@dasrogges.com
Phone: 8934OOO629OO4829631OOOOOOO
Hi Drew
The main plastic parts are imports from the original STLs by Allted. Some
are my originals and a couple of others are remixes from the original.
In OpenSCAD I did the assembly and generate all the "vitamins" and the
spindle.
I'm aiming to make an animation of it.
jpmendes
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504p16569.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Ok. Done
The answer was in front of my eyes and I did'nt saw it, simply as to comment
line:
//looped_belt = concat(belt,[belt[0]]);
Case closed
jpmendes
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504p16581.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Well have a look into the code. I guess it closes the path somewhere to avoid
boundary conditions for orientation and slope of start and end points.
But is't a timing belt closed anyway?
Rudolf
--
View this message in context: http://forum.openscad.org/How-to-deform-a-timing-belt-to-follow-a-certain-path-tp16504p16587.html
Sent from the OpenSCAD mailing list archive at Nabble.com.