1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-22 22:35:18 +02:00

refactored

This commit is contained in:
Justin Lin
2017-05-07 09:57:21 +08:00
parent 0970987629
commit f903a11192
11 changed files with 34 additions and 38 deletions

View File

@@ -10,12 +10,10 @@
*
**/
include <__private__/__frags.scad>;
module circular_sector(radius, angles) {
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, radius * 6.28318 / $fs), 5)
;
frags = __frags(radius);
r = radius / cos(180 / frags);
step = -360 / frags;

View File

@@ -11,12 +11,10 @@
*
**/
module ellipse(axes) {
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, axes[0] * 6.28318 / $fs), 5);
step_a = 360 / frags;
include <__private__/__frags.scad>;
module ellipse(axes) {
step_a = 360 / __frags(axes[0]);
polygon(
[
for(a = [0:step_a:360 - step_a])

View File

@@ -12,13 +12,14 @@
*
**/
include <__private__/__frags.scad>;
function helix(radius, levels, level_dist, vt_dir = "SPI_DOWN", rt_dir = "CT_CLK") =
let(
r1 = len(radius) == undef ? radius : radius[0],
r2 = len(radius) == undef ? radius : radius[1],
_frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, r1 * 6.28318 / $fs), 5),
init_r = vt_dir == "SPI_DOWN" ? r2 : r1,
_frags = __frags(init_r),
h = level_dist * levels,
vt_d = vt_dir == "SPI_DOWN" ? 1 : -1,
rt_d = rt_dir == "CT_CLK" ? 1 : -1,

View File

@@ -10,6 +10,8 @@
*
**/
include <__private__/__frags.scad>;
module helix_extrude(shape_pts, radius, levels, level_dist,
vt_dir = "SPI_DOWN", rt_dir = "CT_CLK",
twist = 0, scale = 1.0, triangles = "RADIAL") {
@@ -19,9 +21,7 @@ module helix_extrude(shape_pts, radius, levels, level_dist,
init_r = vt_dir == "SPI_DOWN" ? r2 : r1;
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, init_r * 6.28318 / $fs), 5);
frags = __frags(init_r);
v_dir = vt_dir == "SPI_UP" ? 1 : -1;
r_dir = rt_dir == "CT_CLK" ? 1 : -1;

View File

@@ -10,6 +10,8 @@
*
**/
include <__private__/__frags.scad>;
module line2d(p1, p2, width, p1Style = "CAP_SQUARE", p2Style = "CAP_SQUARE") {
half_width = 0.5 * width;
@@ -27,9 +29,7 @@ module line2d(p1, p2, width, p1Style = "CAP_SQUARE", p2Style = "CAP_SQUARE") {
p2 + offset2, p1 + offset2
]);
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, half_width * 6.28318 / $fs), 5);
frags = __frags(half_width);
remain = frags % 4;
end_frags = (remain / 4) > 0.5 ? frags - remain + 4 : frags - remain;

View File

@@ -10,13 +10,12 @@
*
**/
include <__private__/__frags.scad>;
module line3d(p1, p2, thickness, p1Style = "CAP_CIRCLE", p2Style = "CAP_CIRCLE") {
r = thickness / 2;
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, r * 6.28318 / $fs), 5)
;
frags = __frags(r);
remain = frags % 4;
frags_of_4 = (remain / 4) > 0.5 ? frags - remain + 4 : frags - remain;

View File

@@ -11,10 +11,10 @@
*
**/
include <__private__/__frags.scad>;
module ring_extrude(shape_pts, radius, angle = 360, twist = 0, scale = 1.0, triangles = "RADIAL") {
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, radius * 6.28318 / $fs), 5);
frags = __frags(radius);
angle_step = 360 / frags;
as = [for(a = [0:angle_step:angle]) [90, 0, a]];

View File

@@ -11,14 +11,14 @@
*
**/
include <__private__/__frags.scad>;
module rounded_cube(size, corner_r, center = false) {
x = len(size) == undef ? size : size[0];
y = len(size) == undef ? size : size[1];
z = len(size) == undef ? size : size[2];
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, corner_r * 6.28318 / $fs), 5);
frags = __frags(corner_r);
remain = frags % 4;
corner_frags = (remain / 4) > 0.5 ? frags - remain + 4 : frags - remain;

View File

@@ -11,10 +11,10 @@
*
**/
include <__private__/__frags.scad>;
module rounded_square(size, corner_r, center = false) {
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, corner_r * 6.28318 / $fs), 5);
frags = __frags(corner_r);
remain = frags % 4;
corner_frags = (remain / 4) > 0.5 ? frags - remain + 4 : frags - remain;

View File

@@ -12,11 +12,11 @@
*
**/
include <__private__/__frags.scad>;
function shape_ellipse(axes) =
let(
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, axes[0] * 6.28318 / $fs), 5),
frags = __frags(axes[0]),
step_a = 360 / frags,
shape_pts = [
for(a = [0:step_a:360 - step_a])

View File

@@ -12,11 +12,11 @@
*
**/
include <__private__/__frags.scad>;
function shape_square(size, corner_r = 0) =
let(
frags = $fn > 0 ?
($fn >= 3 ? $fn : 3) :
max(min(360 / $fa, corner_r * 6.28318 / $fs), 5),
frags = __frags(corner_r),
remain = frags % 4,
corner_frags = (remain / 4) > 0.5 ? frags - remain + 4 : frags - remain,
step_a = 360 / corner_frags,