discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Simple bridge form

A
ashuan
Fri, Nov 24, 2017 2:23 PM

Hello,

I want to build a simple 3D form who look like a bridge.

Description :

  • i have a bezier simple arc who are extrude for transform this arc to a
    bridge

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/

Hello, I want to build a simple 3D form who look like a bridge. Description : * i have a bezier simple arc who are extrude for transform this arc to a bridge 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/
A
ashuan
Fri, Nov 24, 2017 3:17 PM

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/

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/
C
cbernhardt
Fri, Nov 24, 2017 4:28 PM
Like this? <http://forum.openscad.org/file/t1309/arch.jpg> -- Sent from: http://forum.openscad.org/
RP
Ronaldo Persiano
Fri, Nov 24, 2017 5:43 PM

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 have a bezier simple arc who are extrude for transform this arc to a
    bridge

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

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 have a bezier simple arc who are extrude for transform this arc to a > bridge > > 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 >
JD
Jerry Davis
Fri, Nov 24, 2017 6:12 PM

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 have a bezier simple arc who are extrude for transform this arc to a
    bridge

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 have a bezier simple arc who are extrude for transform this arc to a >> bridge >> >> 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 >> > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >
A
ashuan
Mon, Nov 27, 2017 11:32 AM

Thanks, yes, it's seem ok.
I have just a problematic point :

  • i need to have the middle of this shape more narrow than the begin and the
    end.

Is it possible with your proposal ?

--
Sent from: http://forum.openscad.org/

Thanks, yes, it's seem ok. I have just a problematic point : * i need to have the middle of this shape more narrow than the begin and the end. Is it possible with your proposal ? -- Sent from: http://forum.openscad.org/
A
ashuan
Mon, Nov 27, 2017 11:44 AM

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

  • i have a cube minus
    • two cylinder (left and right)
    • one cylinder (down)
    • one cylinder (top)

If my understand are exact, i have just to change the compute of left &
right cylinder.

--
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> * i have a cube minus * * two cylinder (left and right) * * one cylinder (down) * * one cylinder (top) If my understand are exact, i have just to change the compute of left & right cylinder. -- Sent from: http://forum.openscad.org/
C
cbernhardt
Mon, Nov 27, 2017 12:42 PM

Yes, just difference two more cylinders.
http://forum.openscad.org/file/t1309/arch2.jpg

--
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/
A
ashuan
Mon, Nov 27, 2017 1:36 PM

Thanks a lot, it's perfect.

--
Sent from: http://forum.openscad.org/

Thanks a lot, it's perfect. -- Sent from: http://forum.openscad.org/
A
ashuan
Mon, Nov 27, 2017 2:22 PM

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/

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/