discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

path extrude

T
terrypingm@gmail.com
Wed, Apr 5, 2023 11:51 PM

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
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:

<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

T
terrypingm@gmail.com
Wed, Apr 5, 2023 11:55 PM

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
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:

<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

RW
Raymond West
Thu, Apr 6, 2023 10:32 AM

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.

  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
 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

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. > > 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 >> 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
JA
jeremy ardley
Thu, Apr 6, 2023 10:54 AM

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

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