mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2025-12-07 19:32:06 +00:00
commit
91730aa996
3 changed files with 15 additions and 4 deletions
|
|
@ -4519,12 +4519,12 @@ function gear_skew_angle(teeth1,teeth2,helical1,helical2,profile_shift1,profile_
|
|||
// right(d)
|
||||
// spur_gear2d(mod=mod,teeth=teeth2,profile_shift=ps2,shorten=shorten,gear_spin=-90,shaft_diam=5);
|
||||
// stroke([rect([desired,40], anchor=LEFT)],color="red");
|
||||
// Example(2D,Med,NoAxes,VPR=[0.00,0.00,0.00],VPD=237.09,VPT=[0.16,24.60,28.81]): The natural center distance between these gears is 32. Using profile shifting we increase this to 34. With a ring gear and spur gear the **difference** in profile shifts must equal the computed value. The only way to divide the profile shift is hence to place negative shift onto the spur gear, which is only acceptable for large tooth count spur gears. It is not possible to use profile shifting to decrease the distance, because that would requires the ring gear profile shift to be less than the spur gear profile shift.
|
||||
// Example(2D,Med,NoScales,VPR=[0.00,0.00,0.00],VPD=237.09,VPT=[0.16,24.60,28.81]): The natural center distance between these gears is 32. Using profile shifting we increase this to 34. With a ring gear and spur gear the **difference** in profile shifts must equal the computed value. The only way to divide the profile shift is hence to place negative shift onto the spur gear, which is only acceptable for large tooth count spur gears. It is not possible to use profile shifting to decrease the distance, because that would requires the ring gear profile shift to be less than the spur gear profile shift.
|
||||
// teeth_ring = 57;
|
||||
// teeth_spur = 25;
|
||||
// mod = 2;
|
||||
// desired = 34;
|
||||
// ps = 0*get_profile_shift(desired, teeth1=teeth_ring, internal1=true, // Returns 1.2
|
||||
// ps = get_profile_shift(desired, teeth1=teeth_ring, internal1=true, // Returns 1.2
|
||||
// teeth2=teeth_spur, mod=mod);
|
||||
// ps_spur = -0.4; // The biggest negative profile shift that looks reasonable
|
||||
// ps_ring = ps+ps_spur; // Must have ps_ring - ps_spur = ps
|
||||
|
|
|
|||
|
|
@ -4354,7 +4354,7 @@ function _prism_fillet_prism(name, basepoly, bot, top, d, k, N, overlap, uniform
|
|||
// tag("remove") cyl(d=75,h=40,$fn=128)
|
||||
// tag("keep") zrot_copies(n=4)
|
||||
// prism_connector(circ,parent(),[-1,.2],parent(),[1,.4],shift1=12,shift2=-12,fillet=2);
|
||||
// Example(3D,Med,NoAxes): A connection between the "inside" part of a tube and the outside of a tube
|
||||
// Example(3D,Med,NoScales): A connection between the "inside" part of a tube and the outside of a tube
|
||||
// diff()
|
||||
// tube(or=10,wall=2,h=10,rounding=1,$fn=40)
|
||||
// let(outside=parent())
|
||||
|
|
|
|||
|
|
@ -3309,6 +3309,9 @@ function sphere(r, d, anchor=CENTER, spin=0, orient=UP) =
|
|||
// the radius on the axes is equal to the specified radius, which is the *minimum* radius of the circumscribed sphere.
|
||||
// The same thing is true for style="icosa" when $fn is a multiple of 10. This enables you to create spherical
|
||||
// holes with guaranteed on-axis dimensions.
|
||||
// .
|
||||
// The "octa" style has the property that it blends neatly with a cylinder of the same $fn along any of the coordinate axes.
|
||||
// This is true for both the regular and circumscribed "octa" spheroid.
|
||||
// Arguments:
|
||||
// r = Radius of the spheroid.
|
||||
// style = The style of the spheroid's construction. One of "orig", "aligned", "stagger", "octa", or "icosa". Default: "aligned"
|
||||
|
|
@ -3338,6 +3341,14 @@ function sphere(r, d, anchor=CENTER, spin=0, orient=UP) =
|
|||
// spheroid(d=100, style="icosa", $fn=10);
|
||||
// Example: style="icosa", circum=true. This style has hexagons and 12 pentagons, similar to (but not the same as) a soccer ball.
|
||||
// spheroid(d=100, style="icosa", circum=true, $fn=10);
|
||||
// Example: Joining "octa" style spheroid to a x-aligned cylinder
|
||||
// $fn=16;
|
||||
// spheroid(r=10, style="octa");
|
||||
// xcyl(r=10, h=15, anchor=RIGHT);
|
||||
// Example: Joining "octa" style spheroid to a x-aligned cylinder with `circum=true`. Here the sphere is green and the cylinder a tiny bit oversized to prevent z-fighting where the faces of the cylinder and sphere overlap.
|
||||
// $fn=16;
|
||||
// color("lightblue")spheroid(r=10, style="octa", circum=true);
|
||||
// xcyl(r=10.01, h=15, anchor=RIGHT, circum=true);
|
||||
// Example: Anchoring
|
||||
// spheroid(d=100, anchor=FRONT);
|
||||
// Example: Spin
|
||||
|
|
@ -3349,7 +3360,7 @@ function sphere(r, d, anchor=CENTER, spin=0, orient=UP) =
|
|||
// Example: Called as Function
|
||||
// vnf = spheroid(d=100, style="icosa");
|
||||
// vnf_polyhedron(vnf);
|
||||
// Example: With "orig" the circumscribing sphere has the same form. The green sphere is a tiny bit oversized so it pokes through the low points in the circumscribed sphere with low $fn. This demonstrates that these spheres are in fact circumscribing.
|
||||
// Example: With "orig" the circumscribing sphere has the same form. The green sphere has a very high `$fn` so it is very close to spherical, and it is a tiny bit oversized so it pokes through the low points in the circumscribed sphere with low `$fn`. An equal sized green dot in the middle of every face demonstrates that these spheres are in fact circumscribing.
|
||||
// color("green")spheroid(r=10.01, $fn=256);
|
||||
// spheroid(r=10, style="orig", circum=true, $fn=16);
|
||||
// Example: With "aligned" the same is true: the circumscribing sphere is also aligned, if $fn is divisible by 4.
|
||||
|
|
|
|||
Loading…
Reference in a new issue