Did I start right? (or is it better to start with a block and remove
unwanted material?)
Is it difficult to build a shape and make it follow a curve (eg Bezzier)
If I understand correctly, the operation you require (to define a solid by
moving a 2d profile along a path) is usually called sweep (or loft). That
is not a native operation in OpenSCAD. If the profile is made of just
horizontal and vertical edges, the sweep could be produced by
union/difference of linear_extrude(s). In more general cases, sweep is done
by constructing a polyhedron(). There are many implementations of sweep.
Here is an example of using BOSL2 module path_sweep() to get a wall similar
to yours contouring a rounded pentagon. A more complex path even using
Bezier could be done. However, you should take into account that sweep
requires that both the profile (or section) and the path be lists of points
so you cannot build your wall as a module as you did. In my code, the
boolean operations of polygons to produce the wall section shape were done
using the BOLS2 concept of region and its operations.
include <BOSL2/std.scad>
verts = pentagon(30,rounding=11,$fn=66);
path = path3d(reverse(verts));
section = wall();
path_sweep( section, path, closed=true);
function wall() =
let(
b = 4, // botten - tjocklek
f = 6, // Foten
h = 15, // Höjd
t = 3.5, // Top
x = (b+(t/2) - (h - ( (-h / (f-t)) *t) )) / (-h / (f-t))
)
let(
points = [[0,0], [f,0], [t,h], [0,h]] ,
top = move([t/2, h, 0], circle(d=t, $fn=20)),
sqr = square([10, b]),
diff =
difference([
move([x, b], square([t/2, t/2])),
move([x+(t/2), b+(t/2), 0], circle(d = t, $fn=20) ) ])
)
union([points, top, sqr, diff]);
[image: wall.PNG]
(1. I received your last message when I was about to finish mine. Later I
may be able to answer some of your new questions;
(2. I haven't received Jordan Brown's message. Why? What is going on
with the forum mailer? )
Em ter., 22 de mar. de 2022 às 23:46, Jan Öhman via Discuss <
discuss@lists.openscad.org> escreveu:
---------- Forwarded message ----------
From: "Jan Öhman" jan_ohman@yahoo.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Tue, 22 Mar 2022 23:45:48 +0000 (UTC)
Subject: [OpenSCAD] Build a wall for a box - here is the profile
Hi!
Background .:
( I'm trying to learn openSCAD)
Had intended to build a protective box for a position light to be placed
on a trailer.
Instead of drawing a "boring" square box, I thought it would follow the
shape of the lamp. (which requires rounded shapes)
I have built a 2D model of the wall.
It has a straight outside and a sloping inside.
(and looks a bit like an "L") Later I thought to supplement with a bottom.
My desire .:
Did I start right? (or is it better to start with a block and remove
unwanted material?)
Is it difficult to build a shape and make it follow a curve (eg Bezzier)
Below I have made a "shape" and two examples of "curves" to follow.
A "shape" of the wall to the box .: (excuse comments in Swedish)
$fn=20;
wall();
module wall(){
b = 4; // botten - tjocklek
f = 6; // Foten
h = 15; // Höjd
t = 3.5; // Top
// Beräkna skärningspunkt mellan botten och fot - y = kx + m - den
inre radien
/*
k = -h / (f-t);
m = h - (k*t);
x = (b - m) / k;
echo(k,m,x);
*/
// x = (b - (h - ( (-h / (f-t)) *t) )) / (-h / (f-t));
x = (b+(t/2) - (h - ( (-h / (f-t)) *t) )) / (-h / (f-t));
// echo(x);
rotate([90, 0, 180]){
polygon( points=[[0,0], [f,0], [t,h], [0,h]] );
translate([t/2, h, 0])
circle(d=t);
square([10, b]);
difference(){
translate([x, b])
square([t/2, t/2]);
translate([x+(t/2), b+(t/2), 0])
circle(d = t); // Samma radie som toppen
}}}
First thought to build the wall in the following way (but did not get the
right structure)
Now this is only teslines as the wall above maybe can follow? (if possible)
// a curve (line) [p1, p2] with two points
p1a = [2, 5];
p2a = [3, 15];
n1 = 5;
for (i = [0 : 1/n1 : 1 - (1 / n1)]){
i1 = i + (1/n1);
echo(i, i1);
hull(){
translate( p1a * i + p2a * (1-i))
color("pink") sphere(0.2);
translate( p1a * i1 + p2a * (1-i1))
color("green") sphere(0.2);
}
}
// a Bézier curve [p1, p2, p3]
$fn = 30; // Upplösning
n2 = 80; // Antal beräkningspunkter
p1b = [5, 7.5];
p2b = [8, 2];
p3b = [1, 1.7];
for (i3 = [0 : 1/n2 : 1 - (1 / n2)]){
i4 = i3 + (1/n2);
hull(){
translate((p1b * i3 + p2b * (1-i3)) * i3 + (p2b * i3 + p3b * (1 - i3))
---------- Forwarded message ----------
From: "Jan Öhman via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "Jan Öhman" jan_ohman@yahoo.com
Bcc:
Date: Tue, 22 Mar 2022 23:45:48 +0000 (UTC)
Subject: [OpenSCAD] Build a wall for a box - here is the profile
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Check your Gmail spam folder, his was there for me. I don't know why, but it dislikes the occasional normal looking post.
From: Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build a wall for a box - here is the profile
(2. I haven't received Jordan Brown's message. Why? What is going on with the forum mailer? )
--
This email has been checked for viruses by AVG.
https://www.avg.com
I had to set up a gmail filter to accept messages from the list.
On Wed, Mar 23, 2022 at 6:39 PM MichaelAtOz oz.at.michael@gmail.com wrote:
Check your Gmail spam folder, his was there for me. I don't know why, but
it dislikes the occasional normal looking post.
From: Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build a wall for a box - here is the profile
(2. I haven't received Jordan Brown's message. Why? What is going on
with the forum mailer? )
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<#m_5009014716897321149_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
A good tip. Now I see messages in my inbox saying they are not in the spam
folder because of my rule.
On Thu, 24 Mar 2022 at 00:21, Father Horton fatherhorton@gmail.com wrote:
I had to set up a gmail filter to accept messages from the list.
On Wed, Mar 23, 2022 at 6:39 PM MichaelAtOz oz.at.michael@gmail.com
wrote:
Check your Gmail spam folder, his was there for me. I don't know why, but
it dislikes the occasional normal looking post.
From: Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build a wall for a box - here is the profile
(2. I haven't received Jordan Brown's message. Why? What is going on
with the forum mailer? )
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<#m_5137512874146828506_m_5009014716897321149_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
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
Setting up a gmail filter is not enough: you have to explicitly ask to
never send those mails to the spam folder. (one of the filter settings)
On Thu, Mar 24, 2022 at 1:21 AM Father Horton fatherhorton@gmail.com
wrote:
I had to set up a gmail filter to accept messages from the list.
On Wed, Mar 23, 2022 at 6:39 PM MichaelAtOz oz.at.michael@gmail.com
wrote:
Check your Gmail spam folder, his was there for me. I don't know why, but
it dislikes the occasional normal looking post.
From: Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build a wall for a box - here is the profile
(2. I haven't received Jordan Brown's message. Why? What is going on
with the forum mailer? )
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<#m_-6475318597011828612_m_-5696000511779643644_m_5009014716897321149_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
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
Yes that is what I did and they no longer go in the Spam folder but they
still have a banner for me to confirm they are not spam.
On Thu, 24 Mar 2022 at 21:08, Stefaan Claes spcl67@gmail.com wrote:
Setting up a gmail filter is not enough: you have to explicitly ask to
never send those mails to the spam folder. (one of the filter settings)
On Thu, Mar 24, 2022 at 1:21 AM Father Horton fatherhorton@gmail.com
wrote:
I had to set up a gmail filter to accept messages from the list.
On Wed, Mar 23, 2022 at 6:39 PM MichaelAtOz oz.at.michael@gmail.com
wrote:
Check your Gmail spam folder, his was there for me. I don't know why,
but it dislikes the occasional normal looking post.
From: Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build a wall for a box - here is the profile
(2. I haven't received Jordan Brown's message. Why? What is going on
with the forum mailer? )
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient
<#m_4038162621693230734_m_-6475318597011828612_m_-5696000511779643644_m_5009014716897321149_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
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 discuss-leave@lists.openscad.org
Is it possible to combine the examples below
// basePlate();module basePlate(){ // Variabler botten Corner1 = 10; // Hörn 1 radCorn2 = 10; // Radie1 radCorn3 = 20; // Radie2 radCorn4 = 5; // Radie3 offset = 5; // offset baseX = 120; baseY = 50; hull(){ square(size = Corner1); // Corner1 translate([baseX, radCorn2, 0]) circle(r=radCorn2); // Corner2 translate([baseX-abs(radCorn2-radCorn3), baseY, 0]) circle(r=radCorn3); // Corner3 translate([baseX/2, baseY+offset, 0]) circle(r=radCorn3); // Offset translate([radCorn4, baseY+radCorn3+offset-radCorn4, 0]) circle(r=radCorn4); // Corner4}}
include <BOSL2/std.scad>
// verts = pentagon(30,rounding=11,$fn=66);verts = pentagon(30,rounding=11,$fn=66);// Alla punkter [[27.4033,0], [27,343, -1.14981] .... [27.1629, 2.28703], [27.343, 1.14981]]// echo(verts);
path = path3d(reverse(verts));section = wall();path_sweep( section, path, closed=true);
function wall() = let( b = 4, // botten - tjocklek f = 8, // Foten h = 15, // Höjd t = 3.5, // Top x = (b+(t/2) - (h - ( (-h / (f-t)) *t) )) / (-h / (f-t)) ) let( points = [[0,0], [f,0], [t,h], [0,h]] , top = move([t/2, h, 0], circle(d=t, $fn=20)), sqr = square([10, b]), diff = difference([ move([x, b], square([t/2, t/2])), move([x+(t/2), b+(t/2), 0], circle(d = t, $fn=20) ) ]) ) union([points, top, sqr, diff]);- . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . -
If I understand it correctly, the base plate must be defined by a formula.(Or easier? - Individual points along the edge of the base plate.)Then it is possible to use BOSL2 to create an end result.
But is it possible to put together several formulas? (in some way)1) A formula from the first corner (90 degrees) to the second corner2) The second corner (a circle sector of 90 gtrader) should not be difficult.3) A line to the third corner.4) 3rd corner (circle sector <90 degrees)5) Where should the next straight line beginetc.
Best regards Jan
Den torsdag 24 mars 2022 22:15:23 CET, nop head <nop.head@gmail.com> skrev:
Yes that is what I did and they no longer go in the Spam folder but they still have a banner for me to confirm they are not spam.
On Thu, 24 Mar 2022 at 21:08, Stefaan Claes spcl67@gmail.com wrote:
Setting up a gmail filter is not enough: you have to explicitly ask to never send those mails to the spam folder. (one of the filter settings)
On Thu, Mar 24, 2022 at 1:21 AM Father Horton fatherhorton@gmail.com wrote:
I had to set up a gmail filter to accept messages from the list.
On Wed, Mar 23, 2022 at 6:39 PM MichaelAtOz oz.at.michael@gmail.com wrote:
Check your Gmail spam folder, his wasthere for me. I don't know why, but it dislikes the occasional normal lookingpost.
From:Ronaldo Persiano [mailto:rcmpersiano@gmail.com]
Sent: Thu, 24 Mar 2022 00:10
To: Jan Öhman via Discuss
Subject: [OpenSCAD] Re: Build awall for a box - here is the profile
(2. I haven'treceived Jordan Brown's message. Why? What is going on with the forummailer? )
| | Virus-free. www.avg.com |
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 discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org