FH
Father Horton
Mon, Mar 24, 2025 9:55 PM
Why does the second screw not end up centered over the end like the first
one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2, 180,
"arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
Why does the second screw not end up centered over the end like the first
one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2, 180,
"arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
AM
Adrian Mariano
Mon, Mar 24, 2025 10:46 PM
Looks like it might be a bug in turtle() but I haven't managed to find the
cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
Why does the second screw not end up centered over the end like the first
one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2, 180,
"arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Looks like it might be a bug in turtle() but I haven't managed to find the
cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
> Why does the second screw not end up centered over the end like the first
> one?
>
> include <BOSL2/std.scad>
> include <BOSL2/screws.scad>
>
> inner_radius = 300;
> width = 20;
> outer_radius = width + inner_radius;
> pieces = 8;
> thickness = 5;
>
> angle = 360 / pieces;
>
> path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2, 180,
> "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
> translate([0, inner_radius + width / 2, 0])
> linear_extrude(height = 5) {polygon(path);};
>
> translate([0, inner_radius + width, 10])
> screw("M10x4", length = 20);
>
> rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
> screw("M10x4", length = 20);
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
FH
Father Horton
Mon, Mar 24, 2025 10:52 PM
If so, it has to be affecting the big arcleft too, because it ends up in
the right place.
On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Looks like it might be a bug in turtle() but I haven't managed to find the
cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
Why does the second screw not end up centered over the end like the first
one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
If so, it has to be affecting the big arcleft too, because it ends up in
the right place.
On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
> Looks like it might be a bug in turtle() but I haven't managed to find the
> cause. The first arcright seems to be undersized.
>
> On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
> discuss@lists.openscad.org> wrote:
>
>> Why does the second screw not end up centered over the end like the first
>> one?
>>
>> include <BOSL2/std.scad>
>> include <BOSL2/screws.scad>
>>
>> inner_radius = 300;
>> width = 20;
>> outer_radius = width + inner_radius;
>> pieces = 8;
>> thickness = 5;
>>
>> angle = 360 / pieces;
>>
>> path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
>> 180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
>> translate([0, inner_radius + width / 2, 0])
>> linear_extrude(height = 5) {polygon(path);};
>>
>> translate([0, inner_radius + width, 10])
>> screw("M10x4", length = 20);
>>
>> rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
>> screw("M10x4", length = 20);
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
AM
Adrian Mariano
Mon, Mar 24, 2025 10:59 PM
I only explicitly tested the first one, but presumably it affects all arcs
somehow.
On Mon, Mar 24, 2025 at 6:53 PM Father Horton fatherhorton@gmail.com
wrote:
If so, it has to be affecting the big arcleft too, because it ends up in
the right place.
On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Looks like it might be a bug in turtle() but I haven't managed to find
the cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
Why does the second screw not end up centered over the end like the
first one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I only explicitly tested the first one, but presumably it affects all arcs
somehow.
On Mon, Mar 24, 2025 at 6:53 PM Father Horton <fatherhorton@gmail.com>
wrote:
> If so, it has to be affecting the big arcleft too, because it ends up in
> the right place.
>
> On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
> discuss@lists.openscad.org> wrote:
>
>> Looks like it might be a bug in turtle() but I haven't managed to find
>> the cause. The first arcright seems to be undersized.
>>
>> On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
>> discuss@lists.openscad.org> wrote:
>>
>>> Why does the second screw not end up centered over the end like the
>>> first one?
>>>
>>> include <BOSL2/std.scad>
>>> include <BOSL2/screws.scad>
>>>
>>> inner_radius = 300;
>>> width = 20;
>>> outer_radius = width + inner_radius;
>>> pieces = 8;
>>> thickness = 5;
>>>
>>> angle = 360 / pieces;
>>>
>>> path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
>>> 180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
>>> translate([0, inner_radius + width / 2, 0])
>>> linear_extrude(height = 5) {polygon(path);};
>>>
>>> translate([0, inner_radius + width, 10])
>>> screw("M10x4", length = 20);
>>>
>>> rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
>>> screw("M10x4", length = 20);
>>>
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>
AM
Adrian Mariano
Tue, Mar 25, 2025 8:35 PM
The problem with the original code is that it creates the turtle path
centered on the origin starting with an inner radius as given but then
shifts it based on inner_radius+width. That means the centerpoint of the
big arcs is not at the origin, but placement of the screws assumes an
origin centered curve.
On Mon, Mar 24, 2025 at 6:59 PM Adrian Mariano avm4@cornell.edu wrote:
I only explicitly tested the first one, but presumably it affects all arcs
somehow.
On Mon, Mar 24, 2025 at 6:53 PM Father Horton fatherhorton@gmail.com
wrote:
If so, it has to be affecting the big arcleft too, because it ends up in
the right place.
On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Looks like it might be a bug in turtle() but I haven't managed to find
the cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
Why does the second screw not end up centered over the end like the
first one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
The problem with the original code is that it creates the turtle path
centered on the origin starting with an inner radius as given but then
shifts it based on inner_radius+width. That means the centerpoint of the
big arcs is not at the origin, but placement of the screws assumes an
origin centered curve.
On Mon, Mar 24, 2025 at 6:59 PM Adrian Mariano <avm4@cornell.edu> wrote:
> I only explicitly tested the first one, but presumably it affects all arcs
> somehow.
>
> On Mon, Mar 24, 2025 at 6:53 PM Father Horton <fatherhorton@gmail.com>
> wrote:
>
>> If so, it has to be affecting the big arcleft too, because it ends up in
>> the right place.
>>
>> On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
>> discuss@lists.openscad.org> wrote:
>>
>>> Looks like it might be a bug in turtle() but I haven't managed to find
>>> the cause. The first arcright seems to be undersized.
>>>
>>> On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
>>> discuss@lists.openscad.org> wrote:
>>>
>>>> Why does the second screw not end up centered over the end like the
>>>> first one?
>>>>
>>>> include <BOSL2/std.scad>
>>>> include <BOSL2/screws.scad>
>>>>
>>>> inner_radius = 300;
>>>> width = 20;
>>>> outer_radius = width + inner_radius;
>>>> pieces = 8;
>>>> thickness = 5;
>>>>
>>>> angle = 360 / pieces;
>>>>
>>>> path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
>>>> 180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
>>>> translate([0, inner_radius + width / 2, 0])
>>>> linear_extrude(height = 5) {polygon(path);};
>>>>
>>>> translate([0, inner_radius + width, 10])
>>>> screw("M10x4", length = 20);
>>>>
>>>> rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
>>>> screw("M10x4", length = 20);
>>>>
>>>> _______________________________________________
>>>> OpenSCAD mailing list
>>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>>
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>
>>
FH
Father Horton
Tue, Mar 25, 2025 9:20 PM
Thank you.
On Tue, Mar 25, 2025 at 3:35 PM Adrian Mariano avm4@cornell.edu wrote:
The problem with the original code is that it creates the turtle path
centered on the origin starting with an inner radius as given but then
shifts it based on inner_radius+width. That means the centerpoint of the
big arcs is not at the origin, but placement of the screws assumes an
origin centered curve.
On Mon, Mar 24, 2025 at 6:59 PM Adrian Mariano avm4@cornell.edu wrote:
I only explicitly tested the first one, but presumably it affects all
arcs somehow.
On Mon, Mar 24, 2025 at 6:53 PM Father Horton fatherhorton@gmail.com
wrote:
If so, it has to be affecting the big arcleft too, because it ends up in
the right place.
On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Looks like it might be a bug in turtle() but I haven't managed to find
the cause. The first arcright seems to be undersized.
On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
discuss@lists.openscad.org> wrote:
Why does the second screw not end up centered over the end like the
first one?
include <BOSL2/std.scad>
include <BOSL2/screws.scad>
inner_radius = 300;
width = 20;
outer_radius = width + inner_radius;
pieces = 8;
thickness = 5;
angle = 360 / pieces;
path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
translate([0, inner_radius + width / 2, 0])
linear_extrude(height = 5) {polygon(path);};
translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
screw("M10x4", length = 20);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Thank you.
On Tue, Mar 25, 2025 at 3:35 PM Adrian Mariano <avm4@cornell.edu> wrote:
> The problem with the original code is that it creates the turtle path
> centered on the origin starting with an inner radius as given but then
> shifts it based on inner_radius+width. That means the centerpoint of the
> big arcs is not at the origin, but placement of the screws assumes an
> origin centered curve.
>
>
> On Mon, Mar 24, 2025 at 6:59 PM Adrian Mariano <avm4@cornell.edu> wrote:
>
>> I only explicitly tested the first one, but presumably it affects all
>> arcs somehow.
>>
>> On Mon, Mar 24, 2025 at 6:53 PM Father Horton <fatherhorton@gmail.com>
>> wrote:
>>
>>> If so, it has to be affecting the big arcleft too, because it ends up in
>>> the right place.
>>>
>>> On Mon, Mar 24, 2025 at 5:46 PM Adrian Mariano via Discuss <
>>> discuss@lists.openscad.org> wrote:
>>>
>>>> Looks like it might be a bug in turtle() but I haven't managed to find
>>>> the cause. The first arcright seems to be undersized.
>>>>
>>>> On Mon, Mar 24, 2025 at 5:55 PM Father Horton via Discuss <
>>>> discuss@lists.openscad.org> wrote:
>>>>
>>>>> Why does the second screw not end up centered over the end like the
>>>>> first one?
>>>>>
>>>>> include <BOSL2/std.scad>
>>>>> include <BOSL2/screws.scad>
>>>>>
>>>>> inner_radius = 300;
>>>>> width = 20;
>>>>> outer_radius = width + inner_radius;
>>>>> pieces = 8;
>>>>> thickness = 5;
>>>>>
>>>>> angle = 360 / pieces;
>>>>>
>>>>> path = turtle(["arcright", inner_radius, angle, "arcleft", width / 2,
>>>>> 180, "arcleft", outer_radius, angle, "arcleft", width / 2, 180]);
>>>>> translate([0, inner_radius + width / 2, 0])
>>>>> linear_extrude(height = 5) {polygon(path);};
>>>>>
>>>>> translate([0, inner_radius + width, 10])
>>>>> screw("M10x4", length = 20);
>>>>>
>>>>> rotate([0, 0, -angle]) translate([0, inner_radius + width, 10])
>>>>> screw("M10x4", length = 20);
>>>>>
>>>>> _______________________________________________
>>>>> OpenSCAD mailing list
>>>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>>>
>>>> _______________________________________________
>>>> OpenSCAD mailing list
>>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>>
>>>