Hi Les,
Does this cc mean we’re friends again?
P.S. Are you a WhatsApp user?
Best Wishes,
--
Terry, California, USA, land of the free?
=====
On 5 Apr 2023, at 08:48, Karl Exler <karl.exler@meinklang.cc> wrote:
Dear Adrian
By now I am not making anything. I learn and try and so I have my troubles. But many thanks to your help.
1) I would prefer to use the screw function.. but this ends at M12.. And I would like to make larger threads and nuts
2) so, due my humble understanding I have to use the "threaded_rod" function :-( About that I am very sad, as e.g. the tolerance, the head and some other parameters do not exist for this function. Please peg me, if I use wrong termini technici...
3) I will use my tools only for 3D-Printing and there I only use PLA or PETG. No massive force, only bla bla to connect quick and easy. High pitch, big diameter, sometimes with a hole, sometimes with an head - very very less tolerance.
What does the community thing about this demands?
Thanks
Karl
Am 05.04.23 um 15:20 schrieb Adrian Mariano:
You have not given any allowance of space between the parts. Real screw standards will specify that the rod is undersized compared to nominal diameter to allow for clearance so that the screw can actually fit together. If your printer was VERY accurate you might get away with the .05 allowance you're introducing using the $slop parameter, maybe. But you might try printing test pieces that are simple cylinders and holes to get a feeling for what kind of clearance you need. I'm not quite sure what you're trying to make, but it looks sort of like an oversized 1/2-13 bolt, so if a 1/2-13 would suffice you could also try screw("1/2-13,1/2") which might get you off to a better start. If you set the tolerance to the loosest option (1A for bolts, 1B for nuts) and a $slop suitable for your printer the parts should fit easily. (The loose tolerance is in fact loose enough that I believe on my MK3S, the parts fit with a $slop of zero.)
Note that clearance and slop are meant to be two different concepts: clearance is the actual space between parts, whereas slop is an adjustment for inaccuracy of the printer. Correct setting of $slop is intended to produce parts that are the exactly specified size. But you can abuse $slop to introduce clearance so the parts fit. If you want to do that, probably trying 0.2 is a reasonable starting point.
On Wed, Apr 5, 2023 at 3:12 AM Karl Exler <karl.exler@meinklang.cc> wrote:
Dear Gentlemen
Due to your help I made big advances yesterday and I produced my first set of screw and nut today: (jupidoo)threaded_rod(d = 13.65, l = 12.45, pitch = 7.82/4, anchor=BOT, bevel = true, $fn = 64);
threaded_nut(nutwidth=17, anchor=BOT, id=13.65, h=5, pitch=7.82/4, $slop=0.05, $fa=1, $fs=1);And -as expected- it doesn work at the first time. It is really perfect, but too narrow.
Is it d and id?? I took the same values, but I guess, that was not so good. Is there a factor with whoch I have to make the "id" smaller than "d" ?
Many thanks
KarlAm 04.04.23 um 13:12 schrieb nop head:
The line you showed has a function literal in it, so you need at least the latest release of OpenSCAD because it is a fairly recent addition.
On Tue, 4 Apr 2023 at 11:17, Adrian Mariano <avm4@cornell.edu> wrote:
Why do libraries make you really nervous? BOSL2 can create nuts and bolts with a single library. If you want to use list-comprehension-demos you need a version that's been patched to work with recent copies of OpenSCAD. Your error message above suggests that your OpenSCAD might be too old for the library you're trying to use. (The line 507 looks OK, but has a function literal, which I think requires 2021.01.
BOSL2: https://github.com/revarbat/BOSL2/wiki/screws.scad
Another solution is threadlib: https://github.com/adrianschlatter/threadlib, which also depends on several other things, but not agent-scad
On Tue, Apr 4, 2023 at 5:32 AM Karl Exler <karl.exler@meinklang.cc> wrote:
Gentlemen! For me as novice it is really hard to create nuts and bolts. All the "libraries" and "includes" and "use"... that makes me really nervous. What I tried today:
went to Github and fetched
- list-comprehension-demos-master.zip
- scad-utils-master.zip
- agent-scad.zip
extracted them to ~/local/shared/OpenScad/libraries
(took care that the "master" is removed)
used a file from Github to create a screw, which again uses the above mentioned libraries:
<pre style="margin:0px;text-indent:0px">use <agentscad/mx-screw.scad> use <agentscad/mx-thread.scad> // Precision $fn=50; mxBoltHexagonalThreaded( M6() );
Bingo: I receive an error message, which refers to
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,0);background-color:rgb(255,176,176)">ERROR: Parser error in file "/home/karl/.local/share/OpenSCAD/libraries/agentscad/lib-screw.scad", <b>line 507</b>: syntax error </span>
within this file I can find a function at line 507:
<pre style="margin:0px;text-indent:0px">function alignRight(text, width) = let(padding=accumulate(function(a,n) str(a," "),width-len(text), "")) str(padding,text);
And now I am at the end with my small IT latin :-( and I end with the question: "what is the most easiest way to create nuts and bolts. I do not want to create exotic stuff, only the basics... ??? many thanks for your help Karl
_______________________________________________
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_______________________________________________ OpenSCAD mailing list To unsubscribe send an email to <a class="moz-txt-link-freetext" href="mailto:discuss-leave@lists.openscad.org" moz-do-not-send="true" target="_blank">discuss-leave@lists.openscad.org</a>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org<pre class="moz-quote-pre" wrap="">_______________________________________________ OpenSCAD mailing list To unsubscribe send an email to <a class="moz-txt-link-abbreviated" href="mailto:discuss-leave@lists.openscad.org">discuss-leave@lists.openscad.org</a>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Needless to say, sent to wrong address! No way to delete?
I blame the Californian weather….
--
Terry
On 5 Apr 2023, at 16:51, terrypingm@gmail.com wrote:
Hi Les,
Does this cc mean we’re friends again?
P.S. Are you a WhatsApp user?
Best Wishes,
--
Terry, California, USA, land of the free?
=====
On 5 Apr 2023, at 08:48, Karl Exler <karl.exler@meinklang.cc> wrote:
Dear Adrian
By now I am not making anything. I learn and try and so I have my troubles. But many thanks to your help.
1) I would prefer to use the screw function.. but this ends at M12.. And I would like to make larger threads and nuts
2) so, due my humble understanding I have to use the "threaded_rod" function :-( About that I am very sad, as e.g. the tolerance, the head and some other parameters do not exist for this function. Please peg me, if I use wrong termini technici...
3) I will use my tools only for 3D-Printing and there I only use PLA or PETG. No massive force, only bla bla to connect quick and easy. High pitch, big diameter, sometimes with a hole, sometimes with an head - very very less tolerance.
What does the community thing about this demands?
Thanks
Karl
Am 05.04.23 um 15:20 schrieb Adrian Mariano:
You have not given any allowance of space between the parts. Real screw standards will specify that the rod is undersized compared to nominal diameter to allow for clearance so that the screw can actually fit together. If your printer was VERY accurate you might get away with the .05 allowance you're introducing using the $slop parameter, maybe. But you might try printing test pieces that are simple cylinders and holes to get a feeling for what kind of clearance you need. I'm not quite sure what you're trying to make, but it looks sort of like an oversized 1/2-13 bolt, so if a 1/2-13 would suffice you could also try screw("1/2-13,1/2") which might get you off to a better start. If you set the tolerance to the loosest option (1A for bolts, 1B for nuts) and a $slop suitable for your printer the parts should fit easily. (The loose tolerance is in fact loose enough that I believe on my MK3S, the parts fit with a $slop of zero.)
Note that clearance and slop are meant to be two different concepts: clearance is the actual space between parts, whereas slop is an adjustment for inaccuracy of the printer. Correct setting of $slop is intended to produce parts that are the exactly specified size. But you can abuse $slop to introduce clearance so the parts fit. If you want to do that, probably trying 0.2 is a reasonable starting point.
On Wed, Apr 5, 2023 at 3:12 AM Karl Exler <karl.exler@meinklang.cc> wrote:
Dear Gentlemen
Due to your help I made big advances yesterday and I produced my first set of screw and nut today: (jupidoo)threaded_rod(d = 13.65, l = 12.45, pitch = 7.82/4, anchor=BOT, bevel = true, $fn = 64);
threaded_nut(nutwidth=17, anchor=BOT, id=13.65, h=5, pitch=7.82/4, $slop=0.05, $fa=1, $fs=1);And -as expected- it doesn work at the first time. It is really perfect, but too narrow.
Is it d and id?? I took the same values, but I guess, that was not so good. Is there a factor with whoch I have to make the "id" smaller than "d" ?
Many thanks
KarlAm 04.04.23 um 13:12 schrieb nop head:
The line you showed has a function literal in it, so you need at least the latest release of OpenSCAD because it is a fairly recent addition.
On Tue, 4 Apr 2023 at 11:17, Adrian Mariano <avm4@cornell.edu> wrote:
Why do libraries make you really nervous? BOSL2 can create nuts and bolts with a single library. If you want to use list-comprehension-demos you need a version that's been patched to work with recent copies of OpenSCAD. Your error message above suggests that your OpenSCAD might be too old for the library you're trying to use. (The line 507 looks OK, but has a function literal, which I think requires 2021.01.
BOSL2: https://github.com/revarbat/BOSL2/wiki/screws.scad
Another solution is threadlib: https://github.com/adrianschlatter/threadlib, which also depends on several other things, but not agent-scad
On Tue, Apr 4, 2023 at 5:32 AM Karl Exler <karl.exler@meinklang.cc> wrote:
Gentlemen! For me as novice it is really hard to create nuts and bolts. All the "libraries" and "includes" and "use"... that makes me really nervous. What I tried today:
went to Github and fetched
- list-comprehension-demos-master.zip
- scad-utils-master.zip
- agent-scad.zip
extracted them to ~/local/shared/OpenScad/libraries
(took care that the "master" is removed)
used a file from Github to create a screw, which again uses the above mentioned libraries:
<pre style="margin:0px;text-indent:0px">use <agentscad/mx-screw.scad> use <agentscad/mx-thread.scad> // Precision $fn=50; mxBoltHexagonalThreaded( M6() );
Bingo: I receive an error message, which refers to
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,0);background-color:rgb(255,176,176)">ERROR: Parser error in file "/home/karl/.local/share/OpenSCAD/libraries/agentscad/lib-screw.scad", <b>line 507</b>: syntax error </span>
within this file I can find a function at line 507:
<pre style="margin:0px;text-indent:0px">function alignRight(text, width) = let(padding=accumulate(function(a,n) str(a," "),width-len(text), "")) str(padding,text);
And now I am at the end with my small IT latin :-( and I end with the question: "what is the most easiest way to create nuts and bolts. I do not want to create exotic stuff, only the basics... ??? many thanks for your help Karl
_______________________________________________
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_______________________________________________ OpenSCAD mailing list To unsubscribe send an email to <a class="moz-txt-link-freetext" href="mailto:discuss-leave@lists.openscad.org" moz-do-not-send="true" target="_blank">discuss-leave@lists.openscad.org</a>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org<pre class="moz-quote-pre" wrap="">_______________________________________________ OpenSCAD mailing list To unsubscribe send an email to <a class="moz-txt-link-abbreviated" href="mailto:discuss-leave@lists.openscad.org">discuss-leave@lists.openscad.org</a>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Hi,
Has anyone been playing with this wrt openscad script generation?
(https://chat.openai.com/chat). I have seen fairly impressive results
with it generating arduino code and python, I think there are more
examples of those on the web, for it to have 'studied'. I experimented a
few months ago, with openscad, and it looked as if there was a
possibility of it being useful. More recently I have spent some spare?
time trying to train it a bit more, but it is pretty tedious, it seems
to have little short term memory, but then it says something impressive,
if you keep pressing it.
I asked it today to generate an iso metric hexagon nut
I was surprised it mentioned 'z-fighting'.
I told it to use a circle and $fn=6, instead of it wrongly generating a
polygon, but it sort of persists in trying to return values from modules.
. After a few iterations it came up with this - (Which still has obvious
errors - but the code looks kind'a pretty)
// Define ISO metric sizes
hex_size_1 = 0.8;
hex_size_2 = 1;
hex_size_3 = 1.25;
hex_size_4 = 1.6;
hex_size_5 = 2;
hex_size_6 = 2.5;
hex_size_7 = 3;
hex_size_8 = 4;
hex_size_10 = 5;
hex_size_12 = 6;
// Define module for generating the head of a bolt
module bolt_head(size, height) {
// Create the hexagon for the head of the bolt
hex_head = circle(d=size, $fn=6);
// Extrude the hexagon to create the head of the bolt
head = linear_extrude(height=height) {
hex_head = offset(r=0.1) hex_head; // Add a small offset to avoid
z-fighting issues
hull() hex_head;
};
// Return the head of the bolt
head
}
// Example usage
size = hex_size_10; // Select the hexagon size according to ISO
metric standards
height = size; // Set the height of the bolt head equal to the
size of the hexagon
head = bolt_head(size, height); // Generate the head of a bolt with
size and height according to the ISO metric standards
// Display the head of the bolt
translate([0, 0, height/2]) {
head
}
It would be interesting to see if anyone else can get it to generate the
hex head code, and if it is successful, then if it remembers it for the
next user. It says it is designed to learn from its mistakes, but i
think it depends on the nature of the mistake.
Best wishes,
Ray,
On 06/04/2023 00:55, terrypingm@gmail.com wrote:
Needless to say, sent to wrong address! No way to delete?
I blame the Californian weather….
--
Terry
On 5 Apr 2023, at 16:51, terrypingm@gmail.com wrote:
Hi Les,
Does this cc mean we’re friends again?
P.S. Are you a WhatsApp user?
Best Wishes,
--
Terry, California, USA, land of the free?
=====
On 5 Apr 2023, at 08:48, Karl Exler karl.exler@meinklang.cc wrote:
Dear Adrian
By now I am not making anything. I learn and try and so I have my
troubles. But many thanks to your help.
I would prefer to use the screw function.. but this ends at M12..
And I would like to make larger threads and nuts
so, due my humble understanding I have to use the "threaded_rod"
function :-( About that I am very sad, as e.g. the tolerance, the head
and some other parameters do not exist for this function. Please peg
me, if I use wrong termini technici...
I will use my tools only for 3D-Printing and there I only use PLA
or PETG. No massive force, only bla bla to connect quick and easy.
High pitch, big diameter, sometimes with a hole, sometimes with an
head - very very less tolerance.
What does the community thing about this demands?
Thanks
Karl
Am 05.04.23 um 15:20 schrieb Adrian Mariano:
You have not given any allowance of space between the parts. Real
screw standards will specify that the rod is undersized compared to
nominal diameter to allow for clearance so that the screw can
actually fit together. If your printer was VERY accurate you might
get away with the .05 allowance you're introducing using the $slop
parameter, maybe. But you might try printing test pieces that are
simple cylinders and holes to get a feeling for what kind of
clearance you need. I'm not quite sure what you're trying to make,
but it looks sort of like an oversized 1/2-13 bolt, so if a 1/2-13
would suffice you could also try screw("1/2-13,1/2") which might get
you off to a better start. If you set the tolerance to the loosest
option (1A for bolts, 1B for nuts) and a $slop suitable for your
printer the parts should fit easily. (The loose tolerance is in fact
loose enough that I believe on my MK3S, the parts fit with a $slop of
zero.)
Note that clearance and slop are meant to be two different concepts:
clearance is the actual space between parts, whereas slop is an
adjustment for inaccuracy of the printer. Correct setting of $slop
is intended to produce parts that are the exactly specified size.
But you can abuse $slop to introduce clearance so the parts fit. If
you want to do that, probably trying 0.2 is a reasonable starting point.
On Wed, Apr 5, 2023 at 3:12 AM Karl Exler karl.exler@meinklang.cc
wrote:
Dear Gentlemen
Due to your help I made big advances yesterday and I produced my
first set of screw and nut today: (jupidoo)
threaded_rod(d = 13.65, l = 12.45, pitch = 7.82/4, anchor=BOT,
bevel = true, $fn = 64);
threaded_nut(nutwidth=17, anchor=BOT, id=13.65, h=5,
pitch=7.82/4, $slop=0.05, $fa=1, $fs=1);
And -as expected- it doesn work at the first time. It is really
perfect, but too narrow.
Is it d and id?? I took the same values, but I guess, that was
not so good. Is there a factor with whoch I have to make the "id"
smaller than "d" ?
Many thanks
Karl
Am 04.04.23 um 13:12 schrieb nop head:
The line you showed has a function literal in it, so you need at
least the latest release of OpenSCAD because it is a fairly
recent addition.
On Tue, 4 Apr 2023 at 11:17, Adrian Mariano <avm4@cornell.edu>
wrote:
Why do libraries make you really nervous? BOSL2 can create
nuts and bolts with a single library. If you want to use
list-comprehension-demos you need a version that's been
patched to work with recent copies of OpenSCAD. Your error
message above suggests that your OpenSCAD might be too old
for the library you're trying to use. (The line 507 looks
OK, but has a function literal, which I think requires 2021.01.
BOSL2: https://github.com/revarbat/BOSL2/wiki/screws.scad
Another solution is threadlib:
https://github.com/adrianschlatter/threadlib, which also
depends on several other things, but not agent-scad
On Tue, Apr 4, 2023 at 5:32 AM Karl Exler
<karl.exler@meinklang.cc> wrote:
Gentlemen! For me as novice it is really hard to create
nuts and bolts. All the "/libraries/" and "/includes/"
and "/use/"... that makes me really nervous. *What I
tried today:*
went to Github and fetched
* list-comprehension-demos-master.zip
* scad-utils-master.zip
* agent-scad.zip
extracted them to ~/local/shared/OpenScad/libraries
(took care that the "master" is removed)
used a file from Github to create a screw, which again
uses the above mentioned libraries:
use <agentscad/mx-screw.scad>
use <agentscad/mx-thread.scad>
// Precision
$fn=50;
mxBoltHexagonalThreaded( M6() );
Bingo: I receive an error message, which refers to
ERROR: Parser error in file
"/home/karl/.local/share/OpenSCAD/libraries/agentscad/lib-screw.scad",
*line 507*: syntax error
within this file I can find a function at line 507:
function alignRight(text, width) = let(padding=accumulate(function(a,n) str(a," "),width-len(text), "")) str(padding,text);
And now I am at the end with my small IT latin :-( and I
end with the question: "what is the most easiest way to
create nuts and bolts. I do not want to create exotic
stuff, only the basics... ??? many thanks for your help
Karl
_______________________________________________
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
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
On 6/4/23 18:32, Raymond West wrote:
Hi,
Has anyone been playing with this wrt openscad script generation?
(https://chat.openai.com/chat). I have seen fairly impressive results
with it generating arduino code and python, I think there are more
examples of those on the web, for it to have 'studied'. I experimented
a few months ago, with openscad, and it looked as if there was a
possibility of it being useful. More recently I have spent some spare?
time trying to train it a bit more, but it is pretty tedious, it seems
to have little short term memory, but then it says something
impressive, if you keep pressing it.
I have some recent experience with ChatGPT4 and ChatGPT3.5. ChatGPT4 is
a lot better.
With both it is the quality of question and scope that matters. If you
ask a precise question with limited scope it will usually produce a
workable result. If you ask an open ended question you will get less
relevant or accurate results.
You can also give it code bodies to identify problems.
The best strategy is to iterate through your project logic and get small
parts of it coded, then take the results of many questions and merge
them into your specific code.
You can also usefully describe the overall operation of some code and
ask to have it broken up into smaller parts that you can then ask
specifics about each.
jeremy