Nabble removed Mailing-list integration from the Forum.
This killed the Forum. This is now an ARCHIVE.
It is likely Nabble will shutdown in the future.

So basically the Forum is now out of date, we are looking into migrating the history.

OpenSCAD support is now provided by the Mailing List.
See the first pinned post here for instructions on subscribing to the mailing list.

Merging sub-assemblies?

classic Classic list List threaded Threaded
36 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

OpenSCAD mailing list-2
Here's my version based on hull with cylinders. I also used the exercise to learn how to work with modules, so that I can make more of these in future.



// 'Dry box' for dual mains sockets
// Used 'hull with cylinders' method
// Dimensions: length = x = 143, width = y = 83, height = z = 25, roundness = r = 6, thickness = t = 3 to match existin top

$fn = 48; // Have been using 50 but recently read somewhere that multiples of 4 are recommended?

module round_edges_box(x,y,z,r) {
hull() {
translate([r,r,0])
cylinder(h=z,r=r);
translate([x-r,r,0])
cylinder(h=z,r=r);
translate([x-r,y-r,0])
cylinder(h=z,r=r);
translate([r,y-r,0])
cylinder(h=z,r=r);
} // End of hull
} // End of module round_edges_box

// Different name for 'fully parametrised' version

module rounded_edges_box(x,y,z,r,t) {
  // Hollow the solid by subtracting the smaller (and translated) version below  
 difference(){   
round_edges_box(x,y,z,r);
translate([t,t,t]) // Moves smaller box out from origin
round_edges_box(x-(2*t),y-(2*t),(z+10),r);   
}
}
rounded_edges_box(143,83,25,6,3);

The top for the box is shown here:
https://www.dropbox.com/s/m90ckyv7u5phnwa/DualMainsSockets-1.jpg?raw=1

I estimated the roundness, r, by finding an object that fitted a corner neatly; this pad had a radius of about 3mm:

https://www.dropbox.com/s/n6zjhnv8d8r0019/RoundnessEstimate.jpg?dl=0httraw=1

P.S. I originally used 'Insert Image' for the two photos but preview showed them at full size. Hence my reverting to links. How should images be displayed in familiar thumbnail form, or limited to screen size for reasonable viewing please?


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

nophead
I think image size depends on your email client. In gmail I get size options.

On Wed, 12 May 2021 at 14:41, Terrypin via Discuss <[hidden email]> wrote:



---------- Forwarded message ----------
From: Terrypin <[hidden email]>
To: [hidden email]
Cc: 
Bcc: 
Date: Wed, 12 May 2021 06:03:20 -0700 (MST)
Subject: [OpenSCAD] Re: Merging sub-assemblies?
Here's my version based on hull with cylinders. I also used the exercise to learn how to work with modules, so that I can make more of these in future.



// 'Dry box' for dual mains sockets
// Used 'hull with cylinders' method
// Dimensions: length = x = 143, width = y = 83, height = z = 25, roundness = r = 6, thickness = t = 3 to match existin top

$fn = 48; // Have been using 50 but recently read somewhere that multiples of 4 are recommended?

module round_edges_box(x,y,z,r) {
hull() {
translate([r,r,0])
cylinder(h=z,r=r);
translate([x-r,r,0])
cylinder(h=z,r=r);
translate([x-r,y-r,0])
cylinder(h=z,r=r);
translate([r,y-r,0])
cylinder(h=z,r=r);
} // End of hull
} // End of module round_edges_box

// Different name for 'fully parametrised' version

module rounded_edges_box(x,y,z,r,t) {
  // Hollow the solid by subtracting the smaller (and translated) version below  
 difference(){   
round_edges_box(x,y,z,r);
translate([t,t,t]) // Moves smaller box out from origin
round_edges_box(x-(2*t),y-(2*t),(z+10),r);   
}
}
rounded_edges_box(143,83,25,6,3);

The top for the box is shown here:
https://www.dropbox.com/s/m90ckyv7u5phnwa/DualMainsSockets-1.jpg?raw=1

I estimated the roundness, r, by finding an object that fitted a corner neatly; this pad had a radius of about 3mm:

https://www.dropbox.com/s/n6zjhnv8d8r0019/RoundnessEstimate.jpg?dl=0httraw=1

P.S. I originally used 'Insert Image' for the two photos but preview showed them at full size. Hence my reverting to links. How should images be displayed in familiar thumbnail form, or limited to screen size for reasonable viewing please?


Sent from the OpenSCAD mailing list archive at Nabble.com.



---------- Forwarded message ----------
From: Terrypin via Discuss <[hidden email]>
To: [hidden email]
Cc: Terrypin <[hidden email]>
Bcc: 
Date: Wed, 12 May 2021 06:03:20 -0700 (MST)
Subject: [OpenSCAD] Re: Merging sub-assemblies?
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

nophead
Looks good. I normally make the inside radius equal to the outside radius minus the wall width to keep the wall thickness consistent round the corners.

On Wed, 12 May 2021 at 14:58, nop head <[hidden email]> wrote:
I think image size depends on your email client. In gmail I get size options.

On Wed, 12 May 2021 at 14:41, Terrypin via Discuss <[hidden email]> wrote:



---------- Forwarded message ----------
From: Terrypin <[hidden email]>
To: [hidden email]
Cc: 
Bcc: 
Date: Wed, 12 May 2021 06:03:20 -0700 (MST)
Subject: [OpenSCAD] Re: Merging sub-assemblies?
Here's my version based on hull with cylinders. I also used the exercise to learn how to work with modules, so that I can make more of these in future.



// 'Dry box' for dual mains sockets
// Used 'hull with cylinders' method
// Dimensions: length = x = 143, width = y = 83, height = z = 25, roundness = r = 6, thickness = t = 3 to match existin top

$fn = 48; // Have been using 50 but recently read somewhere that multiples of 4 are recommended?

module round_edges_box(x,y,z,r) {
hull() {
translate([r,r,0])
cylinder(h=z,r=r);
translate([x-r,r,0])
cylinder(h=z,r=r);
translate([x-r,y-r,0])
cylinder(h=z,r=r);
translate([r,y-r,0])
cylinder(h=z,r=r);
} // End of hull
} // End of module round_edges_box

// Different name for 'fully parametrised' version

module rounded_edges_box(x,y,z,r,t) {
  // Hollow the solid by subtracting the smaller (and translated) version below  
 difference(){   
round_edges_box(x,y,z,r);
translate([t,t,t]) // Moves smaller box out from origin
round_edges_box(x-(2*t),y-(2*t),(z+10),r);   
}
}
rounded_edges_box(143,83,25,6,3);

The top for the box is shown here:
https://www.dropbox.com/s/m90ckyv7u5phnwa/DualMainsSockets-1.jpg?raw=1

I estimated the roundness, r, by finding an object that fitted a corner neatly; this pad had a radius of about 3mm:

https://www.dropbox.com/s/n6zjhnv8d8r0019/RoundnessEstimate.jpg?dl=0httraw=1

P.S. I originally used 'Insert Image' for the two photos but preview showed them at full size. Hence my reverting to links. How should images be displayed in familiar thumbnail form, or limited to screen size for reasonable viewing please?


Sent from the OpenSCAD mailing list archive at Nabble.com.



---------- Forwarded message ----------
From: Terrypin via Discuss <[hidden email]>
To: [hidden email]
Cc: Terrypin <[hidden email]>
Bcc: 
Date: Wed, 12 May 2021 06:03:20 -0700 (MST)
Subject: [OpenSCAD] Re: Merging sub-assemblies?
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

mondo
In reply to this post by adrianv
On 12/05/2021 00:20, adrianv wrote:
> If you're going to use AngelCAD then....why not just use AngelCAD?

I have used AngelCAD, in fact I prefer the structure/language to
openscad scripting, however, the quick f5 rendering in openscad is
useful, and there is more activity here, on the openscad mailing list,
always someone/s can help when you get stuck. Unfortunately, there are
very few folk, at least that I know of, who have an active interest in
AngelCAD, which imnsho is a great pity. However, it is easy enough for
anyone using openscad to drop in the openscad script into AngelCAD and
quickly get an stl file - in a few seconds instead of many minutes, in
many cases.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

JordanBrown
In reply to this post by OpenSCAD mailing list-2
module round_edges_box(x,y,z,r) {
hull() {
translate([r,r,0])
cylinder(h=z,r=r);
translate([x-r,r,0])
cylinder(h=z,r=r);
translate([x-r,y-r,0])
cylinder(h=z,r=r);
translate([r,y-r,0])
cylinder(h=z,r=r);
} // End of hull
} // End of module round_edges_box

Hint:  indent your lines to reflect the structure of the program. It will make your program more readable to others and, when you come back to it later and have forgotten the details, more readable to you.

There are several patterns that work pretty well; just be more or less consistent.  Here's the basic rules that I use.

The first rule is that anything inside braces should be indented from the stuff outside the braces, like so:
module round_edges_box(x,y,z,r) {
    hull() {
        translate([r,r,0])
        cylinder(h=z,r=r);
        translate([x-r,r,0])
        cylinder(h=z,r=r);
        translate([x-r,y-r,0])
        cylinder(h=z,r=r);
        translate([r,y-r,0])
        cylinder(h=z,r=r);
    } // End of hull
} // End of module round_edges_box

The second rule is that continuation lines, lines that are "attached" to the previous line, are indented:

module round_edges_box(x,y,z,r) {
    hull() {
        translate([r,r,0])
            cylinder(h=z,r=r);
        translate([x-r,r,0])
            cylinder(h=z,r=r);
        translate([x-r,y-r,0])
            cylinder(h=z,r=r);
        translate([r,y-r,0])
            cylinder(h=z,r=r);
    } // End of hull
} // End of module round_edges_box



_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

jon_bondy
In reply to this post by mondo
I use AngelCAD to process OpenSCAD scripts when processing those scripts
directly in OpenSCAD either takes too long or results in flawed STL files.

I find the F5 function in OpenSCAD to be crucial to my development. 
Being able to highlight a line in the code with a "#", or to change a
color or use "%" is essential.  The lack of that feature in AngelCAD is
a show-stopper for me.  Carsten does not seem to feel that these
functions are as important to him as they are to me.

That said, AngelCAD is a wonderful tool for some specific situations.

Jon

On 5/12/2021 10:30 AM, Ray West wrote:

> On 12/05/2021 00:20, adrianv wrote:
>> If you're going to use AngelCAD then....why not just use AngelCAD?
>
> I have used AngelCAD, in fact I prefer the structure/language to
> openscad scripting, however, the quick f5 rendering in openscad is
> useful, and there is more activity here, on the openscad mailing list,
> always someone/s can help when you get stuck. Unfortunately, there are
> very few folk, at least that I know of, who have an active interest in
> AngelCAD, which imnsho is a great pity. However, it is easy enough for
> anyone using openscad to drop in the openscad script into AngelCAD and
> quickly get an stl file - in a few seconds instead of many minutes, in
> many cases.
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to [hidden email]
>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

nophead
I gave it a try on my slowest NopSCADlib test, doing 3D rounding with 3 Minkowskis. It  failed to produce a result. I think it doesn't like close vertices like OpenSCAD but worse.

On Wed, 12 May 2021 at 15:42, jon <[hidden email]> wrote:
I use AngelCAD to process OpenSCAD scripts when processing those scripts
directly in OpenSCAD either takes too long or results in flawed STL files.

I find the F5 function in OpenSCAD to be crucial to my development. 
Being able to highlight a line in the code with a "#", or to change a
color or use "%" is essential.  The lack of that feature in AngelCAD is
a show-stopper for me.  Carsten does not seem to feel that these
functions are as important to him as they are to me.

That said, AngelCAD is a wonderful tool for some specific situations.

Jon

On 5/12/2021 10:30 AM, Ray West wrote:
> On 12/05/2021 00:20, adrianv wrote:
>> If you're going to use AngelCAD then....why not just use AngelCAD?
>
> I have used AngelCAD, in fact I prefer the structure/language to
> openscad scripting, however, the quick f5 rendering in openscad is
> useful, and there is more activity here, on the openscad mailing list,
> always someone/s can help when you get stuck. Unfortunately, there are
> very few folk, at least that I know of, who have an active interest in
> AngelCAD, which imnsho is a great pity. However, it is easy enough for
> anyone using openscad to drop in the openscad script into AngelCAD and
> quickly get an stl file - in a few seconds instead of many minutes, in
> many cases.
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to [hidden email]
>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

mondo
In reply to this post by OpenSCAD mailing list-2

On 12/05/2021 14:03, Terrypin via Discuss wrote:
> Here's my version based on hull with cylinders. I also used the
> exercise to learn how to work with modules, so that I can make more of
> these in future.

Nice, glad you got there. Being critical, the rounded corners do not
look correct (as in the socket plate)., and you've still got to add the
blocks for the plate screw fixings, and probably cable holes and screw
holes.The internal radius should be less than the external. Still, If
you're happy, then that is good enough. I've written an extruded
version, I could post it, but maybe you'd rather try it for yourself,
although I've tried to include the steps in getting there. (and then
others can say I've got it wrong too 😁)
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

acwest
I find myself doing this sort of thing often enough that I have written a chamfered cube module in my own library. it allows me to specify exactly which edges are chamfered, and whether to use straight chamfers, or rounded. Galloping featuritis has added a lot of code to it, I must admit...

On Wed, May 12, 2021 at 11:31 AM Ray West <[hidden email]> wrote:

On 12/05/2021 14:03, Terrypin via Discuss wrote:
> Here's my version based on hull with cylinders. I also used the
> exercise to learn how to work with modules, so that I can make more of
> these in future.

Nice, glad you got there. Being critical, the rounded corners do not
look correct (as in the socket plate)., and you've still got to add the
blocks for the plate screw fixings, and probably cable holes and screw
holes.The internal radius should be less than the external. Still, If
you're happy, then that is good enough. I've written an extruded
version, I could post it, but maybe you'd rather try it for yourself,
although I've tried to include the steps in getting there. (and then
others can say I've got it wrong too 😁)
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

jon_bondy
In reply to this post by nophead

Try adding this in the "args" box near the top:

sec_tol=0.001

Jon

On 5/12/2021 11:10 AM, nop head wrote:
I gave it a try on my slowest NopSCADlib test, doing 3D rounding with 3 Minkowskis. It  failed to produce a result. I think it doesn't like close vertices like OpenSCAD but worse.

On Wed, 12 May 2021 at 15:42, jon <[hidden email]> wrote:
I use AngelCAD to process OpenSCAD scripts when processing those scripts
directly in OpenSCAD either takes too long or results in flawed STL files.

I find the F5 function in OpenSCAD to be crucial to my development. 
Being able to highlight a line in the code with a "#", or to change a
color or use "%" is essential.  The lack of that feature in AngelCAD is
a show-stopper for me.  Carsten does not seem to feel that these
functions are as important to him as they are to me.

That said, AngelCAD is a wonderful tool for some specific situations.

Jon

On 5/12/2021 10:30 AM, Ray West wrote:
> On 12/05/2021 00:20, adrianv wrote:
>> If you're going to use AngelCAD then....why not just use AngelCAD?
>
> I have used AngelCAD, in fact I prefer the structure/language to
> openscad scripting, however, the quick f5 rendering in openscad is
> useful, and there is more activity here, on the openscad mailing list,
> always someone/s can help when you get stuck. Unfortunately, there are
> very few folk, at least that I know of, who have an active interest in
> AngelCAD, which imnsho is a great pity. However, it is easy enough for
> anyone using openscad to drop in the openscad script into AngelCAD and
> quickly get an stl file - in a few seconds instead of many minutes, in
> many cases.
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to [hidden email]
>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

OpenSCAD mailing list-2
In reply to this post by nophead
I'm viewing and composing exclusively via the web, no email.

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

OpenSCAD mailing list-2
In reply to this post by JordanBrown
Thanks, that does look a lot better and I'll follow it.

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

cacb
In reply to this post by adrianv
On 12.05.2021 01:20, adrianv wrote:
> If you're going to use AngelCAD then....why not just use AngelCAD?

That is always an option, but if you are familiar with OpenSCAD syntax
and just want it to run faster, running .scad scripts in AngelCAD can
make sense.

Carsten Arnholm
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

cacb
In reply to this post by jon_bondy
On 12.05.2021 16:42, jon wrote:

> I use AngelCAD to process OpenSCAD scripts when processing those scripts
> directly in OpenSCAD either takes too long or results in flawed STL files.
>
> I find the F5 function in OpenSCAD to be crucial to my development.
> Being able to highlight a line in the code with a "#", or to change a
> color or use "%" is essential.  The lack of that feature in AngelCAD is
> a show-stopper for me.  Carsten does not seem to feel that these
> functions are as important to him as they are to me.
>
> That said, AngelCAD is a wonderful tool for some specific situations.

My thinking has been that OpenSCAD needs preview because full processing
is sometimes very slow, but in AngelCAD full processing is often close
to instantaneous, so the need for preview is much less.

Clearly the preview with colours and everything in OpenSCAD is very
nice, but it is a very different line of development than what has been
the main focus in AngelCAD, i.e.

a) Use a full blown language that runs, not just declares
b) Processing speed

If you want preview and you have an .scad model, you can use OpenSCAD
for that. If you have the same .scad script open in OpenSCAD and
AngelCAD, it should refresh in both editors automatically if saved to
disk. Press F5 in OpenSCAD for the  preview and when ready press F6 in
AngelCAD to generate the STL.

Carsten Arnholm
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

nophead
My previews are not manifold, they just look the part, so they mostly give errors in AngelCAD. And even ones that are manifold in OpenSCAD give errors so I decided it wasn't at all compatible.

On Wed, 12 May 2021 at 19:25, Carsten Arnholm <[hidden email]> wrote:
On 12.05.2021 16:42, jon wrote:
> I use AngelCAD to process OpenSCAD scripts when processing those scripts
> directly in OpenSCAD either takes too long or results in flawed STL files.
>
> I find the F5 function in OpenSCAD to be crucial to my development.
> Being able to highlight a line in the code with a "#", or to change a
> color or use "%" is essential.  The lack of that feature in AngelCAD is
> a show-stopper for me.  Carsten does not seem to feel that these
> functions are as important to him as they are to me.
>
> That said, AngelCAD is a wonderful tool for some specific situations.

My thinking has been that OpenSCAD needs preview because full processing
is sometimes very slow, but in AngelCAD full processing is often close
to instantaneous, so the need for preview is much less.

Clearly the preview with colours and everything in OpenSCAD is very
nice, but it is a very different line of development than what has been
the main focus in AngelCAD, i.e.

a) Use a full blown language that runs, not just declares
b) Processing speed

If you want preview and you have an .scad model, you can use OpenSCAD
for that. If you have the same .scad script open in OpenSCAD and
AngelCAD, it should refresh in both editors automatically if saved to
disk. Press F5 in OpenSCAD for the  preview and when ready press F6 in
AngelCAD to generate the STL.

Carsten Arnholm
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Merging sub-assemblies?

OpenSCAD mailing list-2
In reply to this post by acwest
Thanks. Yes,  I’ll correct the inside corner rounding. I expect to tackle the other features later, once I’ve exhausted all aspects of the basic box. And yes please, I’d much appreciate your extruded version. While trying it myself it’s good to know I have a crib at hand!

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
12