mirror of
https://github.com/kennetek/gridfinity-rebuilt-openscad.git
synced 2024-05-29 02:34:51 +00:00
Merge branch 'main' into hotfix/holes_at_corners
This commit is contained in:
commit
c801bd9f10
82
.github/workflows/tests.yml
vendored
Normal file
82
.github/workflows/tests.yml
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
name: Run Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
pull_request:
|
||||
branches: ["main"]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test_linting:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: "3.10"
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install mypy pylint
|
||||
- name: Check mypy
|
||||
run: |
|
||||
python -m mypy --strict .
|
||||
- name: Check pylint
|
||||
run: |
|
||||
find . -type f -name "*.py" | xargs python -m pylint --disable=R,C
|
||||
|
||||
test_linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: "3.10"
|
||||
- name: Install openscad
|
||||
run: |
|
||||
sudo apt update && sudo apt install openscad -y
|
||||
- name: Test unittest
|
||||
run: |
|
||||
python -m unittest discover tests/ -p "test_unit*.py" -v
|
||||
- name: Test integrationtest
|
||||
run: |
|
||||
python -m unittest discover tests/ -p "test_int*.py" -v
|
||||
- name: Get generated testfiles on fail
|
||||
uses: actions/upload-artifact@v3
|
||||
if: failure()
|
||||
with:
|
||||
name: generated_test_files_lnx
|
||||
path: |
|
||||
oscad_generated_test_files*
|
||||
|
||||
test_windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: "3.10"
|
||||
- name: Install openscad
|
||||
run: |
|
||||
curl.exe --output openscad.zip --url https://files.openscad.org/OpenSCAD-2021.01-x86-64.zip
|
||||
tar -xf openscad.zip
|
||||
move "openscad-2021.01" "C:\Program Files\Openscad"
|
||||
- name: Test unittest
|
||||
run: |
|
||||
python -m unittest discover tests/ -p "test_unit*.py" -v
|
||||
- name: Test integrationtest
|
||||
run: |
|
||||
python -m unittest discover tests/ -p "test_int*.py" -v
|
||||
- name: Get generated testfiles on fail
|
||||
uses: actions/upload-artifact@v3
|
||||
if: failure()
|
||||
with:
|
||||
name: generated_test_files_windows
|
||||
path: |
|
||||
oscad_generated_test_files*
|
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -5,4 +5,11 @@ gridfinity-rebuilt-bins.json
|
|||
stl/
|
||||
batch/
|
||||
site/
|
||||
*.json
|
||||
*.json
|
||||
|
||||
#Python related
|
||||
__pycache__/
|
||||
.mypy_cache/
|
||||
|
||||
#exclude generated temporary test folders
|
||||
oscad_generated_test_files.*/
|
|
@ -16,9 +16,9 @@ $fs = 0.25;
|
|||
|
||||
/* [General Settings] */
|
||||
// number of bases along x-axis
|
||||
gridx = 5;
|
||||
gridx = 2;
|
||||
// number of bases along y-axis
|
||||
gridy = 5;
|
||||
gridy = 2;
|
||||
// base unit
|
||||
length = 42;
|
||||
|
||||
|
|
|
@ -2,11 +2,12 @@ include <gridfinity-rebuilt-utility.scad>
|
|||
|
||||
// ===== INFORMATION ===== //
|
||||
/*
|
||||
IMPORTANT: rendering will be better for analyzing the model if fast-csg is enabled. As of writing, this feature is only available in the development builds and not the official release of OpenSCAD, but it makes rendering only take a couple seconds, even for comically large bins. Enable it in Edit > Preferences > Features > fast-csg
|
||||
the magnet holes can have an extra cut in them to make it easier to print without supports
|
||||
tabs will automatically be disabled when gridz is less than 3, as the tabs take up too much space
|
||||
base functions can be found in "gridfinity-rebuilt-utility.scad"
|
||||
examples at end of file
|
||||
IMPORTANT: rendering will be better for analyzing the model if fast-csg is enabled. As of writing, this feature is only
|
||||
available in the development builds and not the official release of OpenSCAD, but it makes rendering only take a couple
|
||||
seconds, even for comically large bins. Enable it in Edit > Preferences > Features > fast-csg the magnet holes can have
|
||||
an extra cut in them to make it easier to print without supports tabs will automatically be disabled when gridz is less
|
||||
than 3, as the tabs take up too much space base functions can be found in "gridfinity-rebuilt-utility.scad" examples at
|
||||
end of file
|
||||
|
||||
BIN HEIGHT
|
||||
the original gridfinity bins had the overall height defined by 7mm increments
|
||||
|
@ -29,11 +30,11 @@ $fs = 0.25;
|
|||
|
||||
/* [General Settings] */
|
||||
// number of bases along x-axis
|
||||
gridx = 5;
|
||||
// number of bases along y-axis
|
||||
gridy = 5;
|
||||
// bin height. See bin height information and "gridz_define" below.
|
||||
gridz = 6;
|
||||
gridx = 1;
|
||||
// number of bases along y-axis
|
||||
gridy = 1;
|
||||
// bin height. See bin height information and "gridz_define" below.
|
||||
gridz = 6;
|
||||
// base unit
|
||||
length = 42;
|
||||
|
||||
|
@ -45,9 +46,10 @@ divy = 1;
|
|||
|
||||
/* [Height] */
|
||||
// determine what the variable "gridz" applies to based on your use case
|
||||
gridz_define = 0; // [0:gridz is the height of bins in units of 7mm increments - Zack's method,1:gridz is the internal height in millimeters, 2:gridz is the overall external height of the bin in millimeters]
|
||||
gridz_define = 0; // [0:gridz is the height of bins in units of 7mm increments - Zack's method,1:gridz is the internal
|
||||
// height in millimeters, 2:gridz is the overall external height of the bin in millimeters]
|
||||
// overrides internal block height of bin (for solid containers). Leave zero for default height. Units: mm
|
||||
height_internal = 0;
|
||||
height_internal = 0;
|
||||
// snap gridz height to nearest 7mm increment
|
||||
enable_zsnap = false;
|
||||
|
||||
|
@ -56,61 +58,65 @@ enable_zsnap = false;
|
|||
style_tab = 1; //[0:Full,1:Auto,2:Left,3:Center,4:Right,5:None]
|
||||
// how should the top lip act
|
||||
style_lip = 0; //[0: Regular lip, 1:remove lip subtractively, 2: remove lip and retain height]
|
||||
// scoop weight percentage. 0 disables scoop, 1 is regular scoop. Any real number will scale the scoop.
|
||||
// scoop weight percentage. 0 disables scoop, 1 is regular scoop. Any real number will scale the scoop.
|
||||
scoop = 1; //[0:0.1:1]
|
||||
// only cut magnet/screw holes at the corners of the bin to save uneccesary print time
|
||||
only_corners = false;
|
||||
|
||||
/* [Base] */
|
||||
style_hole = 3; // [0:no holes, 1:magnet holes only, 2: magnet and screw holes - no printable slit, 3: magnet and screw holes - printable slit]
|
||||
// number of divisions per 1 unit of base along the X axis. (default 1, only use integers. 0 means automatically guess the right division)
|
||||
style_hole = 3; // [0:no holes, 1:magnet holes only, 2: magnet and screw holes - no printable slit, 3: magnet and screw
|
||||
// holes - printable slit]
|
||||
// number of divisions per 1 unit of base along the X axis. (default 1, only use integers. 0 means automatically guess
|
||||
// the right division)
|
||||
div_base_x = 0;
|
||||
// number of divisions per 1 unit of base along the Y axis. (default 1, only use integers. 0 means automatically guess the right division)
|
||||
div_base_y = 0;
|
||||
|
||||
|
||||
// number of divisions per 1 unit of base along the Y axis. (default 1, only use integers. 0 means automatically guess
|
||||
// the right division)
|
||||
div_base_y = 0;
|
||||
|
||||
// ===== IMPLEMENTATION ===== //
|
||||
|
||||
color("tomato") {
|
||||
gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap), height_internal, length) {
|
||||
|
||||
if (divx > 0 && divy > 0)
|
||||
cutEqual(n_divx = divx, n_divy = divy, style_tab = style_tab, scoop_weight = scoop);
|
||||
color("tomato")
|
||||
{
|
||||
gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap), height_internal, length)
|
||||
{
|
||||
if (divx > 0 && divy > 0)
|
||||
cutEqual(n_divx = divx, n_divy = divy, style_tab = style_tab, scoop_weight = scoop);
|
||||
}
|
||||
gridfinityBase(gridx, gridy, length, div_base_x, div_base_y, style_hole * (style_corners ? p_corn : 1));
|
||||
}
|
||||
gridfinityBase(gridx, gridy, length, div_base_x, div_base_y, style_hole, only_corners=only_corners);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ===== EXAMPLES ===== //
|
||||
|
||||
// 3x3 even spaced grid
|
||||
/*
|
||||
gridfinityInit(3, 3, height(6), 0, 42) {
|
||||
cutEqual(n_divx = 3, n_divy = 3, style_tab = 0, scoop_weight = 0);
|
||||
cutEqual(n_divx = 3, n_divy = 3, style_tab = 0, scoop_weight = 0);
|
||||
}
|
||||
gridfinityBase(3, 3, 42, 0, 0, 1);
|
||||
*/
|
||||
|
||||
// Compartments can be placed anywhere (this includes non-integer positions like 1/2 or 1/3). The grid is defined as (0,0) being the bottom left corner of the bin, with each unit being 1 base long. Each cut() module is a compartment, with the first four values defining the area that should be made into a compartment (X coord, Y coord, width, and height). These values should all be positive. t is the tab style of the compartment (0:full, 1:auto, 2:left, 3:center, 4:right, 5:none). s is a toggle for the bottom scoop.
|
||||
// Compartments can be placed anywhere (this includes non-integer positions like 1/2 or 1/3). The grid is defined as
|
||||
// (0,0) being the bottom left corner of the bin, with each unit being 1 base long. Each cut() module is a compartment,
|
||||
// with the first four values defining the area that should be made into a compartment (X coord, Y coord, width, and
|
||||
// height). These values should all be positive. t is the tab style of the compartment (0:full, 1:auto, 2:left,
|
||||
// 3:center, 4:right, 5:none). s is a toggle for the bottom scoop.
|
||||
/*
|
||||
gridfinityInit(3, 3, height(6), 0, 42) {
|
||||
cut(x=0, y=0, w=1.5, h=0.5, t=5, s=0);
|
||||
cut(0, 0.5, 1.5, 0.5, 5, 0);
|
||||
cut(0, 1, 1.5, 0.5, 5, 0);
|
||||
|
||||
|
||||
cut(0,1.5,0.5,1.5,5,0);
|
||||
cut(0.5,1.5,0.5,1.5,5,0);
|
||||
cut(1,1.5,0.5,1.5,5,0);
|
||||
|
||||
|
||||
cut(1.5, 0, 1.5, 5/3, 2);
|
||||
cut(1.5, 5/3, 1.5, 4/3, 4);
|
||||
}
|
||||
gridfinityBase(3, 3, 42, 0, 0, 1);
|
||||
*/
|
||||
|
||||
// Compartments can overlap! This allows for weirdly shaped compartments, such as this "2" bin.
|
||||
// Compartments can overlap! This allows for weirdly shaped compartments, such as this "2" bin.
|
||||
/*
|
||||
gridfinityInit(3, 3, height(6), 0, 42) {
|
||||
cut(0,2,2,1,5,0);
|
||||
|
@ -122,19 +128,22 @@ gridfinityInit(3, 3, height(6), 0, 42) {
|
|||
gridfinityBase(3, 3, 42, 0, 0, 1);
|
||||
*/
|
||||
|
||||
// Areas without a compartment are solid material, where you can put your own cutout shapes. using the cut_move() function, you can select an area, and any child shapes will be moved from the origin to the center of that area, and subtracted from the block. For example, a pattern of three cylinderical holes.
|
||||
// Areas without a compartment are solid material, where you can put your own cutout shapes. using the cut_move()
|
||||
// function, you can select an area, and any child shapes will be moved from the origin to the center of that area, and
|
||||
// subtracted from the block. For example, a pattern of three cylinderical holes.
|
||||
/*
|
||||
gridfinityInit(3, 3, height(6), 0, 42) {
|
||||
cut(x=0, y=0, w=2, h=3);
|
||||
cut(x=0, y=0, w=3, h=1, t=5);
|
||||
cut_move(x=2, y=1, w=1, h=2)
|
||||
pattern_linear(x=1, y=3, sx=42/2)
|
||||
cut_move(x=2, y=1, w=1, h=2)
|
||||
pattern_linear(x=1, y=3, sx=42/2)
|
||||
cylinder(r=5, h=1000, center=true);
|
||||
}
|
||||
gridfinityBase(3, 3, 42, 0, 0, 1);
|
||||
*/
|
||||
|
||||
// You can use loops as well as the bin dimensions to make different parametric functions, such as this one, which divides the box into columns, with a small 1x1 top compartment and a long vertical compartment below
|
||||
// You can use loops as well as the bin dimensions to make different parametric functions, such as this one, which
|
||||
// divides the box into columns, with a small 1x1 top compartment and a long vertical compartment below
|
||||
/*
|
||||
gx = 3;
|
||||
gy = 3;
|
||||
|
@ -152,7 +161,7 @@ gridfinityBase(gx, gy, 42, 0, 0, 1);
|
|||
gx = 4.5;
|
||||
gy = 4;
|
||||
gridfinityInit(gx, gy, height(6), 0, 42) {
|
||||
for (i = [0:gx-1])
|
||||
for (i = [0:gx-1])
|
||||
for (j = [0:i])
|
||||
cut(j*gx/(i+1),gy-i-1,gx/(i+1),1,0);
|
||||
}
|
||||
|
|
96
tests/README.md
Normal file
96
tests/README.md
Normal file
|
@ -0,0 +1,96 @@
|
|||
# Openscad test framework
|
||||
The openscad framework will isolate a openscad module by generating a new scad file and copy the to be tested module to that file. The file is rendered with openscad to a stl which is compared with an expected stl.
|
||||
## How to run tests manualy
|
||||
### Unit tests
|
||||
Unittests are designed to be fast(er). These test let you make small changes and check over and over again. Usualy only these test will be used during development and the integration test will be used afterwards as check.
|
||||
```bash
|
||||
python -m unittest discover tests/ -p "test_unit*.py"
|
||||
```
|
||||
### Integration tests
|
||||
These tests test the outcome which users of this repo can expect. They usualy take long(er) to run.
|
||||
```bash
|
||||
python -m unittest discover tests/ -p "test_int*.py"
|
||||
```
|
||||
|
||||
## Get a expected stl
|
||||
A passing testcase will clean generated files afterwards. A failing testcase will leave the generated files in a directory. The filenames are generated with the name of the test function. Keep in mind that renaming a test makes it fail automaticaly as the expected file for that test can not be found.
|
||||
1. Create test
|
||||
2. Run Test (it fails)
|
||||
3. Inspect output file in directory starting with `oscad_generated_test_files` followed by testname
|
||||
4. copy stl to `tests/expected`
|
||||
5. Run Test (it should pass)
|
||||
## How to use the test framework
|
||||
Lets test the following scad module `module_to_be_tested` witch has a dependecy `module_dependency`.
|
||||
```openscad
|
||||
module module_to_be_tested(argument_a, argument_b, argumet_c=42) {
|
||||
module_dependency(argument_a, argument_b);
|
||||
}
|
||||
|
||||
module module_dependency(argument_a, argument_b) {
|
||||
some_buildin_open_scad_function();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
1. Import some classes from the framework:
|
||||
```python
|
||||
from openscadtestframework import ScadTestCase, Module, ModuleTest
|
||||
```
|
||||
2. Create a test class with a test case
|
||||
```python
|
||||
class openscad_module_test(ScadTestCase):
|
||||
|
||||
def test_case(self):
|
||||
```
|
||||
3. Create a module object of the to be tested object from a file:
|
||||
```python
|
||||
module = Module.from_file("module_to_be_tested", "scadfilewithmodule.scad")
|
||||
```
|
||||
4. Create a module test.
|
||||
```python
|
||||
module_test = ModuleTest(module)
|
||||
```
|
||||
5. If needed, create a dependency module.
|
||||
- from file
|
||||
```python
|
||||
dep_module = Module.from_file("module_dependency", "scadfilewithmodule.scad")
|
||||
```
|
||||
- mock module
|
||||
``` python
|
||||
dep_module = Module("module_dependency",
|
||||
["module_behavior_line1();", "module_behaviour_line2();"],
|
||||
["argument_a","argument_b"])
|
||||
```
|
||||
6. Add dependendy to the module test:
|
||||
```python
|
||||
module_test.add_dependency(dep_module)
|
||||
```
|
||||
7. If needed, add file with constants to the module test:
|
||||
```python
|
||||
module_test.add_constants_file("constants.scad")
|
||||
```
|
||||
8. Add arguments with which the tested module should be called:
|
||||
```python
|
||||
module_test.add_arguments(argument_a=1, argument_b=2, argument_c=3)
|
||||
```
|
||||
9. Run the module test. `keep_files` will not remove any generated test files which can be used for debuging:
|
||||
```python
|
||||
self.scad_module_test(module_test, "expected_stl.stl",keep_files=True)
|
||||
```
|
||||
10. The final test file looks like this:
|
||||
``` python
|
||||
from openscadtestframework import ScadTestCase, Module, ModuleTest
|
||||
|
||||
class openscad_module_test(ScadTestCase):
|
||||
|
||||
def test_case(self):
|
||||
module = Module.from_file("module_to_be_tested", "scadfilewithmodule.scad")
|
||||
module_test = ModuleTest(module)
|
||||
dep_module = Module("module_dependency",
|
||||
["module_behavior_line1();", "module_behaviour_line2();"],
|
||||
["argument_a","argument_b"])
|
||||
module_test.add_dependency(dep_module)
|
||||
module_test.add_constants_file("constants.scad")
|
||||
module_test.add_arguments(argument_a=1, argument_b=2, argument_c=3)
|
||||
self.scad_module_test(module_test, "expected_stl.stl")
|
||||
```
|
3334
tests/expected/test_int_baseplate.baseplate.test_default.stl
Normal file
3334
tests/expected/test_int_baseplate.baseplate.test_default.stl
Normal file
File diff suppressed because it is too large
Load diff
3222
tests/expected/test_int_baseplate.baseplate.test_fit_to_drawer.stl
Normal file
3222
tests/expected/test_int_baseplate.baseplate.test_fit_to_drawer.stl
Normal file
File diff suppressed because it is too large
Load diff
23830
tests/expected/test_int_baseplate.baseplate.test_screw_together.stl
Normal file
23830
tests/expected/test_int_baseplate.baseplate.test_screw_together.stl
Normal file
File diff suppressed because it is too large
Load diff
22262
tests/expected/test_int_baseplate.baseplate.test_skeletonized.stl
Normal file
22262
tests/expected/test_int_baseplate.baseplate.test_skeletonized.stl
Normal file
File diff suppressed because it is too large
Load diff
23270
tests/expected/test_int_baseplate.baseplate.test_weigthed.stl
Normal file
23270
tests/expected/test_int_baseplate.baseplate.test_weigthed.stl
Normal file
File diff suppressed because it is too large
Load diff
19616
tests/expected/test_int_bins.bins.test_2x2x3.stl
Normal file
19616
tests/expected/test_int_bins.bins.test_2x2x3.stl
Normal file
File diff suppressed because it is too large
Load diff
17278
tests/expected/test_int_bins.bins.test_compartment_3x2.stl
Normal file
17278
tests/expected/test_int_bins.bins.test_compartment_3x2.stl
Normal file
File diff suppressed because it is too large
Load diff
9844
tests/expected/test_int_bins.bins.test_default.stl
Normal file
9844
tests/expected/test_int_bins.bins.test_default.stl
Normal file
File diff suppressed because it is too large
Load diff
11356
tests/expected/test_int_bins.bins.test_div_base_2x3.stl
Normal file
11356
tests/expected/test_int_bins.bins.test_div_base_2x3.stl
Normal file
File diff suppressed because it is too large
Load diff
9872
tests/expected/test_int_bins.bins.test_gridz_define_1.stl
Normal file
9872
tests/expected/test_int_bins.bins.test_gridz_define_1.stl
Normal file
File diff suppressed because it is too large
Load diff
9844
tests/expected/test_int_bins.bins.test_gridz_define_2.stl
Normal file
9844
tests/expected/test_int_bins.bins.test_gridz_define_2.stl
Normal file
File diff suppressed because it is too large
Load diff
7604
tests/expected/test_int_bins.bins.test_no_holes.stl
Normal file
7604
tests/expected/test_int_bins.bins.test_no_holes.stl
Normal file
File diff suppressed because it is too large
Load diff
16060
tests/expected/test_int_lite.lite.test_2x2x3.stl
Normal file
16060
tests/expected/test_int_lite.lite.test_2x2x3.stl
Normal file
File diff suppressed because it is too large
Load diff
12896
tests/expected/test_int_lite.lite.test_compartment_3x2.stl
Normal file
12896
tests/expected/test_int_lite.lite.test_compartment_3x2.stl
Normal file
File diff suppressed because it is too large
Load diff
25328
tests/expected/test_int_lite.lite.test_default.stl
Normal file
25328
tests/expected/test_int_lite.lite.test_default.stl
Normal file
File diff suppressed because it is too large
Load diff
19980
tests/expected/test_int_lite.lite.test_div_base_2x3.stl
Normal file
19980
tests/expected/test_int_lite.lite.test_div_base_2x3.stl
Normal file
File diff suppressed because it is too large
Load diff
12714
tests/expected/test_int_lite.lite.test_gridz_define_1.stl
Normal file
12714
tests/expected/test_int_lite.lite.test_gridz_define_1.stl
Normal file
File diff suppressed because it is too large
Load diff
12644
tests/expected/test_int_lite.lite.test_gridz_define_2.stl
Normal file
12644
tests/expected/test_int_lite.lite.test_gridz_define_2.stl
Normal file
File diff suppressed because it is too large
Load diff
25734
tests/expected/test_int_vase.vase.test_default.stl
Normal file
25734
tests/expected/test_int_vase.vase.test_default.stl
Normal file
File diff suppressed because it is too large
Load diff
8542
tests/expected/test_int_vase.vase.test_default_base.stl
Normal file
8542
tests/expected/test_int_vase.vase.test_default_base.stl
Normal file
File diff suppressed because it is too large
Load diff
33742
tests/expected/test_int_vase.vase.test_general_bin_settings.stl
Normal file
33742
tests/expected/test_int_vase.vase.test_general_bin_settings.stl
Normal file
File diff suppressed because it is too large
Load diff
20414
tests/expected/test_int_vase.vase.test_printer_settings.stl
Normal file
20414
tests/expected/test_int_vase.vase.test_printer_settings.stl
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,282 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 -0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 -0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 -0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 3.25 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 3.25 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,282 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 -0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 -0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 -0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 3.25 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -3.11835 -0.915631 -2.4
|
||||
vertex -3.11835 0.915631 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 3.25 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -3.11835 0.915631 2.4
|
||||
vertex -3.11835 -0.915631 2.4
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,562 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0.654862 0.755749 -0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 -0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.5 0 2.4
|
||||
vertex 3.25 0 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 3.25 0 2.4
|
||||
vertex 1.5 0 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 2.4
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex 1.5 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex -1.21352 0.881678 2.4
|
||||
vertex 0.463525 1.42658 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 2.4
|
||||
vertex -1.21352 0.881678 2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -1.21352 0.881678 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.5 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 2.4
|
||||
vertex -3.11835 0.91563 2.4
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 2.4
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -3.11835 0.91563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -3.11835 -0.91563 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
vertex -3.11835 0.91563 2.4
|
||||
vertex -3.11835 0.91563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 2.4
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
vertex -3.11835 -0.91563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 -0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -3.11835 -0.91563 2.4
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 3.25 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 0
|
||||
outer loop
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 -2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -3.11835 0.91563 -2.4
|
||||
vertex -3.11835 0.91563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.5 0 -2.4
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 3.25 0 -2.4
|
||||
vertex 1.5 0 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 -2.4
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex 1.5 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex 1.3501 -2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.4
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
vertex -0.462523 -3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 1.5 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.4
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex 1.3501 2.9563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
vertex -0.462523 3.21692 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 -2.4
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -3.11835 -0.91563 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -3.11835 0.91563 -2.4
|
||||
vertex -2.1283 2.45619 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 -0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 -0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex -1.21352 0.881678 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 -2.4
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 0.463525 1.42658 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 1.5 0 -2.4
|
||||
vertex 1.5 0 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 5
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.4
|
||||
vertex 1.5 0 5
|
||||
vertex 1.5 0 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 0.881678 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 -0.881678 2.4
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.4
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 -0.881678 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 5
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 1.5 0 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex 1.5 0 -5
|
||||
vertex 1.5 0 -2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 -5
|
||||
vertex 0.463525 -1.42658 -2.4
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 1.5 0 2.4
|
||||
vertex 1.5 0 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 2.4
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 0.463525 -1.42658 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -5
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 1.5 0 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,674 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex 2.7802 1.6 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex -2.67853 1.6 2.6
|
||||
vertex 2.7802 1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -2.67853 1.6 2.6
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex -2.67853 1.6 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.7802 -1.6 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex 2.7802 -1.6 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex 2.7802 -1.6 2.6
|
||||
vertex -2.67853 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 2.7802 -1.6 2.6
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex 2.7802 -1.6 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 -0
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 2.4
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
vertex 1.3501 2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959493 0.281731 0
|
||||
outer loop
|
||||
vertex 2.7802 1.6 2.6
|
||||
vertex 3.25 0 2.6
|
||||
vertex 2.7802 1.6 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959481 0.281773 0
|
||||
outer loop
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
vertex 2.73407 1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959493 0.281731 -0
|
||||
outer loop
|
||||
vertex 3.25 0 -2.6
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex 3.25 0 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 0.281735 -1.29048e-06
|
||||
outer loop
|
||||
vertex 2.7802 1.6 2.4
|
||||
vertex 3.25 0 -2.6
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 -0
|
||||
outer loop
|
||||
vertex 1.3501 2.9563 -2.6
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 2.4
|
||||
vertex 1.3501 2.9563 -2.6
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.5 0 2.6
|
||||
vertex 3.25 0 2.6
|
||||
vertex 2.7802 1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 3.25 0 2.6
|
||||
vertex 1.5 0 2.6
|
||||
vertex 2.7802 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 2.7802 1.6 2.6
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex 1.5 0 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -1.21352 0.881678 2.6
|
||||
vertex -2.67853 1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex -2.67853 1.6 2.6
|
||||
vertex -1.21352 0.881678 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -2.67853 1.6 2.6
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex 2.7802 1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 2.6
|
||||
vertex 2.7802 -1.6 2.6
|
||||
vertex 1.5 0 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 2.6
|
||||
vertex -2.67853 -1.6 2.6
|
||||
vertex 2.7802 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex -2.67853 -1.6 2.6
|
||||
vertex 0.463525 -1.42658 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 2.6
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 2.6
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex -3.11835 0.91563 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex -3.11835 -0.91563 2.6
|
||||
vertex -2.67853 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -3.11835 0.91563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
vertex -3.11835 -0.91563 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.142317 -0.989821 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
vertex 1.3501 -2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 2.4
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
vertex -2.1283 2.45619 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 0
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.415413 -0.909633 -0
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 2.4
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 1.3501 -2.9563 -2.6
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.654862 -0.755749 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
vertex 1.3501 -2.9563 -2.6
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841252 -0.540643 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -3.11835 -0.91563 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 -0.540638 9.37135e-07
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841258 -0.540634 0
|
||||
outer loop
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
vertex -2.1283 -2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841252 -0.540643 0
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 2.6
|
||||
vertex -2.67853 -1.6 2.4
|
||||
vertex -2.67853 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959493 -0.281731 0
|
||||
outer loop
|
||||
vertex 2.7802 -1.6 2.4
|
||||
vertex 3.25 0 2.6
|
||||
vertex 2.7802 -1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959493 -0.281731 0
|
||||
outer loop
|
||||
vertex 3.25 0 2.6
|
||||
vertex 2.7802 -1.6 2.4
|
||||
vertex 3.25 0 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959481 -0.281773 0
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
vertex 2.7802 -1.6 2.4
|
||||
vertex 2.73407 -1.75708 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.959492 -0.281735 -1.29048e-06
|
||||
outer loop
|
||||
vertex 2.7802 -1.6 2.4
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
vertex 3.25 0 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841258 0.540634 0
|
||||
outer loop
|
||||
vertex -2.1283 2.45619 -2.6
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex -2.1283 2.45619 2.4
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841255 0.540638 9.37135e-07
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 -2.6
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex -2.1283 2.45619 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841252 0.540643 0
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex -3.11835 0.91563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.841252 0.540643 0
|
||||
outer loop
|
||||
vertex -2.67853 1.6 2.4
|
||||
vertex -3.11835 0.91563 2.6
|
||||
vertex -2.67853 1.6 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.5 0 -2.6
|
||||
vertex 3.25 0 -2.6
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 3.25 0 -2.6
|
||||
vertex 1.5 0 -2.6
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
vertex 1.3501 -2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 -1.75708 -2.6
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex 1.5 0 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex 1.3501 -2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -2.1283 -2.45619 -2.6
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
vertex -0.462523 -3.21692 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
vertex 1.5 0 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 2.73407 1.75708 -2.6
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
vertex 1.3501 2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
vertex 1.3501 2.9563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -2.1283 2.45619 -2.6
|
||||
vertex -0.462523 3.21692 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -3.11835 0.91563 -2.6
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -3.11835 -0.91563 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -3.11835 0.91563 -2.6
|
||||
vertex -2.1283 2.45619 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 -0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex 0.463525 -1.42658 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 -0.951057 -0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.309015 0.951057 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex -1.21352 0.881678 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 -2.6
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 0.463525 1.42658 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 1.5 0 -2.6
|
||||
vertex 1.5 0 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 5
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 2.6
|
||||
vertex 1.5 0 5
|
||||
vertex 1.5 0 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 0.881678 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 -0.881678 2.6
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 -2.6
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 -0.881678 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 5
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 1.5 0 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 0.463525 1.42658 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex -1.21352 0.881678 5
|
||||
vertex -1.21352 -0.881678 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex 1.5 0 -5
|
||||
vertex 1.5 0 -2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 -5
|
||||
vertex 0.463525 -1.42658 -2.6
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 1.5 0 2.6
|
||||
vertex 1.5 0 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.809016 -0.587787 0
|
||||
outer loop
|
||||
vertex 1.5 0 2.6
|
||||
vertex 0.463525 -1.42658 5
|
||||
vertex 0.463525 -1.42658 2.6
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 -1.42658 -5
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 1.5 0 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex 0.463525 -1.42658 -5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0.463525 1.42658 -5
|
||||
vertex -1.21352 -0.881678 -5
|
||||
vertex -1.21352 0.881678 -5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,86 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 1 -2 3
|
||||
vertex 1 2 0
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 1 -2 3
|
||||
vertex 1 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 -2 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1 -2 3
|
||||
vertex 0 2 3
|
||||
vertex 0 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 -2 0
|
||||
vertex 1 2 0
|
||||
vertex 1 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 -2 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 -2 0
|
||||
vertex 0 2 3
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 0 -2 0
|
||||
vertex 0 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 2 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 2 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 -2 0
|
||||
vertex 1 -2 3
|
||||
vertex 0 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 1 -2 3
|
||||
vertex 0 -2 0
|
||||
vertex 1 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
170
tests/expected/test_unit_utility.copy_mirror.test_with_args.stl
Normal file
170
tests/expected/test_unit_utility.copy_mirror.test_with_args.stl
Normal file
|
@ -0,0 +1,170 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 1 2 0
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 1 0 3
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 0 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 2 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 2 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 0 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 2 3
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 0 0 0
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 2 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 2 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 0 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 0 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.894409 -0.447206 -0.00621232
|
||||
outer loop
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
vertex -3.47826 0.260869 -0.913043
|
||||
vertex -3.27329 -0.136645 -1.80745
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.204969 0.397517 0.894409
|
||||
outer loop
|
||||
vertex -0.795031 1.60248 -0.894409
|
||||
vertex -3.47826 0.260869 -0.913043
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.204968 -0.397515 -0.894411
|
||||
outer loop
|
||||
vertex -2.47826 -1.73913 -0.913043
|
||||
vertex -3.27329 -0.136645 -1.80745
|
||||
vertex -0.590061 1.20497 -1.78882
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.89441 -0.447204 -0.0062105
|
||||
outer loop
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
vertex -3.27329 -0.136645 -1.80745
|
||||
vertex -2.47826 -1.73913 -0.913043
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.894409 0.447207 0.0062138
|
||||
outer loop
|
||||
vertex -0.590061 1.20497 -1.78882
|
||||
vertex -0.795031 1.60248 -0.894409
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.204969 -0.397516 -0.89441
|
||||
outer loop
|
||||
vertex 0.204968 -0.397515 -0.894409
|
||||
vertex -2.47826 -1.73913 -0.913043
|
||||
vertex -0.590061 1.20497 -1.78882
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.397517 0.801244 -0.447201
|
||||
outer loop
|
||||
vertex -0.590061 1.20497 -1.78882
|
||||
vertex -3.27329 -0.136645 -1.80745
|
||||
vertex -0.795031 1.60248 -0.894409
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.397515 0.801242 -0.447205
|
||||
outer loop
|
||||
vertex -3.27329 -0.136645 -1.80745
|
||||
vertex -3.47826 0.260869 -0.913043
|
||||
vertex -0.795031 1.60248 -0.894409
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.204968 0.397516 0.89441
|
||||
outer loop
|
||||
vertex -0.795031 1.60248 -0.894409
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.89441 0.447204 0.0062111
|
||||
outer loop
|
||||
vertex 0.204968 -0.397515 -0.894409
|
||||
vertex -0.590061 1.20497 -1.78882
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.397514 -0.801243 0.447205
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
vertex 0.204968 -0.397515 -0.894409
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.397515 -0.801241 0.447208
|
||||
outer loop
|
||||
vertex 0.204968 -0.397515 -0.894409
|
||||
vertex -2.68323 -1.34161 -0.0186329
|
||||
vertex -2.47826 -1.73913 -0.913043
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
254
tests/expected/test_unit_utility.pattern_circular.test_3.stl
Normal file
254
tests/expected/test_unit_utility.pattern_circular.test_3.stl
Normal file
|
@ -0,0 +1,254 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -0.5 0.866025 3
|
||||
vertex -1.73205 -1 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 1
|
||||
outer loop
|
||||
vertex -1.73205 -1 3
|
||||
vertex -0.5 0.866025 3
|
||||
vertex -2.23205 -0.133974 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.5 -0.866025 0
|
||||
outer loop
|
||||
vertex -1.73205 -1 0
|
||||
vertex 0 0 3
|
||||
vertex -1.73205 -1 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.5 -0.866025 0
|
||||
outer loop
|
||||
vertex 0 0 3
|
||||
vertex -1.73205 -1 0
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.866026 -0.5 0
|
||||
outer loop
|
||||
vertex -1.73205 -1 0
|
||||
vertex -2.23205 -0.133974 3
|
||||
vertex -2.23205 -0.133974 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.866026 -0.5 0
|
||||
outer loop
|
||||
vertex -2.23205 -0.133974 3
|
||||
vertex -1.73205 -1 0
|
||||
vertex -1.73205 -1 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1.73205 -1 0
|
||||
vertex -0.5 0.866025 0
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 0.866025 0
|
||||
vertex -1.73205 -1 0
|
||||
vertex -2.23205 -0.133974 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.866025 0.5 0
|
||||
outer loop
|
||||
vertex 0 0 3
|
||||
vertex -0.5 0.866025 0
|
||||
vertex -0.5 0.866025 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.866025 0.5 0
|
||||
outer loop
|
||||
vertex -0.5 0.866025 0
|
||||
vertex 0 0 3
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.5 0.866026 0
|
||||
outer loop
|
||||
vertex -0.5 0.866025 0
|
||||
vertex -2.23205 -0.133974 3
|
||||
vertex -0.5 0.866025 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.5 0.866026 0
|
||||
outer loop
|
||||
vertex -2.23205 -0.133974 3
|
||||
vertex -0.5 0.866025 0
|
||||
vertex -2.23205 -0.133974 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.499998 -0.866026 0
|
||||
outer loop
|
||||
vertex -0.5 -0.866025 0
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex -0.5 -0.866025 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.499998 -0.866026 -0
|
||||
outer loop
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex -0.5 -0.866025 0
|
||||
vertex 1.23205 -1.86602 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 0 3
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex 1.73205 -1 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex 0 0 3
|
||||
vertex -0.5 -0.866025 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 1.23205 -1.86602 0
|
||||
vertex 0 0 0
|
||||
vertex 1.73205 -1 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1.23205 -1.86602 0
|
||||
vertex -0.5 -0.866025 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.5 0.866025 -0
|
||||
outer loop
|
||||
vertex 1.73205 -1 0
|
||||
vertex 0 0 3
|
||||
vertex 1.73205 -1 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.5 0.866025 0
|
||||
outer loop
|
||||
vertex 0 0 3
|
||||
vertex 1.73205 -1 0
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.866025 0.5 0
|
||||
outer loop
|
||||
vertex -0.5 -0.866025 0
|
||||
vertex 0 0 3
|
||||
vertex 0 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.866025 0.5 0
|
||||
outer loop
|
||||
vertex 0 0 3
|
||||
vertex -0.5 -0.866025 0
|
||||
vertex -0.5 -0.866025 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.866024 -0.500002 0
|
||||
outer loop
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex 1.73205 -1 0
|
||||
vertex 1.73205 -1 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.866024 -0.500002 0
|
||||
outer loop
|
||||
vertex 1.73205 -1 0
|
||||
vertex 1.23205 -1.86602 3
|
||||
vertex 1.23205 -1.86602 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 1 2 0
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 1 0 3
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 0 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 2 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 2 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 0 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 2 3
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 0 0 0
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 2 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 2 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 0 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 0 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,170 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -1 0 3
|
||||
vertex 0 -2 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0 -2 3
|
||||
vertex -1 0 3
|
||||
vertex -1 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0 -2 3
|
||||
vertex 0 0 0
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 -2 3
|
||||
vertex 0 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -1 -2 0
|
||||
vertex 0 -2 3
|
||||
vertex -1 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0 -2 3
|
||||
vertex -1 -2 0
|
||||
vertex 0 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -1 -2 0
|
||||
vertex 0 0 0
|
||||
vertex 0 -2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex -1 -2 0
|
||||
vertex -1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex -1 0 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -1 0 3
|
||||
vertex 0 0 0
|
||||
vertex -1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -1 -2 0
|
||||
vertex -1 0 3
|
||||
vertex -1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -1 0 3
|
||||
vertex -1 -2 0
|
||||
vertex -1 -2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 1 2 0
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 1 0 3
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 0 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 2 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 2 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 0 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 0 2 3
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 0 0 0
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 1 2 0
|
||||
vertex 0 2 3
|
||||
vertex 1 2 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 0 2 3
|
||||
vertex 1 2 0
|
||||
vertex 0 2 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 0 0 0
|
||||
vertex 1 0 3
|
||||
vertex 0 0 3
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 1 0 3
|
||||
vertex 0 0 0
|
||||
vertex 1 0 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,758 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -9.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -9.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -9.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -10.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -9.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -10.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -10.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -10.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -9.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10.5 -9 1.5
|
||||
vertex -9.5 -9 -1.5
|
||||
vertex -10.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -10.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex -9.5 -11 1.5
|
||||
vertex -10.5 -11 -1.5
|
||||
vertex -9.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -9.5 9 1.5
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -9.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -9.5 9 1.5
|
||||
vertex -9.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10.5 11 1.5
|
||||
vertex -9.5 9 1.5
|
||||
vertex -9.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -9.5 9 1.5
|
||||
vertex -10.5 11 1.5
|
||||
vertex -10.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -9.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -10.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -10.5 11 1.5
|
||||
vertex -10.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10.5 11 1.5
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -10.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -10.5 11 1.5
|
||||
vertex -9.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10.5 11 1.5
|
||||
vertex -9.5 11 -1.5
|
||||
vertex -10.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -9.5 9 1.5
|
||||
vertex -10.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex -9.5 9 1.5
|
||||
vertex -10.5 9 -1.5
|
||||
vertex -9.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 10.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 10.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 10.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 9.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 10.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 9.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 9.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 9.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 10.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 9.5 -9 1.5
|
||||
vertex 10.5 -9 -1.5
|
||||
vertex 9.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 9.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10.5 -11 1.5
|
||||
vertex 9.5 -11 -1.5
|
||||
vertex 10.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10.5 9 1.5
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 10.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 10.5 9 1.5
|
||||
vertex 10.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 9.5 11 1.5
|
||||
vertex 10.5 9 1.5
|
||||
vertex 10.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10.5 9 1.5
|
||||
vertex 9.5 11 1.5
|
||||
vertex 9.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 10.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 9.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 9.5 11 1.5
|
||||
vertex 9.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 9.5 11 1.5
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 9.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 9.5 11 1.5
|
||||
vertex 10.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 9.5 11 1.5
|
||||
vertex 10.5 11 -1.5
|
||||
vertex 9.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 10.5 9 1.5
|
||||
vertex 9.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10.5 9 1.5
|
||||
vertex 9.5 9 -1.5
|
||||
vertex 10.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,86 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
254
tests/expected/test_unit_utility.pattern_linear.test_x_axis.stl
Normal file
254
tests/expected/test_unit_utility.pattern_linear.test_x_axis.stl
Normal file
|
@ -0,0 +1,254 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -10.5 1 1.5
|
||||
vertex -9.5 1 -1.5
|
||||
vertex -10.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex -9.5 -1 1.5
|
||||
vertex -10.5 -1 -1.5
|
||||
vertex -9.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex 9.5 1 1.5
|
||||
vertex 10.5 1 -1.5
|
||||
vertex 9.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 10.5 -1 1.5
|
||||
vertex 9.5 -1 -1.5
|
||||
vertex 10.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
254
tests/expected/test_unit_utility.pattern_linear.test_y_axis.stl
Normal file
254
tests/expected/test_unit_utility.pattern_linear.test_y_axis.stl
Normal file
|
@ -0,0 +1,254 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 -9 1.5
|
||||
vertex 0.5 -9 -1.5
|
||||
vertex -0.5 -9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -11 1.5
|
||||
vertex -0.5 -11 -1.5
|
||||
vertex 0.5 -11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 1 1.5
|
||||
vertex 0.5 1 -1.5
|
||||
vertex -0.5 1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 -1 1.5
|
||||
vertex -0.5 -1 -1.5
|
||||
vertex 0.5 -1 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 11 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -0.5 11 1.5
|
||||
vertex 0.5 11 -1.5
|
||||
vertex -0.5 11 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 9 1.5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 0.5 9 1.5
|
||||
vertex -0.5 9 -1.5
|
||||
vertex 0.5 9 -1.5
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,534 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 23.5355 -16.0355 0
|
||||
vertex 21.9134 -17.1194 0
|
||||
vertex 24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 24.6194 -14.4134 0
|
||||
vertex 20 -17.5 0
|
||||
vertex 25 -12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 21.9134 -17.1194 0
|
||||
vertex 20 -17.5 0
|
||||
vertex 24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 -12.5 0
|
||||
vertex 20 17.5 0
|
||||
vertex 25 12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 21.9134 17.1194 0
|
||||
vertex 23.5355 16.0355 0
|
||||
vertex 24.6194 14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 20 17.5 0
|
||||
vertex 21.9134 17.1194 0
|
||||
vertex 24.6194 14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 12.5 0
|
||||
vertex 20 17.5 0
|
||||
vertex 24.6194 14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 25 -12.5 0
|
||||
vertex 20 -17.5 0
|
||||
vertex 20 17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 -0 -1
|
||||
outer loop
|
||||
vertex 20 17.5 0
|
||||
vertex 20 -17.5 0
|
||||
vertex -20 17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -24.6194 14.4134 0
|
||||
vertex -23.5355 16.0355 0
|
||||
vertex -21.9134 17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 12.5 0
|
||||
vertex -24.6194 14.4134 0
|
||||
vertex -21.9134 17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -20 17.5 0
|
||||
vertex -25 12.5 0
|
||||
vertex -21.9134 17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -20 -17.5 0
|
||||
vertex -25 -12.5 0
|
||||
vertex -25 12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -20 -17.5 0
|
||||
vertex -21.9134 -17.1194 0
|
||||
vertex -25 -12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -21.9134 -17.1194 0
|
||||
vertex -23.5355 -16.0355 0
|
||||
vertex -24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 -12.5 0
|
||||
vertex -21.9134 -17.1194 0
|
||||
vertex -24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -20 17.5 0
|
||||
vertex -20 -17.5 0
|
||||
vertex -25 12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -20 17.5 0
|
||||
vertex 20 -17.5 0
|
||||
vertex -20 -17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24.6194 -14.4134 20
|
||||
vertex 21.9134 -17.1194 20
|
||||
vertex 23.5355 -16.0355 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 -12.5 20
|
||||
vertex 20 -17.5 20
|
||||
vertex 24.6194 -14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24.6194 -14.4134 20
|
||||
vertex 20 -17.5 20
|
||||
vertex 21.9134 -17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 12.5 20
|
||||
vertex 20 17.5 20
|
||||
vertex 25 -12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24.6194 14.4134 20
|
||||
vertex 23.5355 16.0355 20
|
||||
vertex 21.9134 17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24.6194 14.4134 20
|
||||
vertex 21.9134 17.1194 20
|
||||
vertex 20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 24.6194 14.4134 20
|
||||
vertex 20 17.5 20
|
||||
vertex 25 12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 20 17.5 20
|
||||
vertex 20 -17.5 20
|
||||
vertex 25 -12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -20 17.5 20
|
||||
vertex 20 -17.5 20
|
||||
vertex 20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -21.9134 17.1194 20
|
||||
vertex -23.5355 16.0355 20
|
||||
vertex -24.6194 14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -21.9134 17.1194 20
|
||||
vertex -24.6194 14.4134 20
|
||||
vertex -25 12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -21.9134 17.1194 20
|
||||
vertex -25 12.5 20
|
||||
vertex -20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 12.5 20
|
||||
vertex -25 -12.5 20
|
||||
vertex -20 -17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 -12.5 20
|
||||
vertex -21.9134 -17.1194 20
|
||||
vertex -20 -17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -24.6194 -14.4134 20
|
||||
vertex -23.5355 -16.0355 20
|
||||
vertex -21.9134 -17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 -0 1
|
||||
outer loop
|
||||
vertex -24.6194 -14.4134 20
|
||||
vertex -21.9134 -17.1194 20
|
||||
vertex -25 -12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -25 12.5 20
|
||||
vertex -20 -17.5 20
|
||||
vertex -20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -20 -17.5 20
|
||||
vertex 20 -17.5 20
|
||||
vertex -20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555587 -0.831458 0
|
||||
outer loop
|
||||
vertex 23.5355 -16.0355 0
|
||||
vertex 21.9134 -17.1194 20
|
||||
vertex 21.9134 -17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555587 -0.831458 0
|
||||
outer loop
|
||||
vertex 23.5355 -16.0355 0
|
||||
vertex 23.5355 -16.0355 20
|
||||
vertex 21.9134 -17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831458 -0.555587 0
|
||||
outer loop
|
||||
vertex 24.6194 -14.4134 0
|
||||
vertex 23.5355 -16.0355 20
|
||||
vertex 23.5355 -16.0355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831458 -0.555587 0
|
||||
outer loop
|
||||
vertex 24.6194 -14.4134 0
|
||||
vertex 24.6194 -14.4134 20
|
||||
vertex 23.5355 -16.0355 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex 25 -12.5 0
|
||||
vertex 24.6194 -14.4134 20
|
||||
vertex 24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex 25 -12.5 0
|
||||
vertex 25 -12.5 20
|
||||
vertex 24.6194 -14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 25 12.5 0
|
||||
vertex 25 -12.5 20
|
||||
vertex 25 -12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 -0
|
||||
outer loop
|
||||
vertex 25 12.5 0
|
||||
vertex 25 12.5 20
|
||||
vertex 25 -12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex 24.6194 14.4134 0
|
||||
vertex 25 12.5 20
|
||||
vertex 25 12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 0.195091 -0
|
||||
outer loop
|
||||
vertex 24.6194 14.4134 0
|
||||
vertex 24.6194 14.4134 20
|
||||
vertex 25 12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831458 0.555587 0
|
||||
outer loop
|
||||
vertex 23.5355 16.0355 0
|
||||
vertex 24.6194 14.4134 20
|
||||
vertex 24.6194 14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831458 0.555587 -0
|
||||
outer loop
|
||||
vertex 23.5355 16.0355 0
|
||||
vertex 23.5355 16.0355 20
|
||||
vertex 24.6194 14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555587 0.831458 0
|
||||
outer loop
|
||||
vertex 21.9134 17.1194 0
|
||||
vertex 23.5355 16.0355 20
|
||||
vertex 23.5355 16.0355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555587 0.831458 -0
|
||||
outer loop
|
||||
vertex 21.9134 17.1194 0
|
||||
vertex 21.9134 17.1194 20
|
||||
vertex 23.5355 16.0355 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex 20 17.5 0
|
||||
vertex 21.9134 17.1194 20
|
||||
vertex 21.9134 17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 0.980785 -0
|
||||
outer loop
|
||||
vertex 20 17.5 0
|
||||
vertex 20 17.5 20
|
||||
vertex 21.9134 17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -20 17.5 0
|
||||
vertex 20 17.5 20
|
||||
vertex 20 17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -20 17.5 0
|
||||
vertex -20 17.5 20
|
||||
vertex 20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex -21.9134 17.1194 0
|
||||
vertex -20 17.5 20
|
||||
vertex -20 17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex -21.9134 17.1194 0
|
||||
vertex -21.9134 17.1194 20
|
||||
vertex -20 17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555587 0.831458 0
|
||||
outer loop
|
||||
vertex -23.5355 16.0355 0
|
||||
vertex -21.9134 17.1194 20
|
||||
vertex -21.9134 17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555587 0.831458 0
|
||||
outer loop
|
||||
vertex -23.5355 16.0355 0
|
||||
vertex -23.5355 16.0355 20
|
||||
vertex -21.9134 17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831458 0.555587 0
|
||||
outer loop
|
||||
vertex -24.6194 14.4134 0
|
||||
vertex -23.5355 16.0355 20
|
||||
vertex -23.5355 16.0355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831458 0.555587 0
|
||||
outer loop
|
||||
vertex -24.6194 14.4134 0
|
||||
vertex -24.6194 14.4134 20
|
||||
vertex -23.5355 16.0355 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex -25 12.5 0
|
||||
vertex -24.6194 14.4134 20
|
||||
vertex -24.6194 14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex -25 12.5 0
|
||||
vertex -25 12.5 20
|
||||
vertex -24.6194 14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -25 -12.5 0
|
||||
vertex -25 12.5 20
|
||||
vertex -25 12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -25 -12.5 0
|
||||
vertex -25 -12.5 20
|
||||
vertex -25 12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex -24.6194 -14.4134 0
|
||||
vertex -25 -12.5 20
|
||||
vertex -25 -12.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex -24.6194 -14.4134 0
|
||||
vertex -24.6194 -14.4134 20
|
||||
vertex -25 -12.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831458 -0.555587 0
|
||||
outer loop
|
||||
vertex -23.5355 -16.0355 0
|
||||
vertex -24.6194 -14.4134 20
|
||||
vertex -24.6194 -14.4134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831458 -0.555587 0
|
||||
outer loop
|
||||
vertex -23.5355 -16.0355 0
|
||||
vertex -23.5355 -16.0355 20
|
||||
vertex -24.6194 -14.4134 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555587 -0.831458 0
|
||||
outer loop
|
||||
vertex -21.9134 -17.1194 0
|
||||
vertex -23.5355 -16.0355 20
|
||||
vertex -23.5355 -16.0355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555587 -0.831458 0
|
||||
outer loop
|
||||
vertex -21.9134 -17.1194 0
|
||||
vertex -21.9134 -17.1194 20
|
||||
vertex -23.5355 -16.0355 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex -20 -17.5 0
|
||||
vertex -21.9134 -17.1194 20
|
||||
vertex -21.9134 -17.1194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex -20 -17.5 0
|
||||
vertex -20 -17.5 20
|
||||
vertex -21.9134 -17.1194 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 20 -17.5 0
|
||||
vertex -20 -17.5 20
|
||||
vertex -20 -17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 20 -17.5 0
|
||||
vertex 20 -17.5 20
|
||||
vertex -20 -17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex 21.9134 -17.1194 0
|
||||
vertex 20 -17.5 20
|
||||
vertex 20 -17.5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex 21.9134 -17.1194 0
|
||||
vertex 21.9134 -17.1194 20
|
||||
vertex 20 -17.5 20
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
|
@ -0,0 +1,310 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex 14.5637 -29.247 0
|
||||
vertex 13 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 15 28 0
|
||||
vertex 13 30 0
|
||||
vertex 14.247 29.5637 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -13 30 0
|
||||
vertex 13 30 0
|
||||
vertex -15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -14.5637 29.247 0
|
||||
vertex -13 30 0
|
||||
vertex -15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -15 28 0
|
||||
vertex 13 30 0
|
||||
vertex 15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex -15 28 0
|
||||
vertex 15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex -15 -28 0
|
||||
vertex -15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex 13 -30 0
|
||||
vertex -15 -28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -15 -28 0
|
||||
vertex -13 -30 0
|
||||
vertex -14.247 -29.5637 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -15 -28 0
|
||||
vertex 13 -30 0
|
||||
vertex -13 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.943894 -0.330249 0
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex 14.5637 -29.247 50
|
||||
vertex 14.5637 -29.247 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.943894 -0.330249 0
|
||||
outer loop
|
||||
vertex 15 -28 0
|
||||
vertex 15 -28 50
|
||||
vertex 14.5637 -29.247 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 15 28 0
|
||||
vertex 15 -28 50
|
||||
vertex 15 -28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 -0
|
||||
outer loop
|
||||
vertex 15 28 0
|
||||
vertex 15 28 50
|
||||
vertex 15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.900977 0.433866 0
|
||||
outer loop
|
||||
vertex 14.247 29.5637 0
|
||||
vertex 15 28 50
|
||||
vertex 15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.900977 0.433866 -0
|
||||
outer loop
|
||||
vertex 14.247 29.5637 0
|
||||
vertex 14.247 29.5637 50
|
||||
vertex 15 28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.330249 0.943894 0
|
||||
outer loop
|
||||
vertex 13 30 0
|
||||
vertex 14.247 29.5637 50
|
||||
vertex 14.247 29.5637 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.330249 0.943894 -0
|
||||
outer loop
|
||||
vertex 13 30 0
|
||||
vertex 13 30 50
|
||||
vertex 14.247 29.5637 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -13 30 0
|
||||
vertex 13 30 50
|
||||
vertex 13 30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -13 30 0
|
||||
vertex -13 30 50
|
||||
vertex 13 30 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.433866 0.900977 0
|
||||
outer loop
|
||||
vertex -14.5637 29.247 0
|
||||
vertex -13 30 50
|
||||
vertex -13 30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.433866 0.900977 0
|
||||
outer loop
|
||||
vertex -14.5637 29.247 0
|
||||
vertex -14.5637 29.247 50
|
||||
vertex -13 30 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.943894 0.330249 0
|
||||
outer loop
|
||||
vertex -15 28 0
|
||||
vertex -14.5637 29.247 50
|
||||
vertex -14.5637 29.247 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.943894 0.330249 0
|
||||
outer loop
|
||||
vertex -15 28 0
|
||||
vertex -15 28 50
|
||||
vertex -14.5637 29.247 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -15 -28 0
|
||||
vertex -15 28 50
|
||||
vertex -15 28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -15 -28 0
|
||||
vertex -15 -28 50
|
||||
vertex -15 28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.900977 -0.433866 0
|
||||
outer loop
|
||||
vertex -14.247 -29.5637 0
|
||||
vertex -15 -28 50
|
||||
vertex -15 -28 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.900977 -0.433866 0
|
||||
outer loop
|
||||
vertex -14.247 -29.5637 0
|
||||
vertex -14.247 -29.5637 50
|
||||
vertex -15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.330249 -0.943894 0
|
||||
outer loop
|
||||
vertex -13 -30 0
|
||||
vertex -14.247 -29.5637 50
|
||||
vertex -14.247 -29.5637 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.330249 -0.943894 0
|
||||
outer loop
|
||||
vertex -13 -30 0
|
||||
vertex -13 -30 50
|
||||
vertex -14.247 -29.5637 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 13 -30 0
|
||||
vertex -13 -30 50
|
||||
vertex -13 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 13 -30 0
|
||||
vertex 13 -30 50
|
||||
vertex -13 -30 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.433866 -0.900977 0
|
||||
outer loop
|
||||
vertex 14.5637 -29.247 0
|
||||
vertex 13 -30 50
|
||||
vertex 13 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.433866 -0.900977 0
|
||||
outer loop
|
||||
vertex 14.5637 -29.247 0
|
||||
vertex 14.5637 -29.247 50
|
||||
vertex 13 -30 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 13 -30 50
|
||||
vertex 14.5637 -29.247 50
|
||||
vertex 15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 14.247 29.5637 50
|
||||
vertex 13 30 50
|
||||
vertex 15 28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -15 28 50
|
||||
vertex 13 30 50
|
||||
vertex -13 30 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -15 28 50
|
||||
vertex -13 30 50
|
||||
vertex -14.5637 29.247 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 15 28 50
|
||||
vertex 13 30 50
|
||||
vertex -15 28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 15 28 50
|
||||
vertex -15 28 50
|
||||
vertex 15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -15 28 50
|
||||
vertex -15 -28 50
|
||||
vertex 15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -15 -28 50
|
||||
vertex 13 -30 50
|
||||
vertex 15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 -0 1
|
||||
outer loop
|
||||
vertex -14.247 -29.5637 50
|
||||
vertex -13 -30 50
|
||||
vertex -15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 1
|
||||
outer loop
|
||||
vertex -13 -30 50
|
||||
vertex 13 -30 50
|
||||
vertex -15 -28 50
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
310
tests/expected/test_unit_utility.rounded_square.test.stl
Normal file
310
tests/expected/test_unit_utility.rounded_square.test.stl
Normal file
|
@ -0,0 +1,310 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -8 0
|
||||
vertex 9.56366 -9.24698 0
|
||||
vertex 8 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 8 0
|
||||
vertex 8 10 0
|
||||
vertex 9.24698 9.56366 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -8 0
|
||||
vertex 8 10 0
|
||||
vertex 10 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 10 -8 0
|
||||
vertex 8 -10 0
|
||||
vertex 8 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 -0 -1
|
||||
outer loop
|
||||
vertex 8 10 0
|
||||
vertex 8 -10 0
|
||||
vertex -8 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -8 10 0
|
||||
vertex -10 8 0
|
||||
vertex -9.56366 9.24698 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -8 -10 0
|
||||
vertex -10 -8 0
|
||||
vertex -10 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -8 10 0
|
||||
vertex -8 -10 0
|
||||
vertex -10 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 -8 0
|
||||
vertex -8 -10 0
|
||||
vertex -9.24698 -9.56366 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -8 10 0
|
||||
vertex 8 -10 0
|
||||
vertex -8 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 8 -10 30
|
||||
vertex 9.56366 -9.24698 30
|
||||
vertex 10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.24698 9.56366 30
|
||||
vertex 8 10 30
|
||||
vertex 10 8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 8 30
|
||||
vertex 8 10 30
|
||||
vertex 10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 8 10 30
|
||||
vertex 8 -10 30
|
||||
vertex 10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -8 10 30
|
||||
vertex 8 -10 30
|
||||
vertex 8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -9.56366 9.24698 30
|
||||
vertex -10 8 30
|
||||
vertex -8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -10 8 30
|
||||
vertex -10 -8 30
|
||||
vertex -8 -10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -10 8 30
|
||||
vertex -8 -10 30
|
||||
vertex -8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 -0 1
|
||||
outer loop
|
||||
vertex -9.24698 -9.56366 30
|
||||
vertex -8 -10 30
|
||||
vertex -10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -8 -10 30
|
||||
vertex 8 -10 30
|
||||
vertex -8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.943883 -0.330281 0
|
||||
outer loop
|
||||
vertex 10 -8 0
|
||||
vertex 9.56366 -9.24698 30
|
||||
vertex 9.56366 -9.24698 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.943883 -0.330281 0
|
||||
outer loop
|
||||
vertex 10 -8 0
|
||||
vertex 10 -8 30
|
||||
vertex 9.56366 -9.24698 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 8 0
|
||||
vertex 10 -8 30
|
||||
vertex 10 -8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 -0
|
||||
outer loop
|
||||
vertex 10 8 0
|
||||
vertex 10 8 30
|
||||
vertex 10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.900969 0.433884 0
|
||||
outer loop
|
||||
vertex 9.24698 9.56366 0
|
||||
vertex 10 8 30
|
||||
vertex 10 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.900969 0.433884 -0
|
||||
outer loop
|
||||
vertex 9.24698 9.56366 0
|
||||
vertex 9.24698 9.56366 30
|
||||
vertex 10 8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.330281 0.943883 0
|
||||
outer loop
|
||||
vertex 8 10 0
|
||||
vertex 9.24698 9.56366 30
|
||||
vertex 9.24698 9.56366 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.330281 0.943883 -0
|
||||
outer loop
|
||||
vertex 8 10 0
|
||||
vertex 8 10 30
|
||||
vertex 9.24698 9.56366 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -8 10 0
|
||||
vertex 8 10 30
|
||||
vertex 8 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -8 10 0
|
||||
vertex -8 10 30
|
||||
vertex 8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.433884 0.900969 0
|
||||
outer loop
|
||||
vertex -9.56366 9.24698 0
|
||||
vertex -8 10 30
|
||||
vertex -8 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.433884 0.900969 0
|
||||
outer loop
|
||||
vertex -9.56366 9.24698 0
|
||||
vertex -9.56366 9.24698 30
|
||||
vertex -8 10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.943883 0.330281 0
|
||||
outer loop
|
||||
vertex -10 8 0
|
||||
vertex -9.56366 9.24698 30
|
||||
vertex -9.56366 9.24698 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.943883 0.330281 0
|
||||
outer loop
|
||||
vertex -10 8 0
|
||||
vertex -10 8 30
|
||||
vertex -9.56366 9.24698 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -8 0
|
||||
vertex -10 8 30
|
||||
vertex -10 8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -8 0
|
||||
vertex -10 -8 30
|
||||
vertex -10 8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.900969 -0.433884 0
|
||||
outer loop
|
||||
vertex -9.24698 -9.56366 0
|
||||
vertex -10 -8 30
|
||||
vertex -10 -8 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.900969 -0.433884 0
|
||||
outer loop
|
||||
vertex -9.24698 -9.56366 0
|
||||
vertex -9.24698 -9.56366 30
|
||||
vertex -10 -8 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.330281 -0.943883 0
|
||||
outer loop
|
||||
vertex -8 -10 0
|
||||
vertex -9.24698 -9.56366 30
|
||||
vertex -9.24698 -9.56366 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.330281 -0.943883 0
|
||||
outer loop
|
||||
vertex -8 -10 0
|
||||
vertex -8 -10 30
|
||||
vertex -9.24698 -9.56366 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 8 -10 0
|
||||
vertex -8 -10 30
|
||||
vertex -8 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex 8 -10 0
|
||||
vertex 8 -10 30
|
||||
vertex -8 -10 30
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.433884 -0.900969 0
|
||||
outer loop
|
||||
vertex 9.56366 -9.24698 0
|
||||
vertex 8 -10 30
|
||||
vertex 8 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.433884 -0.900969 0
|
||||
outer loop
|
||||
vertex 9.56366 -9.24698 0
|
||||
vertex 9.56366 -9.24698 30
|
||||
vertex 8 -10 30
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
674
tests/expected/test_unit_utility.sweep_rounded.test_height.stl
Normal file
674
tests/expected/test_unit_utility.sweep_rounded.test_height.stl
Normal file
|
@ -0,0 +1,674 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0.831465 -0.555576 0
|
||||
outer loop
|
||||
vertex -8.53553 -28.5355 0
|
||||
vertex -9.6194 -26.9134 5
|
||||
vertex -9.6194 -26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831465 -0.555576 0
|
||||
outer loop
|
||||
vertex -9.6194 -26.9134 5
|
||||
vertex -8.53553 -28.5355 0
|
||||
vertex -8.53553 -28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555585 -0.83146 0
|
||||
outer loop
|
||||
vertex -8.53553 -28.5355 0
|
||||
vertex -6.91342 -29.6194 5
|
||||
vertex -8.53553 -28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555585 -0.83146 -0
|
||||
outer loop
|
||||
vertex -6.91342 -29.6194 5
|
||||
vertex -8.53553 -28.5355 0
|
||||
vertex -6.91342 -29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -30 0
|
||||
vertex 5 -25 0
|
||||
vertex 5 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -30 0
|
||||
vertex -5 -25 0
|
||||
vertex 5 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -6.91342 -29.6194 0
|
||||
vertex -5 -25 0
|
||||
vertex -5 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -25 0
|
||||
vertex -10 -25 0
|
||||
vertex -5 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -8.53553 -28.5355 0
|
||||
vertex -5 -25 0
|
||||
vertex -6.91342 -29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 25 0
|
||||
vertex -5 25 0
|
||||
vertex -10 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -9.6194 -26.9134 0
|
||||
vertex -5 -25 0
|
||||
vertex -8.53553 -28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -9.6194 26.9134 0
|
||||
vertex -5 25 0
|
||||
vertex -10 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -5 -25 0
|
||||
vertex -9.6194 -26.9134 0
|
||||
vertex -10 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex -6.91342 29.6194 0
|
||||
vertex -5 30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex -8.53553 28.5355 0
|
||||
vertex -6.91342 29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex -9.6194 26.9134 0
|
||||
vertex -8.53553 28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex 10 -25 0
|
||||
vertex 9.6194 -26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -25 0
|
||||
vertex 5 -25 0
|
||||
vertex 10 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex 9.6194 -26.9134 0
|
||||
vertex 8.53553 -28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 25 0
|
||||
vertex 10 25 0
|
||||
vertex 5 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex 8.53553 -28.5355 0
|
||||
vertex 6.91342 -29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 25 0
|
||||
vertex 5 25 0
|
||||
vertex 9.6194 26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex 6.91342 -29.6194 0
|
||||
vertex 5 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 9.6194 26.9134 0
|
||||
vertex 5 25 0
|
||||
vertex 8.53553 28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 8.53553 28.5355 0
|
||||
vertex 5 25 0
|
||||
vertex 6.91342 29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 25 0
|
||||
vertex 5 30 0
|
||||
vertex 6.91342 29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex 5 30 0
|
||||
vertex 5 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 5 30 0
|
||||
vertex -5 25 0
|
||||
vertex -5 30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex -9.6194 -26.9134 0
|
||||
vertex -10 -25 5
|
||||
vertex -10 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex -10 -25 5
|
||||
vertex -9.6194 -26.9134 0
|
||||
vertex -9.6194 -26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex -6.91342 -29.6194 0
|
||||
vertex -5 -30 5
|
||||
vertex -6.91342 -29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 -0.980786 -0
|
||||
outer loop
|
||||
vertex -5 -30 5
|
||||
vertex -6.91342 -29.6194 0
|
||||
vertex -5 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 30 5
|
||||
vertex 5 25 5
|
||||
vertex 5 30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 30 5
|
||||
vertex -5 25 5
|
||||
vertex 5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -6.91342 29.6194 5
|
||||
vertex -5 25 5
|
||||
vertex -5 30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 25 5
|
||||
vertex -10 25 5
|
||||
vertex -5 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -8.53553 28.5355 5
|
||||
vertex -5 25 5
|
||||
vertex -6.91342 29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -10 -25 5
|
||||
vertex -5 -25 5
|
||||
vertex -10 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -9.6194 26.9134 5
|
||||
vertex -5 25 5
|
||||
vertex -8.53553 28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 1
|
||||
outer loop
|
||||
vertex -9.6194 -26.9134 5
|
||||
vertex -5 -25 5
|
||||
vertex -10 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 25 5
|
||||
vertex -9.6194 26.9134 5
|
||||
vertex -10 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex -6.91342 -29.6194 5
|
||||
vertex -5 -30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex -8.53553 -28.5355 5
|
||||
vertex -6.91342 -29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex -9.6194 -26.9134 5
|
||||
vertex -8.53553 -28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 10 25 5
|
||||
vertex 9.6194 26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 25 5
|
||||
vertex 5 25 5
|
||||
vertex 10 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 9.6194 26.9134 5
|
||||
vertex 8.53553 28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -25 5
|
||||
vertex 10 -25 5
|
||||
vertex 5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 8.53553 28.5355 5
|
||||
vertex 6.91342 29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 -25 5
|
||||
vertex 5 -25 5
|
||||
vertex 9.6194 -26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 6.91342 29.6194 5
|
||||
vertex 5 30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.6194 -26.9134 5
|
||||
vertex 5 -25 5
|
||||
vertex 8.53553 -28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 8.53553 -28.5355 5
|
||||
vertex 5 -25 5
|
||||
vertex 6.91342 -29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -25 5
|
||||
vertex 5 -30 5
|
||||
vertex 6.91342 -29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex 5 -30 5
|
||||
vertex 5 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -30 5
|
||||
vertex -5 -25 5
|
||||
vertex -5 -30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555585 -0.83146 0
|
||||
outer loop
|
||||
vertex 6.91342 -29.6194 0
|
||||
vertex 8.53553 -28.5355 5
|
||||
vertex 6.91342 -29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555585 -0.83146 0
|
||||
outer loop
|
||||
vertex 8.53553 -28.5355 5
|
||||
vertex 6.91342 -29.6194 0
|
||||
vertex 8.53553 -28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex -5 -25 5
|
||||
vertex 5 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex 5 -25 0
|
||||
vertex -5 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex 5 -30 0
|
||||
vertex 6.91342 -29.6194 5
|
||||
vertex 5 -30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex 6.91342 -29.6194 5
|
||||
vertex 5 -30 0
|
||||
vertex 6.91342 -29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831465 -0.555576 0
|
||||
outer loop
|
||||
vertex 8.53553 -28.5355 5
|
||||
vertex 9.6194 -26.9134 0
|
||||
vertex 9.6194 -26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831465 -0.555576 0
|
||||
outer loop
|
||||
vertex 9.6194 -26.9134 0
|
||||
vertex 8.53553 -28.5355 5
|
||||
vertex 8.53553 -28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex 9.6194 -26.9134 5
|
||||
vertex 10 -25 0
|
||||
vertex 10 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 -0.195091 0
|
||||
outer loop
|
||||
vertex 10 -25 0
|
||||
vertex 9.6194 -26.9134 5
|
||||
vertex 9.6194 -26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -5 -25 5
|
||||
vertex -5 25 0
|
||||
vertex -5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex -5 -25 5
|
||||
vertex -5 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 25 0
|
||||
vertex 5 25 5
|
||||
vertex -5 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex -5 25 0
|
||||
vertex 5 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -25 0
|
||||
vertex -10 25 5
|
||||
vertex -10 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 25 5
|
||||
vertex -10 -25 0
|
||||
vertex -10 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 -30 0
|
||||
vertex 5 -30 5
|
||||
vertex -5 -30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 -30 5
|
||||
vertex -5 -30 0
|
||||
vertex 5 -30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831465 0.555576 0
|
||||
outer loop
|
||||
vertex 9.6194 26.9134 5
|
||||
vertex 8.53553 28.5355 0
|
||||
vertex 8.53553 28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831465 0.555576 0
|
||||
outer loop
|
||||
vertex 8.53553 28.5355 0
|
||||
vertex 9.6194 26.9134 5
|
||||
vertex 9.6194 26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555585 0.83146 -0
|
||||
outer loop
|
||||
vertex 8.53553 28.5355 0
|
||||
vertex 6.91342 29.6194 5
|
||||
vertex 8.53553 28.5355 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555585 0.83146 0
|
||||
outer loop
|
||||
vertex 6.91342 29.6194 5
|
||||
vertex 8.53553 28.5355 0
|
||||
vertex 6.91342 29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex 10 25 5
|
||||
vertex 9.6194 26.9134 0
|
||||
vertex 9.6194 26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex 9.6194 26.9134 0
|
||||
vertex 10 25 5
|
||||
vertex 10 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 0.980786 -0
|
||||
outer loop
|
||||
vertex 6.91342 29.6194 0
|
||||
vertex 5 30 5
|
||||
vertex 6.91342 29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex 5 30 5
|
||||
vertex 6.91342 29.6194 0
|
||||
vertex 5 30 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555585 0.83146 0
|
||||
outer loop
|
||||
vertex -6.91342 29.6194 0
|
||||
vertex -8.53553 28.5355 5
|
||||
vertex -6.91342 29.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555585 0.83146 0
|
||||
outer loop
|
||||
vertex -8.53553 28.5355 5
|
||||
vertex -6.91342 29.6194 0
|
||||
vertex -8.53553 28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex -5 30 0
|
||||
vertex -6.91342 29.6194 5
|
||||
vertex -5 30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex -6.91342 29.6194 5
|
||||
vertex -5 30 0
|
||||
vertex -6.91342 29.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831465 0.555576 0
|
||||
outer loop
|
||||
vertex -9.6194 26.9134 0
|
||||
vertex -8.53553 28.5355 5
|
||||
vertex -8.53553 28.5355 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831465 0.555576 0
|
||||
outer loop
|
||||
vertex -8.53553 28.5355 5
|
||||
vertex -9.6194 26.9134 0
|
||||
vertex -9.6194 26.9134 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex -10 25 0
|
||||
vertex -9.6194 26.9134 5
|
||||
vertex -9.6194 26.9134 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980785 0.195091 0
|
||||
outer loop
|
||||
vertex -9.6194 26.9134 5
|
||||
vertex -10 25 0
|
||||
vertex -10 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 5 -25 0
|
||||
vertex 5 25 5
|
||||
vertex 5 25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 5 25 5
|
||||
vertex 5 -25 0
|
||||
vertex 5 -25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 -25 5
|
||||
vertex 10 25 0
|
||||
vertex 10 25 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 25 0
|
||||
vertex 10 -25 5
|
||||
vertex 10 -25 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 30 0
|
||||
vertex -5 30 5
|
||||
vertex 5 30 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 30 5
|
||||
vertex 5 30 0
|
||||
vertex -5 30 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
674
tests/expected/test_unit_utility.sweep_rounded.test_no_args.stl
Normal file
674
tests/expected/test_unit_utility.sweep_rounded.test_no_args.stl
Normal file
|
@ -0,0 +1,674 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0.831467 -0.555574 0
|
||||
outer loop
|
||||
vertex -8.53553 -8.53553 0
|
||||
vertex -9.6194 -6.91342 5
|
||||
vertex -9.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831467 -0.555574 0
|
||||
outer loop
|
||||
vertex -9.6194 -6.91342 5
|
||||
vertex -8.53553 -8.53553 0
|
||||
vertex -8.53553 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555574 -0.831467 0
|
||||
outer loop
|
||||
vertex -8.53553 -8.53553 0
|
||||
vertex -6.91342 -9.6194 5
|
||||
vertex -8.53553 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555574 -0.831467 -0
|
||||
outer loop
|
||||
vertex -6.91342 -9.6194 5
|
||||
vertex -8.53553 -8.53553 0
|
||||
vertex -6.91342 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -10 0
|
||||
vertex 5 -5 0
|
||||
vertex 5 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -10 0
|
||||
vertex -5 -5 0
|
||||
vertex 5 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -6.91342 -9.6194 0
|
||||
vertex -5 -5 0
|
||||
vertex -5 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 -5 0
|
||||
vertex -10 -5 0
|
||||
vertex -5 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -8.53553 -8.53553 0
|
||||
vertex -5 -5 0
|
||||
vertex -6.91342 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -10 5 0
|
||||
vertex -5 5 0
|
||||
vertex -10 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -9.6194 -6.91342 0
|
||||
vertex -5 -5 0
|
||||
vertex -8.53553 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -9.6194 6.91342 0
|
||||
vertex -5 5 0
|
||||
vertex -10 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -5 -5 0
|
||||
vertex -9.6194 -6.91342 0
|
||||
vertex -10 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex -6.91342 9.6194 0
|
||||
vertex -5 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex -8.53553 8.53553 0
|
||||
vertex -6.91342 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex -9.6194 6.91342 0
|
||||
vertex -8.53553 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex 10 -5 0
|
||||
vertex 9.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 -5 0
|
||||
vertex 5 -5 0
|
||||
vertex 10 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex 9.6194 -6.91342 0
|
||||
vertex 8.53553 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 5 0
|
||||
vertex 10 5 0
|
||||
vertex 5 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex 8.53553 -8.53553 0
|
||||
vertex 6.91342 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 10 5 0
|
||||
vertex 5 5 0
|
||||
vertex 9.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex 6.91342 -9.6194 0
|
||||
vertex 5 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 9.6194 6.91342 0
|
||||
vertex 5 5 0
|
||||
vertex 8.53553 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 8.53553 8.53553 0
|
||||
vertex 5 5 0
|
||||
vertex 6.91342 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 5 5 0
|
||||
vertex 5 10 0
|
||||
vertex 6.91342 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex 5 10 0
|
||||
vertex 5 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 5 10 0
|
||||
vertex -5 5 0
|
||||
vertex -5 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex -9.6194 -6.91342 0
|
||||
vertex -10 -5 5
|
||||
vertex -10 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex -10 -5 5
|
||||
vertex -9.6194 -6.91342 0
|
||||
vertex -9.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex -6.91342 -9.6194 0
|
||||
vertex -5 -10 5
|
||||
vertex -6.91342 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 -0.980786 -0
|
||||
outer loop
|
||||
vertex -5 -10 5
|
||||
vertex -6.91342 -9.6194 0
|
||||
vertex -5 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 10 5
|
||||
vertex 5 5 5
|
||||
vertex 5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 10 5
|
||||
vertex -5 5 5
|
||||
vertex 5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -6.91342 9.6194 5
|
||||
vertex -5 5 5
|
||||
vertex -5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 5 5
|
||||
vertex -10 5 5
|
||||
vertex -5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -8.53553 8.53553 5
|
||||
vertex -5 5 5
|
||||
vertex -6.91342 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -10 -5 5
|
||||
vertex -5 -5 5
|
||||
vertex -10 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -9.6194 6.91342 5
|
||||
vertex -5 5 5
|
||||
vertex -8.53553 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 1
|
||||
outer loop
|
||||
vertex -9.6194 -6.91342 5
|
||||
vertex -5 -5 5
|
||||
vertex -10 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 5 5
|
||||
vertex -9.6194 6.91342 5
|
||||
vertex -10 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex -6.91342 -9.6194 5
|
||||
vertex -5 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex -8.53553 -8.53553 5
|
||||
vertex -6.91342 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex -9.6194 -6.91342 5
|
||||
vertex -8.53553 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 10 5 5
|
||||
vertex 9.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 5 5
|
||||
vertex 5 5 5
|
||||
vertex 10 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 9.6194 6.91342 5
|
||||
vertex 8.53553 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -5 5
|
||||
vertex 10 -5 5
|
||||
vertex 5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 8.53553 8.53553 5
|
||||
vertex 6.91342 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 10 -5 5
|
||||
vertex 5 -5 5
|
||||
vertex 9.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 6.91342 9.6194 5
|
||||
vertex 5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 9.6194 -6.91342 5
|
||||
vertex 5 -5 5
|
||||
vertex 8.53553 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 8.53553 -8.53553 5
|
||||
vertex 5 -5 5
|
||||
vertex 6.91342 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -5 5
|
||||
vertex 5 -10 5
|
||||
vertex 6.91342 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex 5 -10 5
|
||||
vertex 5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 5 -10 5
|
||||
vertex -5 -5 5
|
||||
vertex -5 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555574 -0.831467 0
|
||||
outer loop
|
||||
vertex 6.91342 -9.6194 0
|
||||
vertex 8.53553 -8.53553 5
|
||||
vertex 6.91342 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555574 -0.831467 0
|
||||
outer loop
|
||||
vertex 8.53553 -8.53553 5
|
||||
vertex 6.91342 -9.6194 0
|
||||
vertex 8.53553 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex -5 -5 5
|
||||
vertex 5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex 5 -5 0
|
||||
vertex -5 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex 5 -10 0
|
||||
vertex 6.91342 -9.6194 5
|
||||
vertex 5 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 -0.980786 0
|
||||
outer loop
|
||||
vertex 6.91342 -9.6194 5
|
||||
vertex 5 -10 0
|
||||
vertex 6.91342 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831467 -0.555574 0
|
||||
outer loop
|
||||
vertex 8.53553 -8.53553 5
|
||||
vertex 9.6194 -6.91342 0
|
||||
vertex 9.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831467 -0.555574 0
|
||||
outer loop
|
||||
vertex 9.6194 -6.91342 0
|
||||
vertex 8.53553 -8.53553 5
|
||||
vertex 8.53553 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex 9.6194 -6.91342 5
|
||||
vertex 10 -5 0
|
||||
vertex 10 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex 10 -5 0
|
||||
vertex 9.6194 -6.91342 5
|
||||
vertex 9.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -5 -5 5
|
||||
vertex -5 5 0
|
||||
vertex -5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex -5 -5 5
|
||||
vertex -5 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 5 0
|
||||
vertex 5 5 5
|
||||
vertex -5 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex -5 5 0
|
||||
vertex 5 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -10 -5 0
|
||||
vertex -10 5 5
|
||||
vertex -10 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -10 5 5
|
||||
vertex -10 -5 0
|
||||
vertex -10 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -5 -10 0
|
||||
vertex 5 -10 5
|
||||
vertex -5 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 5 -10 5
|
||||
vertex -5 -10 0
|
||||
vertex 5 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831467 0.555574 0
|
||||
outer loop
|
||||
vertex 9.6194 6.91342 5
|
||||
vertex 8.53553 8.53553 0
|
||||
vertex 8.53553 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.831467 0.555574 0
|
||||
outer loop
|
||||
vertex 8.53553 8.53553 0
|
||||
vertex 9.6194 6.91342 5
|
||||
vertex 9.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555574 0.831467 -0
|
||||
outer loop
|
||||
vertex 8.53553 8.53553 0
|
||||
vertex 6.91342 9.6194 5
|
||||
vertex 8.53553 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555574 0.831467 0
|
||||
outer loop
|
||||
vertex 6.91342 9.6194 5
|
||||
vertex 8.53553 8.53553 0
|
||||
vertex 6.91342 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex 10 5 5
|
||||
vertex 9.6194 6.91342 0
|
||||
vertex 9.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex 9.6194 6.91342 0
|
||||
vertex 10 5 5
|
||||
vertex 10 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 0.980786 -0
|
||||
outer loop
|
||||
vertex 6.91342 9.6194 0
|
||||
vertex 5 10 5
|
||||
vertex 6.91342 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex 5 10 5
|
||||
vertex 6.91342 9.6194 0
|
||||
vertex 5 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555574 0.831467 0
|
||||
outer loop
|
||||
vertex -6.91342 9.6194 0
|
||||
vertex -8.53553 8.53553 5
|
||||
vertex -6.91342 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555574 0.831467 0
|
||||
outer loop
|
||||
vertex -8.53553 8.53553 5
|
||||
vertex -6.91342 9.6194 0
|
||||
vertex -8.53553 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex -5 10 0
|
||||
vertex -6.91342 9.6194 5
|
||||
vertex -5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195089 0.980786 0
|
||||
outer loop
|
||||
vertex -6.91342 9.6194 5
|
||||
vertex -5 10 0
|
||||
vertex -6.91342 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831467 0.555574 0
|
||||
outer loop
|
||||
vertex -9.6194 6.91342 0
|
||||
vertex -8.53553 8.53553 5
|
||||
vertex -8.53553 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.831467 0.555574 0
|
||||
outer loop
|
||||
vertex -8.53553 8.53553 5
|
||||
vertex -9.6194 6.91342 0
|
||||
vertex -9.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex -10 5 0
|
||||
vertex -9.6194 6.91342 5
|
||||
vertex -9.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex -9.6194 6.91342 5
|
||||
vertex -10 5 0
|
||||
vertex -10 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 5 -5 0
|
||||
vertex 5 5 5
|
||||
vertex 5 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 5 5 5
|
||||
vertex 5 -5 0
|
||||
vertex 5 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 10 -5 5
|
||||
vertex 10 5 0
|
||||
vertex 10 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 10 5 0
|
||||
vertex 10 -5 5
|
||||
vertex 10 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 5 10 0
|
||||
vertex -5 10 5
|
||||
vertex 5 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -5 10 5
|
||||
vertex 5 10 0
|
||||
vertex -5 10 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
674
tests/expected/test_unit_utility.sweep_rounded.test_width.stl
Normal file
674
tests/expected/test_unit_utility.sweep_rounded.test_width.stl
Normal file
|
@ -0,0 +1,674 @@
|
|||
solid OpenSCAD_Model
|
||||
facet normal -0.83146 -0.555585 0
|
||||
outer loop
|
||||
vertex -28.5355 -8.53553 0
|
||||
vertex -29.6194 -6.91342 5
|
||||
vertex -29.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.83146 -0.555585 0
|
||||
outer loop
|
||||
vertex -29.6194 -6.91342 5
|
||||
vertex -28.5355 -8.53553 0
|
||||
vertex -28.5355 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555576 -0.831465 0
|
||||
outer loop
|
||||
vertex -28.5355 -8.53553 0
|
||||
vertex -26.9134 -9.6194 5
|
||||
vertex -28.5355 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555576 -0.831465 -0
|
||||
outer loop
|
||||
vertex -26.9134 -9.6194 5
|
||||
vertex -28.5355 -8.53553 0
|
||||
vertex -26.9134 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 -10 0
|
||||
vertex 25 -5 0
|
||||
vertex 25 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 -10 0
|
||||
vertex -25 -5 0
|
||||
vertex 25 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -26.9134 -9.6194 0
|
||||
vertex -25 -5 0
|
||||
vertex -25 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 -5 0
|
||||
vertex -30 -5 0
|
||||
vertex -25 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -28.5355 -8.53553 0
|
||||
vertex -25 -5 0
|
||||
vertex -26.9134 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -30 5 0
|
||||
vertex -25 5 0
|
||||
vertex -30 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -29.6194 -6.91342 0
|
||||
vertex -25 -5 0
|
||||
vertex -28.5355 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 -1
|
||||
outer loop
|
||||
vertex -29.6194 6.91342 0
|
||||
vertex -25 5 0
|
||||
vertex -30 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex -25 -5 0
|
||||
vertex -29.6194 -6.91342 0
|
||||
vertex -30 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex -26.9134 9.6194 0
|
||||
vertex -25 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex -28.5355 8.53553 0
|
||||
vertex -26.9134 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex -29.6194 6.91342 0
|
||||
vertex -28.5355 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex 30 -5 0
|
||||
vertex 29.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 30 -5 0
|
||||
vertex 25 -5 0
|
||||
vertex 30 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex 29.6194 -6.91342 0
|
||||
vertex 28.5355 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 5 0
|
||||
vertex 30 5 0
|
||||
vertex 25 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex 28.5355 -8.53553 0
|
||||
vertex 26.9134 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 30 5 0
|
||||
vertex 25 5 0
|
||||
vertex 29.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex 26.9134 -9.6194 0
|
||||
vertex 25 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 29.6194 6.91342 0
|
||||
vertex 25 5 0
|
||||
vertex 28.5355 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 28.5355 8.53553 0
|
||||
vertex 25 5 0
|
||||
vertex 26.9134 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex 25 5 0
|
||||
vertex 25 10 0
|
||||
vertex 26.9134 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 -1
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex 25 10 0
|
||||
vertex 25 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 -1
|
||||
outer loop
|
||||
vertex 25 10 0
|
||||
vertex -25 5 0
|
||||
vertex -25 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex -29.6194 -6.91342 0
|
||||
vertex -30 -5 5
|
||||
vertex -30 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex -30 -5 5
|
||||
vertex -29.6194 -6.91342 0
|
||||
vertex -29.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex -26.9134 -9.6194 0
|
||||
vertex -25 -10 5
|
||||
vertex -26.9134 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 -0.980785 -0
|
||||
outer loop
|
||||
vertex -25 -10 5
|
||||
vertex -26.9134 -9.6194 0
|
||||
vertex -25 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -25 10 5
|
||||
vertex 25 5 5
|
||||
vertex 25 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 10 5
|
||||
vertex -25 5 5
|
||||
vertex 25 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -26.9134 9.6194 5
|
||||
vertex -25 5 5
|
||||
vertex -25 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 5 5
|
||||
vertex -30 5 5
|
||||
vertex -25 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -28.5355 8.53553 5
|
||||
vertex -25 5 5
|
||||
vertex -26.9134 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -30 -5 5
|
||||
vertex -25 -5 5
|
||||
vertex -30 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -29.6194 6.91342 5
|
||||
vertex -25 5 5
|
||||
vertex -28.5355 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -0 1
|
||||
outer loop
|
||||
vertex -29.6194 -6.91342 5
|
||||
vertex -25 -5 5
|
||||
vertex -30 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 5 5
|
||||
vertex -29.6194 6.91342 5
|
||||
vertex -30 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex -26.9134 -9.6194 5
|
||||
vertex -25 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex -28.5355 -8.53553 5
|
||||
vertex -26.9134 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex -29.6194 -6.91342 5
|
||||
vertex -28.5355 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex 30 5 5
|
||||
vertex 29.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 30 5 5
|
||||
vertex 25 5 5
|
||||
vertex 30 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex 29.6194 6.91342 5
|
||||
vertex 28.5355 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 -5 5
|
||||
vertex 30 -5 5
|
||||
vertex 25 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex 28.5355 8.53553 5
|
||||
vertex 26.9134 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 30 -5 5
|
||||
vertex 25 -5 5
|
||||
vertex 29.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex 26.9134 9.6194 5
|
||||
vertex 25 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 29.6194 -6.91342 5
|
||||
vertex 25 -5 5
|
||||
vertex 28.5355 -8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 28.5355 -8.53553 5
|
||||
vertex 25 -5 5
|
||||
vertex 26.9134 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 -5 5
|
||||
vertex 25 -10 5
|
||||
vertex 26.9134 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0 0 1
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex 25 -10 5
|
||||
vertex 25 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex 25 -10 5
|
||||
vertex -25 -5 5
|
||||
vertex -25 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555576 -0.831465 0
|
||||
outer loop
|
||||
vertex 26.9134 -9.6194 0
|
||||
vertex 28.5355 -8.53553 5
|
||||
vertex 26.9134 -9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555576 -0.831465 0
|
||||
outer loop
|
||||
vertex 28.5355 -8.53553 5
|
||||
vertex 26.9134 -9.6194 0
|
||||
vertex 28.5355 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex -25 -5 5
|
||||
vertex 25 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex 25 -5 0
|
||||
vertex -25 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex 25 -10 0
|
||||
vertex 26.9134 -9.6194 5
|
||||
vertex 25 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 -0.980785 0
|
||||
outer loop
|
||||
vertex 26.9134 -9.6194 5
|
||||
vertex 25 -10 0
|
||||
vertex 26.9134 -9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.83146 -0.555585 0
|
||||
outer loop
|
||||
vertex 28.5355 -8.53553 5
|
||||
vertex 29.6194 -6.91342 0
|
||||
vertex 29.6194 -6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.83146 -0.555585 0
|
||||
outer loop
|
||||
vertex 29.6194 -6.91342 0
|
||||
vertex 28.5355 -8.53553 5
|
||||
vertex 28.5355 -8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex 29.6194 -6.91342 5
|
||||
vertex 30 -5 0
|
||||
vertex 30 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 -0.195089 0
|
||||
outer loop
|
||||
vertex 30 -5 0
|
||||
vertex 29.6194 -6.91342 5
|
||||
vertex 29.6194 -6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex -25 -5 5
|
||||
vertex -25 5 0
|
||||
vertex -25 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex -25 -5 5
|
||||
vertex -25 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -25 5 0
|
||||
vertex 25 5 5
|
||||
vertex -25 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex -25 5 0
|
||||
vertex 25 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex -30 -5 0
|
||||
vertex -30 5 5
|
||||
vertex -30 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex -30 5 5
|
||||
vertex -30 -5 0
|
||||
vertex -30 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -25 -10 0
|
||||
vertex 25 -10 5
|
||||
vertex -25 -10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 -1 -0
|
||||
outer loop
|
||||
vertex 25 -10 5
|
||||
vertex -25 -10 0
|
||||
vertex 25 -10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.83146 0.555585 0
|
||||
outer loop
|
||||
vertex 29.6194 6.91342 5
|
||||
vertex 28.5355 8.53553 0
|
||||
vertex 28.5355 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.83146 0.555585 0
|
||||
outer loop
|
||||
vertex 28.5355 8.53553 0
|
||||
vertex 29.6194 6.91342 5
|
||||
vertex 29.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555576 0.831465 -0
|
||||
outer loop
|
||||
vertex 28.5355 8.53553 0
|
||||
vertex 26.9134 9.6194 5
|
||||
vertex 28.5355 8.53553 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.555576 0.831465 0
|
||||
outer loop
|
||||
vertex 26.9134 9.6194 5
|
||||
vertex 28.5355 8.53553 0
|
||||
vertex 26.9134 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex 30 5 5
|
||||
vertex 29.6194 6.91342 0
|
||||
vertex 29.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex 29.6194 6.91342 0
|
||||
vertex 30 5 5
|
||||
vertex 30 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 0.980785 -0
|
||||
outer loop
|
||||
vertex 26.9134 9.6194 0
|
||||
vertex 25 10 5
|
||||
vertex 26.9134 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex 25 10 5
|
||||
vertex 26.9134 9.6194 0
|
||||
vertex 25 10 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555576 0.831465 0
|
||||
outer loop
|
||||
vertex -26.9134 9.6194 0
|
||||
vertex -28.5355 8.53553 5
|
||||
vertex -26.9134 9.6194 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.555576 0.831465 0
|
||||
outer loop
|
||||
vertex -28.5355 8.53553 5
|
||||
vertex -26.9134 9.6194 0
|
||||
vertex -28.5355 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex -25 10 0
|
||||
vertex -26.9134 9.6194 5
|
||||
vertex -25 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.195091 0.980785 0
|
||||
outer loop
|
||||
vertex -26.9134 9.6194 5
|
||||
vertex -25 10 0
|
||||
vertex -26.9134 9.6194 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.83146 0.555585 0
|
||||
outer loop
|
||||
vertex -29.6194 6.91342 0
|
||||
vertex -28.5355 8.53553 5
|
||||
vertex -28.5355 8.53553 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.83146 0.555585 0
|
||||
outer loop
|
||||
vertex -28.5355 8.53553 5
|
||||
vertex -29.6194 6.91342 0
|
||||
vertex -29.6194 6.91342 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex -30 5 0
|
||||
vertex -29.6194 6.91342 5
|
||||
vertex -29.6194 6.91342 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -0.980786 0.195089 0
|
||||
outer loop
|
||||
vertex -29.6194 6.91342 5
|
||||
vertex -30 5 0
|
||||
vertex -30 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 0 0
|
||||
outer loop
|
||||
vertex 25 -5 0
|
||||
vertex 25 5 5
|
||||
vertex 25 5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal -1 -0 0
|
||||
outer loop
|
||||
vertex 25 5 5
|
||||
vertex 25 -5 0
|
||||
vertex 25 -5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 -0 0
|
||||
outer loop
|
||||
vertex 30 -5 5
|
||||
vertex 30 5 0
|
||||
vertex 30 5 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 30 5 0
|
||||
vertex 30 -5 5
|
||||
vertex 30 -5 0
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 -0
|
||||
outer loop
|
||||
vertex 25 10 0
|
||||
vertex -25 10 5
|
||||
vertex 25 10 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -25 10 5
|
||||
vertex 25 10 0
|
||||
vertex -25 10 0
|
||||
endloop
|
||||
endfacet
|
||||
endsolid OpenSCAD_Model
|
6
tests/openscadtestframework/__init__.py
Normal file
6
tests/openscadtestframework/__init__.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
# __init__.py
|
||||
|
||||
__all__ = ["ScadIntegrationTestCase", "IntegrationTest",
|
||||
"ScadModuleTestCase", "Module", "ModuleTest", "Cube", "Square"]
|
||||
from .openscadtestframework import ScadIntegrationTestCase, IntegrationTest, ScadModuleTestCase, Module, ModuleTest
|
||||
from .basic_modules import Cube, Square
|
28
tests/openscadtestframework/basic_modules.py
Normal file
28
tests/openscadtestframework/basic_modules.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
from typing import Union, List, Optional
|
||||
from .openscadtestframework import Module
|
||||
|
||||
|
||||
class Cube(Module):
|
||||
def __init__(self, size: Union[int, Optional[List[int]]] = None, center: bool = False) -> None:
|
||||
if size is None:
|
||||
size = [1, 1, 1]
|
||||
super().__init__("cube")
|
||||
if isinstance(size, int):
|
||||
self.add_call_args(size, center)
|
||||
if isinstance(size, list):
|
||||
if len(size) != 3:
|
||||
raise ValueError("Cube expects list of 3")
|
||||
self.add_call_args(str(size), center)
|
||||
|
||||
|
||||
class Square(Module):
|
||||
def __init__(self, size: Union[int, Optional[List[int]]] = None, center: bool = False) -> None:
|
||||
if size is None:
|
||||
size = [1, 1]
|
||||
super().__init__("square")
|
||||
if isinstance(size, int):
|
||||
self.add_call_args(size, center)
|
||||
if isinstance(size, list):
|
||||
if len(size) != 2:
|
||||
raise ValueError("Square expects list of 2")
|
||||
self.add_call_args(str(size), center)
|
100
tests/openscadtestframework/mesh.py
Normal file
100
tests/openscadtestframework/mesh.py
Normal file
|
@ -0,0 +1,100 @@
|
|||
from __future__ import annotations
|
||||
from pathlib import Path
|
||||
from typing import Optional, List
|
||||
from re import match, search
|
||||
|
||||
|
||||
class Mesh():
|
||||
def __init__(self, file_name: Path):
|
||||
self.solid: Optional[Solid] = None
|
||||
tmp_facet: Optional[Facet] = None
|
||||
|
||||
with file_name.open(encoding="utf-8") as input_file:
|
||||
for line in input_file:
|
||||
if not self.solid and match("solid", line):
|
||||
self.solid = Solid(line.split()[1])
|
||||
if self.solid:
|
||||
if not tmp_facet and search("facet normal", line):
|
||||
tmp_facet = Facet(
|
||||
Vector([float(x) for x in line.split()[2:]]))
|
||||
if tmp_facet:
|
||||
if search("vertex", line):
|
||||
tmp_facet.add_vertex(
|
||||
Vector([float(x) for x in line.split()[1:]]))
|
||||
if search("endfacet", line):
|
||||
self.solid.add_facet(tmp_facet)
|
||||
tmp_facet = None
|
||||
|
||||
if not self.solid:
|
||||
raise ValueError("Failed to parse file")
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if not isinstance(other, Mesh):
|
||||
return NotImplemented
|
||||
return self.solid == other.solid
|
||||
|
||||
|
||||
class Vector():
|
||||
def __init__(self, numbers: List[float]):
|
||||
if len(numbers) != 3:
|
||||
raise ValueError("List should exist of 3 numbers")
|
||||
self.numbers = numbers
|
||||
|
||||
def __str__(self) -> str:
|
||||
return str(self.numbers)
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if not isinstance(other, Vector):
|
||||
return NotImplemented
|
||||
return self.numbers == other.numbers
|
||||
|
||||
|
||||
class Solid():
|
||||
def __init__(self, name: str):
|
||||
self.name = name
|
||||
self.facets: List[Facet] = []
|
||||
|
||||
def add_facet(self, facet: Facet) -> None:
|
||||
self.facets.append(facet)
|
||||
|
||||
def __str__(self) -> str:
|
||||
string = self.name + "\n"
|
||||
for facet in self.facets:
|
||||
string = string + str(facet) + "\n"
|
||||
return string
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if not isinstance(other, Solid):
|
||||
return NotImplemented
|
||||
if len(self.facets) != len(other.facets):
|
||||
return False
|
||||
for facet in self.facets:
|
||||
if not facet in other.facets:
|
||||
print(f"facet not found: {facet}")
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
class Facet():
|
||||
def __init__(self, normal: Vector):
|
||||
self.normal = normal
|
||||
self.vertices: List[Vector] = []
|
||||
|
||||
def add_vertex(self, vertex: Vector) -> None:
|
||||
self.vertices.append(vertex)
|
||||
|
||||
def __str__(self) -> str:
|
||||
string = "normal:" + str(self.normal) + "\n"
|
||||
for vertex in self.vertices:
|
||||
string = string + str(vertex) + "\n"
|
||||
return string
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if not isinstance(other, Facet):
|
||||
return NotImplemented
|
||||
if not self.normal == other.normal:
|
||||
return False
|
||||
for vertice in self.vertices:
|
||||
if not vertice in other.vertices:
|
||||
return False
|
||||
return True
|
335
tests/openscadtestframework/openscadtestframework.py
Normal file
335
tests/openscadtestframework/openscadtestframework.py
Normal file
|
@ -0,0 +1,335 @@
|
|||
from __future__ import annotations
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
from typing import Tuple, List, Union, Iterator, Dict, Any, Optional
|
||||
from re import match, search
|
||||
from subprocess import Popen, PIPE
|
||||
from unittest import TestCase
|
||||
from contextlib import contextmanager
|
||||
from platform import system
|
||||
from .mesh import Mesh
|
||||
|
||||
|
||||
def count_curly_brackets_in_string(input_line: str) -> Tuple[int, int]:
|
||||
return input_line.count("{"), input_line.count("}")
|
||||
|
||||
|
||||
def to_scad_str(input_str: Any) -> str:
|
||||
if isinstance(input_str, bool):
|
||||
return str(input_str).lower()
|
||||
return str(input_str)
|
||||
|
||||
|
||||
class Module():
|
||||
def __init__(self, name: str, content: Optional[List[str]] = None, arguments: Optional[List[str]] = None):
|
||||
if content is None:
|
||||
content = []
|
||||
if arguments is None:
|
||||
arguments = []
|
||||
self.name = name
|
||||
self.content = content
|
||||
self.arguments = arguments
|
||||
self._call_args: Tuple[Union[str, int, bool, List[int]], ...] = ()
|
||||
self._call_kwargs: Dict[str, Union[str, int]] = {}
|
||||
self._children: List[Module] = []
|
||||
|
||||
def get_module_string(self) -> str:
|
||||
out_str = "module " + self.name + "("
|
||||
for arg in self.arguments:
|
||||
out_str = out_str + arg
|
||||
if arg != self.arguments[-1]:
|
||||
out_str = out_str + ","
|
||||
|
||||
out_str = out_str + ") {\n"
|
||||
|
||||
for content in self.content:
|
||||
out_str = out_str + content + "\n"
|
||||
|
||||
out_str = out_str + "}"
|
||||
|
||||
return out_str
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.get_module_string()
|
||||
|
||||
def add_child(self, child: Module) -> None:
|
||||
self._children.append(child)\
|
||||
|
||||
|
||||
def add_call_args(self, *args: Union[str, int, bool, List[int]], **kwargs: Union[str, int]) -> None:
|
||||
self._call_args += args
|
||||
self._call_kwargs.update(kwargs)
|
||||
|
||||
def get_call_string(self) -> str:
|
||||
out_str = self.name + "("
|
||||
for arg in self._call_args:
|
||||
out_str += to_scad_str(arg) + ","
|
||||
|
||||
for key, value in self._call_kwargs.items():
|
||||
out_str += key + "=" + to_scad_str(value) + ","
|
||||
|
||||
if out_str[-1] == ",":
|
||||
out_str = out_str[:-1]
|
||||
|
||||
out_str += ")"
|
||||
|
||||
if self._children:
|
||||
out_str += "{\n"
|
||||
for child in self._children:
|
||||
out_str += child.get_call_string() + "\n"
|
||||
out_str += "}"
|
||||
|
||||
out_str += ";"
|
||||
return out_str
|
||||
|
||||
@staticmethod
|
||||
def from_file(module_name: str, file_name: str) -> Module:
|
||||
return ModuleBuilder.from_file(module_name, file_name)
|
||||
|
||||
|
||||
class ModuleBuilder():
|
||||
@ staticmethod
|
||||
def from_file(module_name: str, file_name: str) -> Module:
|
||||
file_path = Path.cwd().joinpath(Path(file_name))
|
||||
|
||||
module_found: bool = False
|
||||
open_brackets_found = 0
|
||||
closed_brackets_found = 0
|
||||
|
||||
arguments: List[str] = []
|
||||
content: List[str] = []
|
||||
|
||||
with file_path.open(encoding="utf8") as file:
|
||||
for line in file:
|
||||
if not module_found:
|
||||
if match("module " + module_name + "(.*).*{", line):
|
||||
open_brackets_found += 1
|
||||
module_found = True
|
||||
arguments = ModuleBuilder._get_arguments(line)
|
||||
else:
|
||||
o_brack, c_brack = count_curly_brackets_in_string(line)
|
||||
open_brackets_found += o_brack
|
||||
closed_brackets_found += c_brack
|
||||
if open_brackets_found == closed_brackets_found:
|
||||
break
|
||||
content.append(line.strip("\n"))
|
||||
|
||||
if not module_found:
|
||||
raise ValueError(
|
||||
f'Module "{module_name}" not found in {file_path}')
|
||||
return Module(module_name, content, arguments)
|
||||
|
||||
@ staticmethod
|
||||
def _get_arguments(line: str) -> List[str]:
|
||||
result = search(r"\((.*?)\)", line)
|
||||
if result:
|
||||
arguments = result.group(1).split(",")
|
||||
arguments = [x.strip() for x in arguments]
|
||||
return arguments
|
||||
return []
|
||||
|
||||
|
||||
class ScadTest():
|
||||
|
||||
def __init__(self) -> None:
|
||||
pass
|
||||
|
||||
|
||||
class IntegrationTest(ScadTest):
|
||||
default_args: List[str] = ["-D$fa=12", "-D$fs=2"]
|
||||
|
||||
def __init__(self, test_file: str) -> None:
|
||||
self.test_file = Path(test_file)
|
||||
self._kwargs: Dict[str, Union[int, float, bool]] = {}
|
||||
|
||||
def add_arguments(self, **kwargs: Union[int, float, bool]) -> None:
|
||||
self._kwargs.update(kwargs)
|
||||
|
||||
def get_cli_arg_list(self) -> List[str]:
|
||||
tmp_list: List[str] = []
|
||||
for key, value in self._kwargs.items():
|
||||
tmp_list.append("-D" + key + "=" + to_scad_str(value))
|
||||
tmp_list += self.default_args
|
||||
return tmp_list
|
||||
|
||||
|
||||
class ModuleTest(ScadTest):
|
||||
def __init__(self, module_under_test: Module):
|
||||
self.module_under_test = module_under_test
|
||||
self.dependencies: List[Module] = []
|
||||
self.const_files: List[Path] = []
|
||||
|
||||
def add_dependency(self, module: Module) -> None:
|
||||
self.dependencies.append(module)
|
||||
|
||||
def add_arguments(self, *args: Union[int, bool, List[int]], **kwargs: Union[str, int]) -> None:
|
||||
self.module_under_test.add_call_args(*args, **kwargs)
|
||||
|
||||
def add_children(self, children: List[Module]) -> None:
|
||||
for child in children:
|
||||
self.module_under_test.add_child(child)
|
||||
|
||||
def add_child(self, child: Module) -> None:
|
||||
self.module_under_test.add_child(child)
|
||||
|
||||
def get_test_file_string(self) -> str:
|
||||
out_str = ""
|
||||
for const_file in self.const_files:
|
||||
out_str += "include <" + str(const_file) + ">\n"
|
||||
|
||||
out_str += self._get_call_string() + "\n"
|
||||
out_str += self.module_under_test.get_module_string() + "\n"
|
||||
for dependency in self.dependencies:
|
||||
out_str += dependency.get_module_string() + "\n"
|
||||
|
||||
return out_str
|
||||
|
||||
def add_constants_file(self, const_file: str) -> None:
|
||||
full_path = Path.cwd().joinpath(Path(const_file))
|
||||
if not full_path.exists():
|
||||
raise FileNotFoundError(f"File does not exist {full_path}")
|
||||
self.const_files.append(full_path)
|
||||
|
||||
def _get_call_string(self) -> str:
|
||||
return self.module_under_test.get_call_string()
|
||||
|
||||
|
||||
class TestRunner():
|
||||
out_file_extention = ".stl"
|
||||
output_arg: str = "-o"
|
||||
expected_dir = Path.cwd().joinpath("tests/expected")
|
||||
tmp_dir_prefix = "oscad_generated_test_files."
|
||||
git_root_cmd = ["git", "rev-parse", "--show-toplevel"]
|
||||
|
||||
def __init__(self) -> None:
|
||||
if (not self._check_if_run_on_root_repo()):
|
||||
raise OSError(
|
||||
"Should be executed in root dir of git repo.")
|
||||
|
||||
self.tmp_dir: Path = Path()
|
||||
|
||||
def Run(self, test_name: str, test: ScadTest, keep_dir: bool = False) -> None:
|
||||
raise NotImplementedError()
|
||||
|
||||
def _check_if_run_on_root_repo(self) -> bool:
|
||||
with Popen(self.git_root_cmd, stdout=PIPE, stderr=PIPE) as process:
|
||||
out, _ = process.communicate()
|
||||
result_path = Path(out.decode("utf-8").strip())
|
||||
if result_path == Path.cwd():
|
||||
return True
|
||||
return False
|
||||
|
||||
def _get_scad_executable(self) -> str:
|
||||
if system() == "Linux":
|
||||
return "openscad"
|
||||
if system() == "Windows":
|
||||
return r'"C:\Program Files\Openscad\openscad.exe"'
|
||||
if system() == "Darwin":
|
||||
return r"/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD"
|
||||
raise OSError(f"Unkown OS: {system()}")
|
||||
|
||||
def _run_openscad_command(self, in_file: Path, out_file: Path, args: Optional[List[str]] = None) -> None:
|
||||
if args is None:
|
||||
args = []
|
||||
cmd = [self._get_scad_executable(), self.output_arg,
|
||||
str(out_file), str(in_file)] + args
|
||||
|
||||
# Workaround for Windows PermissionError with shell=False
|
||||
if system() == "Windows":
|
||||
tmp_cmd: str = ""
|
||||
for item in cmd:
|
||||
tmp_cmd += item + " "
|
||||
with Popen(tmp_cmd, stdout=PIPE, stderr=PIPE, shell=True) as process:
|
||||
_, stderr = process.communicate()
|
||||
if process.returncode != 0:
|
||||
err_mesage = stderr.decode("utf-8")
|
||||
raise OSError(
|
||||
f"openscad failed executing with message:\n{err_mesage}")
|
||||
return
|
||||
# End workaround
|
||||
|
||||
with Popen(cmd, stdout=PIPE, stderr=PIPE) as process:
|
||||
_, stderr = process.communicate()
|
||||
if process.returncode != 0:
|
||||
err_mesage = stderr.decode("utf-8")
|
||||
raise OSError(
|
||||
f"openscad failed executing with message:\n{err_mesage}")
|
||||
|
||||
def _compare_output(self, expected: Path, current: Path) -> None:
|
||||
expected_mesh = Mesh(expected)
|
||||
current_mesh = Mesh(current)
|
||||
if expected_mesh != current_mesh:
|
||||
raise AssertionError("Stl files are not equal")
|
||||
|
||||
@ contextmanager
|
||||
def _temp_dir(self, test_name: str, keep_dir: bool = False) -> Iterator[None]:
|
||||
self.tmp_dir = Path.cwd().joinpath(Path("oscad_generated_test_files." + test_name))
|
||||
if self.tmp_dir.exists():
|
||||
shutil.rmtree(self.tmp_dir)
|
||||
self.tmp_dir.mkdir()
|
||||
yield
|
||||
if not keep_dir:
|
||||
shutil.rmtree(self.tmp_dir)
|
||||
|
||||
|
||||
class IntegrationTestRunner(TestRunner):
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self.out_file: Path = Path()
|
||||
|
||||
def Run(self, test_name: str, test: ScadTest, keep_dir: bool = False) -> None:
|
||||
if not isinstance(test, IntegrationTest):
|
||||
raise ValueError("Test should be of type IntegrationTest")
|
||||
with self._temp_dir(test_name, keep_dir):
|
||||
self.out_file = Path(test_name + self.out_file_extention)
|
||||
self._run_openscad_command(
|
||||
test.test_file, self.tmp_dir.joinpath(self.out_file), test.get_cli_arg_list())
|
||||
self._compare_output(self.expected_dir.joinpath(
|
||||
self.out_file), self.tmp_dir.joinpath(self.out_file))
|
||||
|
||||
|
||||
class ModuleTestRunner(TestRunner):
|
||||
|
||||
test_scad_file: Path = Path("test.scad")
|
||||
|
||||
def __init__(self) -> None:
|
||||
|
||||
super().__init__()
|
||||
|
||||
self.tmp_dir: Path = Path()
|
||||
self.out_file: Path = Path()
|
||||
|
||||
def Run(self, test_name: str, test: ScadTest, keep_dir: bool = False) -> None:
|
||||
if not isinstance(test, ModuleTest):
|
||||
raise ValueError("Test should be of type ModuleTest")
|
||||
|
||||
with self._temp_dir(test_name, keep_dir):
|
||||
self.out_file = Path(test_name + self.out_file_extention)
|
||||
file_path = self._create_scadfile(test)
|
||||
self._run_scadfile(file_path)
|
||||
self._compare_output(self.expected_dir.joinpath(
|
||||
self.out_file), self.tmp_dir.joinpath(self.out_file))
|
||||
|
||||
def _run_scadfile(self, file_path: Path) -> None:
|
||||
self._run_openscad_command(
|
||||
file_path, self.tmp_dir.joinpath(self.out_file))
|
||||
|
||||
def _create_scadfile(self, module_test: ModuleTest) -> Path:
|
||||
file_path = self.tmp_dir.joinpath(self.test_scad_file)
|
||||
with open(file_path, "w", encoding="utf8") as infile:
|
||||
infile.write(module_test.get_test_file_string())
|
||||
return file_path
|
||||
|
||||
|
||||
class ScadModuleTestCase(TestCase):
|
||||
_runner = ModuleTestRunner()
|
||||
|
||||
def scad_module_test(self, module_test: ModuleTest, keep_files: bool = False) -> None:
|
||||
self._runner.Run(self.id(), module_test, keep_files)
|
||||
|
||||
|
||||
class ScadIntegrationTestCase(TestCase):
|
||||
_runner = IntegrationTestRunner()
|
||||
|
||||
def run_test(self, int_test: IntegrationTest, keep_files: bool = False) -> None:
|
||||
self._runner.Run(self.id(), int_test, keep_files)
|
28
tests/test_int_baseplate.py
Normal file
28
tests/test_int_baseplate.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
from openscadtestframework import ScadIntegrationTestCase, IntegrationTest
|
||||
|
||||
|
||||
# these tescases are all wrong, there is a bug in the baseplates which affects almost all renders
|
||||
|
||||
class baseplate(ScadIntegrationTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.int_test = IntegrationTest("gridfinity-rebuilt-baseplate.scad")
|
||||
|
||||
def test_default(self) -> None:
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_fit_to_drawer(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
distancex=200, distancey=250, fitx=-0.5, fity=0.7)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_screw_together(self) -> None:
|
||||
self.int_test.add_arguments(style_plate=3)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_skeletonized(self) -> None:
|
||||
self.int_test.add_arguments(style_plate=2)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_weigthed(self) -> None:
|
||||
self.int_test.add_arguments(style_plate=1)
|
||||
self.run_test(self.int_test)
|
45
tests/test_int_bins.py
Normal file
45
tests/test_int_bins.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
from openscadtestframework import ScadIntegrationTestCase, IntegrationTest
|
||||
import unittest
|
||||
|
||||
|
||||
class bins(ScadIntegrationTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.int_test = IntegrationTest("gridfinity-rebuilt-bins.scad")
|
||||
|
||||
def test_default(self) -> None:
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_2x2x3(self) -> None:
|
||||
self.int_test.add_arguments(gridx=2, gridy=2, gridz=3)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_compartment_3x2(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=6, divx=3, divy=2, style_tab=5)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
@unittest.skip("Feature broken, fixed in another branch")
|
||||
def test_style_corner(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=2, gridy=2, gridz=6, style_corner=True)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_gridz_define_1(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=20, gridz_define=1)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_gridz_define_2(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=30, gridz_define=2)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_no_holes(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=6, style_hole=0)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_div_base_2x3(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=6, div_base_x=2, div_base_y=3)
|
||||
self.run_test(self.int_test)
|
33
tests/test_int_lite.py
Normal file
33
tests/test_int_lite.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
from openscadtestframework import ScadIntegrationTestCase, IntegrationTest
|
||||
|
||||
|
||||
class lite(ScadIntegrationTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.int_test = IntegrationTest("gridfinity-rebuilt-lite.scad")
|
||||
|
||||
def test_default(self) -> None:
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_2x2x3(self) -> None:
|
||||
self.int_test.add_arguments(gridx=2, gridy=2, gridz=3)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_compartment_3x2(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=6, divx=3, divy=2, style_tab=5)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_gridz_define_1(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=20, gridz_define=1)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_gridz_define_2(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=30, gridz_define=2)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_div_base_2x3(self) -> None:
|
||||
self.int_test.add_arguments(
|
||||
gridx=1, gridy=1, gridz=6, div_base_x=2, div_base_y=3)
|
||||
self.run_test(self.int_test)
|
21
tests/test_int_vase.py
Normal file
21
tests/test_int_vase.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
from openscadtestframework import ScadIntegrationTestCase, IntegrationTest
|
||||
|
||||
|
||||
class vase(ScadIntegrationTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.int_test = IntegrationTest("gridfinity-spiral-vase.scad")
|
||||
|
||||
def test_default(self) -> None:
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_default_base(self) -> None:
|
||||
self.int_test.add_arguments(type=1)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_printer_settings(self) -> None:
|
||||
self.int_test.add_arguments(nozzle=0.8, layer=0.5, bottom_layer=2)
|
||||
self.run_test(self.int_test)
|
||||
|
||||
def test_general_bin_settings(self) -> None:
|
||||
self.int_test.add_arguments(gridx=2, gridy=2, gridz=3, n_divx=4)
|
||||
self.run_test(self.int_test)
|
14
tests/test_unit_baseplate.py
Normal file
14
tests/test_unit_baseplate.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from openscadtestframework import ScadModuleTestCase, Module, ModuleTest
|
||||
|
||||
|
||||
class cutter_weight(ScadModuleTestCase):
|
||||
|
||||
def test_cutter_weight(self) -> None:
|
||||
module = Module.from_file(
|
||||
"cutter_weight", "gridfinity-rebuilt-baseplate.scad")
|
||||
|
||||
module_test = ModuleTest(module)
|
||||
module_test.add_constants_file("gridfinity-constants.scad")
|
||||
module_test.add_dependency(Module.from_file(
|
||||
"pattern_circular", "gridfinity-rebuilt-utility.scad"))
|
||||
self.scad_module_test(module_test)
|
138
tests/test_unit_utility.py
Normal file
138
tests/test_unit_utility.py
Normal file
|
@ -0,0 +1,138 @@
|
|||
from openscadtestframework import ScadModuleTestCase, Module, ModuleTest, Cube, Square
|
||||
|
||||
|
||||
class block_base(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"block_base_hole", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
self.module_test.add_constants_file("gridfinity-constants.scad")
|
||||
|
||||
def test_hole_style_0(self) -> None:
|
||||
self.module_test.add_arguments(style_hole=0)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_hole_style_1(self) -> None:
|
||||
self.module_test.add_arguments(style_hole=1)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_hole_style_2(self) -> None:
|
||||
self.module_test.add_arguments(style_hole=2)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_hole_style_3(self) -> None:
|
||||
self.module_test.add_arguments(style_hole=3)
|
||||
self.module_test.add_dependency(Module.from_file(
|
||||
"copy_mirror", "gridfinity-rebuilt-utility.scad"))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class rounded_rectangle(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"rounded_rectangle", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
|
||||
def test_basic(self) -> None:
|
||||
self.module_test.add_arguments(50, 35, 20, 5)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_basic_different(self) -> None:
|
||||
self.module_test.add_arguments(30, 60, 50, 2)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class pattern_linear(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"pattern_linear", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
|
||||
def test_no_values(self) -> None:
|
||||
self.module_test.add_child(Cube([1, 2, 3], True))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_x_axis(self) -> None:
|
||||
self.module_test.add_arguments(x=3, sx=10)
|
||||
self.module_test.add_child(Cube([1, 2, 3], True))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_y_axis(self) -> None:
|
||||
self.module_test.add_arguments(y=3, sy=10)
|
||||
self.module_test.add_child(Cube([1, 2, 3], True))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_both_axes(self) -> None:
|
||||
self.module_test.add_arguments(x=3, y=3, sx=10, sy=10)
|
||||
self.module_test.add_child(Cube([1, 2, 3], True))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class pattern_circular(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"pattern_circular", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
|
||||
def test_no_args(self) -> None:
|
||||
self.module_test.add_child(Cube([1, 2, 3], False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_3(self) -> None:
|
||||
self.module_test.add_arguments(3)
|
||||
self.module_test.add_child(Cube([1, 2, 3], False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class copy_mirror(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"copy_mirror", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
|
||||
def test_no_args(self) -> None:
|
||||
self.module_test.add_child(Cube([1, 2, 3], False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_with_args(self) -> None:
|
||||
self.module_test.add_arguments([8, 4, 9])
|
||||
self.module_test.add_child(Cube([1, 2, 3], False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class rounded_square(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"rounded_square", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
self.module_test.add_dependency(Module.from_file(
|
||||
"rounded_rectangle", "gridfinity-rebuilt-utility.scad"))
|
||||
|
||||
def test(self) -> None:
|
||||
self.module_test.add_arguments(20, 30, 2)
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
|
||||
class sweep_rounded(ScadModuleTestCase):
|
||||
def setUp(self) -> None:
|
||||
self.module = Module.from_file(
|
||||
"sweep_rounded", "gridfinity-rebuilt-utility.scad")
|
||||
self.module_test = ModuleTest(self.module)
|
||||
self.module_test.add_dependency(Module.from_file(
|
||||
"pattern_circular", "gridfinity-rebuilt-utility.scad"))
|
||||
self.module_test.add_dependency(Module.from_file(
|
||||
"copy_mirror", "gridfinity-rebuilt-utility.scad"))
|
||||
|
||||
def test_no_args(self) -> None:
|
||||
self.module_test.add_child(Square(5, False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_width(self) -> None:
|
||||
self.module_test.add_arguments(w=50)
|
||||
self.module_test.add_child(Square(5, False))
|
||||
self.scad_module_test(self.module_test)
|
||||
|
||||
def test_height(self) -> None:
|
||||
self.module_test.add_arguments(h=50)
|
||||
self.module_test.add_child(Square(5, False))
|
||||
self.scad_module_test(self.module_test)
|
Loading…
Reference in a new issue