Hello,
I want to build a simple 3D form who look like a bridge.
Description :
I want than the middle of this bridge are more narrow than begin and end.
What the prefered way for doing that ?
Thanks
--
Sent from: http://forum.openscad.org/
I have find this about the global 3D form :
https://www.mathcurve.com/courbes2d.gb/croixdemalte/croixdemalte.shtml
And i wan't this like a bridge.
Who could i do that ?
--
Sent from: http://forum.openscad.org/
Like this?
http://forum.openscad.org/file/t1309/arch.jpg
--
Sent from: http://forum.openscad.org/
The shape of a Bezier curve follows its control point specifications. What
is the header (name and arguments) of the Bezier function you are using and
what are the arguments you set for the upper arc of the bridge? I could
give you some suggestions based on them.
2017-11-24 12:23 GMT-02:00 ashuan laurent.sass@gmail.com:
Hello,
I want to build a simple 3D form who look like a bridge.
Description :
I want than the middle of this bridge are more narrow than begin and end.
What the prefered way for doing that ?
Thanks
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
I did this to show a simple bridge.
$fn = 120;
db = 200; // diameter of bridge -- higher is flatter
dw = 35; // width of bridge -- higher is wider
do = 1.1; // offset of either side in the middle
module bridge()
{
intersection()
{
difference()
{
rotate([0,90,0]) translate([db/2,0,0]) cylinder(d=db, h=dw,
center=true);
rotate([0,90,0]) translate([db/2*do,0,0]) cylinder(d=db, h=dw+10,
center=true);
translate([-db/2*do,0,0]) cylinder(d=db, h=dw, center=true);
mirror([1,0,0]) translate([-db/2*do,0,0]) cylinder(d=db, h=dw,
center=true);
}
cube([dw,200,10], center=true);
}
}
difference()
{
bridge();
translate([0,0,-2]) scale([1.25, 1, 0.95]) bridge();
}
--
Extra Ham Operator: K7AZJ
Registered Linux User: 275424
Raspberry Pi and Openscad developer
The most exciting phrase to hear in science - the one that heralds new
discoveries - is not "Eureka!" but "That's funny...".- Isaac. Asimov
On Fri, Nov 24, 2017 at 10:43 AM, Ronaldo Persiano rcmpersiano@gmail.com
wrote:
The shape of a Bezier curve follows its control point specifications. What
is the header (name and arguments) of the Bezier function you are using and
what are the arguments you set for the upper arc of the bridge? I could
give you some suggestions based on them.
2017-11-24 12:23 GMT-02:00 ashuan laurent.sass@gmail.com:
Hello,
I want to build a simple 3D form who look like a bridge.
Description :
I want than the middle of this bridge are more narrow than begin and end.
What the prefered way for doing that ?
Thanks
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Thanks, yes, it's seem ok.
I have just a problematic point :
Is it possible with your proposal ?
--
Sent from: http://forum.openscad.org/
Thanks for this code, it's exactly look like what i want.
I have look for my ideal parameters.
I have change those like that :
db = 20; // diameter of bridge -- higher is flatter
dw = 40; // width of bridge -- higher is wider
do = 1.2; // offset of either side in the middle
I have a little bug (screenshot).
I try to understand your code proposal :
http://forum.openscad.org/file/t2049/2017-11-27_1243.png
If my understand are exact, i have just to change the compute of left &
right cylinder.
--
Sent from: http://forum.openscad.org/
Yes, just difference two more cylinders.
http://forum.openscad.org/file/t1309/arch2.jpg
--
Sent from: http://forum.openscad.org/
Thanks a lot, it's perfect.
--
Sent from: http://forum.openscad.org/
I have change your code like following.
Now, i just have to destroy (if possible) the x, y, z correction
and applicate my parameter like shape_Length, shape_Width, shape_Height,
bridge_Width, bridge_Height.
Thanks again.
shapeColorTop = "red";
shapeColorLeft = "red";
shapeColorRight = "red";
shapeColorDown = "red";
shapePos_x = 10 - 75; // true value, correction
shapePos_y = 10 + 45; // true value, correction
shapePos_z = 00 - 10; // true value, correction
shape_Length = 110; // Longeur
shape_Width = 40; // Largeur
shape_Height = 30; // Hauteur
bridge_Width = 15; // Taille étroite du pont
bridge_Height = 05; // Hauteur étroite du pont
translate([shapePos_x,shapePos_y,shapePos_z]) {
difference() {
difference() {
choiceColor(shapeColorTop) {
rotate([90,0,0])
translate([0,-25,0])
cylinder(h=50, r1=65, r2=65, center=false, $fa=2);
}
choiceColor(shapeColorDown) {
rotate([90,0,0])
translate([0,-11,0])
cylinder(h=100, r1=50, r2=50, center=false, $fa=2);
}
}
// remove the lower portion
choiceColor(shapeColorLeft) {
translate([-75,-75,-90])
cube(size=[150,100,100], center=false);
}
// make arch more narrow in center
choiceColor(shapeColorRight) {
translate([0,80,0])
cylinder(h=100,r1=100,r2=100,center=false,$fa=2);
}
choiceColor(shapeColorDown) {
translate([0,-130,0])
cylinder(h=100,r1=100,r2=100,center=false,$fa=2);
}
}
}
// color gesture
module choiceColor(couleur)
{
if (couleur == "default") orange() children();
if (couleur == "green") green() children();
if (couleur == "blue") blue() children();
if (couleur == "orange") orange() children();
if (couleur == "violet") violet() children();
if (couleur == "red") red() children();
if (couleur == "postit") postit() children();
if (couleur == "marron") marron() children();
if (couleur == "black") black() children();
if (couleur == "white") white() children();
if (couleur == "human") human() children();
}
module green() color("LimeGreen", 0.5) children();
module orange() color("Gold", 1) children();
module blue() color("SteelBlue", 0.5) children();
module violet() color("DarkOrchid", 1) children();
module red() color("FireBrick", 0.8) children();
module postit() color("Cornsilk", 0.8) children();
module marron() color("Peru", 0.8) children();
module black() color("Black", 0.7) children();
module white() color("White", 1) children();
module human() color("SteelBlue", 0.9) children();
--
Sent from: http://forum.openscad.org/