1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-18 11:11:31 +02:00

Compare commits

..

11 Commits

Author SHA1 Message Date
Chris Palmer
235caa4101 Merge branch 'martinbudden-extrusion1515_dimensions' 2022-06-21 11:48:46 +01:00
Chris Palmer
6a9af0af8a Updates images 2022-06-21 11:48:15 +01:00
Chris Palmer
f066b1b8ae Merge branch 'extrusion1515_dimensions' of https://github.com/martinbudden/NopSCADlib into martinbudden-extrusion1515_dimensions 2022-06-21 11:39:31 +01:00
Chris Palmer
4be7b2f0ea Merge branch 'martinbudden-typos' 2022-06-21 11:14:45 +01:00
Chris Palmer
3cc3c52b54 Merge branch 'typos' of https://github.com/martinbudden/NopSCADlib into martinbudden-typos 2022-06-21 10:37:27 +01:00
Chris Palmer
7f1634ef06 Merge branch 'martinbudden-image_size' 2022-06-21 10:28:08 +01:00
Chris Palmer
34c8c31cae Merge branch 'image_size' of https://github.com/martinbudden/NopSCADlib into martinbudden-image_size 2022-06-21 10:26:03 +01:00
Martin Budden
a6a08088d9 Fixed dimensions of E1515 extrusion. 2022-06-21 08:32:13 +01:00
Martin Budden
06443a558b Standardised setting of imgsize in scripts. 2022-06-21 07:19:11 +01:00
Martin Budden
bcf9fb38df Fixed typos. 2022-06-21 06:54:08 +01:00
Chris Palmer
18f3d43780 Added convexity parameter to clip(). 2022-06-14 15:13:21 +01:00
11 changed files with 16 additions and 17 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 KiB

After

Width:  |  Height:  |  Size: 984 KiB

View File

@@ -6883,7 +6883,7 @@ Original version by Doug Moen on the OpenSCAD forum
| Module | Description |
|:--- |:--- |
| `box(xmin, ymin, zmin, xmax, ymax, zmax)` | Construct a box given its bounds |
| `clip(xmin = -inf, ymin = -inf, zmin = -inf, xmax = inf, ymax = inf, zmax = inf)` | Clip child to specified boundaries |
| `clip(xmin = -inf, ymin = -inf, zmin = -inf, xmax = inf, ymax = inf, zmax = inf, convexity = 1)` | Clip child to specified boundaries |
![clip](tests/png/clip.png)

View File

@@ -157,7 +157,7 @@ if __name__ == '__main__':
break
j += 1
# Print verson info
# Print version info
print('%s [%s](%s "show release") %s %s' % ('#' * (level + 1), ver, url + '/releases/tag/' + ver, type, diff), file = file)
# Print commits excluding merges

View File

@@ -26,7 +26,7 @@ from set_config import *
from exports import bom_to_parts
import os
import openscad
from tests import do_cmd, update_image, colour_scheme, background
from tests import do_cmd, update_image, colour_scheme, background, image_size
from deps import mtime
from colorama import init
import json
@@ -95,7 +95,7 @@ def render(target, type):
render = "--preview" if type == 'stl' or colour != pp1 else "--render"
tmp_name = tmp_dir + '/' + part[:-4] + '.png'
dummy_deps_name = tmp_dir + '/tmp.deps' # work around for OpenSCAD issue #3879
openscad.run("-o", tmp_name, png_maker_name, colour_scheme, "--projection=p", "--imgsize=4096,4096", cam, render, "--autocenter", "--viewall", "-d", dummy_deps_name)
openscad.run("-o", tmp_name, png_maker_name, colour_scheme, "--projection=p", image_size, cam, render, "--autocenter", "--viewall", "-d", dummy_deps_name)
do_cmd(("magick "+ tmp_name + " -trim -resize 280x280 -background %s -gravity Center -extent 280x280 -bordercolor %s -border 10 %s"
% (background, background, tmp_name)).split())
update_image(tmp_name, png_name)

View File

@@ -57,13 +57,13 @@ def set_config(target, usage = None):
sys.exit(1)
if not targets:
print("Not a muli-configuration project (no config_<target>.scad files found)")
print("Not a multi-configuration project (no config_<target>.scad files found)")
if usage:
usage()
sys.exit(1)
if not target in targets:
print(target + " is not a configuration, avaliable configurations are: " + valid_targets_string())
print(target + " is not a configuration, available configurations are: " + valid_targets_string())
if usage:
usage()
sys.exit(1)

View File

@@ -36,8 +36,7 @@ from blurb import *
from colorama import Fore
from tmpdir import *
w = 4096
h = w
image_size = "--imgsize=4096,4096"
threshold = 20 # Image comparison allowed number of different pixels
fuzz = 5 # Image comparison allowed percentage error in pixel value
@@ -119,7 +118,7 @@ def tests(tests):
libtest = True
lib_blurb = scrape_blurb(scad_name)
if not os.path.isfile(png_name):
openscad.run(scad_name, "-o", png_name, colour_scheme, "--projection=p", "--imgsize=%d,%d" % (w, h), "--camera=0,0,0,50,0,340,500", "--autocenter", "--viewall");
openscad.run(scad_name, "-o", png_name, colour_scheme, "--projection=p", image_size, "--camera=0,0,0,50,0,340,500", "--autocenter", "--viewall");
do_cmd(["magick", png_name, "-trim", "-resize", "1280", "-bordercolor", background, "-border", "10", png_name])
else:
#
@@ -240,7 +239,7 @@ def tests(tests):
print(changed)
t = time.time()
tmp_name = tmp_dir + '/tmp.png'
openscad.run_list([scad_name, "-o", tmp_name] + options.list() + ["-D$bom=2", colour_scheme, "--projection=p", "--imgsize=%d,%d" % (w, h), "--camera=0,0,0,70,0,315,500", "--autocenter", "--viewall", "-d", dname]);
openscad.run_list([scad_name, "-o", tmp_name] + options.list() + ["-D$bom=2", colour_scheme, "--projection=p", image_size, "--camera=0,0,0,70,0,315,500", "--autocenter", "--viewall", "-d", dname]);
times.add_time(scad_name, t)
do_cmd(["magick", tmp_name, "-trim", "-resize", "1000x600", "-bordercolor", background, "-border", "10", tmp_name])
update_image(tmp_name, png_name)

View File

@@ -25,7 +25,7 @@
from __future__ import print_function
from set_config import *
import openscad
from tests import do_cmd, update_image, colour_scheme, background
from tests import do_cmd, update_image, colour_scheme, background, image_size
import time
import times
import options
@@ -223,7 +223,7 @@ def views(target, do_assemblies = None):
target_def = ['-D$target="%s"' % target] if target else []
cwd_def = ['-D$cwd="%s"' % os.getcwd().replace('\\', '/')]
view_def = ['--viewall', '--autocenter'] if not (zoomed & (1 << explode)) else ['--camera=0,0,0,55,0,25,140']
openscad.run_list(["-o", tmp_name, png_maker_name] + options.list() + target_def + cwd_def + view_def + ["-D$pose=1", "-D$explode=%d" % explode, colour_scheme, "--projection=p", "--imgsize=4096,4096", "-d", dname]);
openscad.run_list(["-o", tmp_name, png_maker_name] + options.list() + target_def + cwd_def + view_def + ["-D$pose=1", "-D$explode=%d" % explode, colour_scheme, "--projection=p", image_size, "-d", dname]);
times.add_time(png_name, t)
do_cmd(["magick", tmp_name, "-trim", "-resize", "1004x1004", "-bordercolor", background, "-border", "10", tmp_name])
update_image(tmp_name, png_name)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View File

@@ -41,8 +41,8 @@ module box(xmin, ymin, zmin, xmax, ymax, zmax) //! Construct a box given its bou
[0,2,3,1]] // left
);
module clip(xmin = -inf, ymin = -inf, zmin = -inf, xmax = inf, ymax = inf, zmax = inf) //! Clip child to specified boundaries
render() intersection() {
module clip(xmin = -inf, ymin = -inf, zmin = -inf, xmax = inf, ymax = inf, zmax = inf, convexity = 1) //! Clip child to specified boundaries
render(convexity = convexity) intersection() {
children();
box(xmin, ymin, zmin, xmax, ymax, zmax);

View File

@@ -127,8 +127,8 @@ function sweep_transforms(path, loop = false, twist = 0) =
i = i + 1,
rot = i < len ? rotate_from_to(tangents[i - 1], tangents[i]) * rot : undef) rot],
missmatch = loop ? calculate_twist(rotations[0], rotations[last]) : 0,
rotation = missmatch + twist
mismatch = loop ? calculate_twist(rotations[0], rotations[last]) : 0,
rotation = mismatch + twist
)
[for(i = [0 : last])
let(za = rotation * lengths[i] / length)

View File

@@ -20,7 +20,7 @@
// Extrusion
//
// W H d1 d2 sq cw cwi t st f recess
E1515 = [ "E1515", 15, 15, -2.5, 0, 5.7, 3.4, 5.7, 1.1, 1.1, 0.5, false ];
E1515 = [ "E1515", 15, 15, -3.3, 0, 5.5, 6.2, 9.5, 1.0, 0.9, 0.5, false ];
E2020 = [ "E2020", 20, 20, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
E2020t = [ "E2020t",20, 20, -5.0, -3, 7.8, 6.2, 11.0, 1.8, 1.5, 1.5, [7.2, 0.5] ];
E2040 = [ "E2040", 20, 40, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];