Compare commits
No commits in common. "9f717cd941d0ca816e2188bd2098ddd1a6e3ef89" and "5e0dd0dee8d371fa1390060b042df1a36d45869a" have entirely different histories.
9f717cd941
...
5e0dd0dee8
19 changed files with 1 additions and 397 deletions
13
.actrc
13
.actrc
|
@ -1,13 +0,0 @@
|
||||||
--action-cache-path .github/cache/act/actions
|
|
||||||
--artifact-server-path .github/cache/act/artifacts
|
|
||||||
--artifact-server-port 22002
|
|
||||||
--cache-server-path .github/cache/act/cache
|
|
||||||
--use-new-action-cache
|
|
||||||
--var-file .act.vars
|
|
||||||
--secret-file .act.secrets
|
|
||||||
--pull=false
|
|
||||||
--platform self-hosted=ghcr.io/catthehacker/ubuntu:act-latest
|
|
||||||
--platform ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest
|
|
||||||
--platform ubuntu-22.04=ghcr.io/catthehacker/ubuntu:act-22.04
|
|
||||||
--platform ubuntu-20.04=ghcr.io/catthehacker/ubuntu:act-20.04
|
|
||||||
--platform ubuntu-18.04=ghcr.io/catthehacker/ubuntu:act-18.04
|
|
34
.github/workflows/scad.yml
vendored
34
.github/workflows/scad.yml
vendored
|
@ -1,34 +0,0 @@
|
||||||
name: Deploy To Production
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
permissions: read-all
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
render:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
part:
|
|
||||||
- Lid
|
|
||||||
- Bottom
|
|
||||||
- Latch
|
|
||||||
- Seal
|
|
||||||
steps:
|
|
||||||
- name: Setup
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Render
|
|
||||||
run: |
|
|
||||||
docker run \
|
|
||||||
-v ${{ github.workspace }}:/workspace/ \
|
|
||||||
openscad/openscad \
|
|
||||||
-D View=\"${{ matrix.part }}\" \
|
|
||||||
-o /workspace/${{ matrix.part }}.stl \
|
|
||||||
/workspace/smokebox.scad
|
|
||||||
- name: Upload
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: smokebox-${{ matrix.part }}.stl
|
|
||||||
path: ${{ github.workspace }}/${{ matrix.part }}.stl
|
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,4 +0,0 @@
|
||||||
/.idea
|
|
||||||
/out
|
|
||||||
/.act.secrets
|
|
||||||
/.github/cache
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
||||||
[submodule "lib/openscad-parametric-boxes"]
|
|
||||||
path = lib/openscad-parametric-boxes
|
|
||||||
url = https://code.techinc.nl/grey/openscad-parametric-boxes.git
|
|
9
.trunk/.gitignore
vendored
9
.trunk/.gitignore
vendored
|
@ -1,9 +0,0 @@
|
||||||
*out
|
|
||||||
*logs
|
|
||||||
*actions
|
|
||||||
*notifications
|
|
||||||
*tools
|
|
||||||
plugins
|
|
||||||
user_trunk.yaml
|
|
||||||
user.yaml
|
|
||||||
tmp
|
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
skip-check:
|
|
||||||
- CKV_SECRET_* # Skip all checks that start with CKV_SECRET, we already have gitleaks doing this.
|
|
|
@ -1,12 +0,0 @@
|
||||||
title = "Gitleaks config"
|
|
||||||
[extend]
|
|
||||||
useDefault = true
|
|
||||||
|
|
||||||
[allowlist]
|
|
||||||
paths = [
|
|
||||||
'''helix/tests/Cassettes/(.*?).cassette''',
|
|
||||||
'''helix/tests/Integration/(.*?).http''',
|
|
||||||
'''helix/tests/Integration/(.*?).env.json''',
|
|
||||||
'''helix/tests/*''',
|
|
||||||
'''.docker/base-image/php/self-signed-certificates/example.key''',
|
|
||||||
]
|
|
|
@ -1,7 +0,0 @@
|
||||||
ignored:
|
|
||||||
- DL3006
|
|
||||||
- DL3008
|
|
||||||
- SC1090
|
|
||||||
- SC1091
|
|
||||||
- SC2043
|
|
||||||
- SC2312
|
|
|
@ -1,10 +0,0 @@
|
||||||
# Autoformatter friendly markdownlint config (all formatting rules disabled)
|
|
||||||
default: true
|
|
||||||
blank_lines: false
|
|
||||||
bullet: false
|
|
||||||
html: false
|
|
||||||
indentation: false
|
|
||||||
line_length: false
|
|
||||||
spaces: false
|
|
||||||
url: false
|
|
||||||
whitespace: false
|
|
|
@ -1,7 +0,0 @@
|
||||||
enable=all
|
|
||||||
source-path=SCRIPTDIR
|
|
||||||
disable=SC2154
|
|
||||||
|
|
||||||
# If you're having issues with shellcheck following source, disable the errors via:
|
|
||||||
# disable=SC1090
|
|
||||||
# disable=SC1091
|
|
|
@ -1,16 +0,0 @@
|
||||||
config {
|
|
||||||
format = "compact"
|
|
||||||
module = true
|
|
||||||
plugin_dir = "~/.tflint.d/plugins"
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin "terraform" {
|
|
||||||
enabled = true
|
|
||||||
preset = "recommended"
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin "aws" {
|
|
||||||
enabled = true
|
|
||||||
version = "0.27.0"
|
|
||||||
source = "github.com/terraform-linters/tflint-ruleset-aws"
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
extends: relaxed
|
|
||||||
rules:
|
|
||||||
quoted-strings:
|
|
||||||
required: only-when-needed
|
|
||||||
extra-allowed: ["{|*}"]
|
|
||||||
empty-values:
|
|
||||||
forbid-in-block-mappings: false
|
|
||||||
forbid-in-flow-mappings: false
|
|
||||||
ignore:
|
|
||||||
- .github/workflows/*.yml
|
|
||||||
key-duplicates: {}
|
|
||||||
octal-values:
|
|
||||||
forbid-implicit-octal: true
|
|
||||||
document-start: disable
|
|
||||||
line-length: disable
|
|
|
@ -1,14 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
plugins: [
|
|
||||||
{
|
|
||||||
name: "preset-default",
|
|
||||||
params: {
|
|
||||||
overrides: {
|
|
||||||
removeViewBox: false, // https://github.com/svg/svgo/issues/1128
|
|
||||||
sortAttrs: true,
|
|
||||||
removeOffCanvasPaths: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
|
@ -1,2 +0,0 @@
|
||||||
disable-rules:
|
|
||||||
- DS002
|
|
|
@ -1,37 +0,0 @@
|
||||||
# This file controls the behavior of Trunk: https://docs.trunk.io/cli
|
|
||||||
# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml
|
|
||||||
version: 0.1
|
|
||||||
cli:
|
|
||||||
version: 1.22.2
|
|
||||||
# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins)
|
|
||||||
plugins:
|
|
||||||
sources:
|
|
||||||
- id: trunk
|
|
||||||
ref: v1.6.1
|
|
||||||
uri: https://github.com/trunk-io/plugins
|
|
||||||
# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes)
|
|
||||||
runtimes:
|
|
||||||
enabled:
|
|
||||||
- node@18.12.1
|
|
||||||
- python@3.10.8
|
|
||||||
# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration)
|
|
||||||
lint:
|
|
||||||
enabled:
|
|
||||||
- actionlint@1.7.1
|
|
||||||
- checkov@3.2.216
|
|
||||||
- git-diff-check
|
|
||||||
- prettier@3.3.3
|
|
||||||
- trivy@0.54.0
|
|
||||||
- trufflehog@3.80.3
|
|
||||||
- yamllint@1.35.1
|
|
||||||
actions:
|
|
||||||
enabled:
|
|
||||||
- trunk-announce
|
|
||||||
- trunk-check-pre-push
|
|
||||||
- trunk-fmt-pre-commit
|
|
||||||
- trunk-upgrade-available
|
|
||||||
tools:
|
|
||||||
enabled:
|
|
||||||
- act@0.2.64
|
|
||||||
disabled:
|
|
||||||
- trufflehog
|
|
|
@ -1,5 +1,3 @@
|
||||||
# openscad-smoke-box
|
# openscad-smoke-box
|
||||||
|
|
||||||
Silly little box to hold some smoking accessories. Example project in openscad harnessing someone elses parametric box maker.
|
Silly little box to hold some smoking accessories. Example project in openscad harnessing someone elses parametric box maker
|
||||||
|
|
||||||
Pipelines are fun.
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 6cdf0fafc385e8426998954ebd47613ddc8a69d2
|
|
207
smokebox.scad
207
smokebox.scad
|
@ -1,207 +0,0 @@
|
||||||
//*******************************************************************************************************
|
|
||||||
//
|
|
||||||
// Universal parametic rugged Box
|
|
||||||
//
|
|
||||||
// 2023 by Rainer Backes
|
|
||||||
//
|
|
||||||
// based on ideas of yanew and Whity
|
|
||||||
//
|
|
||||||
//*******************************************************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
/* [View] */
|
|
||||||
// Select View
|
|
||||||
View="Bottom"; // [Complete, Complete Open, Parts, Lid, Bottom, Latch, Seal ]
|
|
||||||
// Open Angle for complete Open
|
|
||||||
ViewAngle = 120; //[0:180]
|
|
||||||
|
|
||||||
/* [General] */
|
|
||||||
|
|
||||||
// Depth of Inner Box (available space)
|
|
||||||
InnerBoxDepth = 80;
|
|
||||||
// Width of Inner Box (available space)
|
|
||||||
InnerBoxWidth= 200;
|
|
||||||
// Hight of bottom part of Inner Box (available space) >= 16
|
|
||||||
InnerBoxBottomHeight = 33.5;
|
|
||||||
// Hight of top part of Inner Box (available space)
|
|
||||||
InnerBoxLidHeight=8;
|
|
||||||
// Cornet Radius of Inner Box (vertical)
|
|
||||||
InnerCornerRadius=3;
|
|
||||||
// Chamfer of inner Box (horizontal)
|
|
||||||
InnerChamferSize=1.5;
|
|
||||||
|
|
||||||
// Length of Screw
|
|
||||||
ScrewLength=30;
|
|
||||||
// Diameter of Screw
|
|
||||||
ScrewDiameter=3;
|
|
||||||
// Tolerance for Latch holes
|
|
||||||
ScrewTol = 0.4;
|
|
||||||
|
|
||||||
ScrewThreadDiameter=ScrewDiameter-0.15;
|
|
||||||
// Wall Thickness
|
|
||||||
WallThickness=2.4;
|
|
||||||
// Number of Hinges(1-3)
|
|
||||||
NumHinge=2;
|
|
||||||
// Number of Latches (1-3)
|
|
||||||
NumLatch=2;
|
|
||||||
// Additional Height for TPU-Seal
|
|
||||||
TSealHeight = 0;
|
|
||||||
// Apply Interior to Lid
|
|
||||||
InteriorToLid=false;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [Hinges] */
|
|
||||||
// Offset of Hinge and Latchs to inner side corner
|
|
||||||
HingeLatchOffset = 12;
|
|
||||||
|
|
||||||
HingeWidthTolerance=0.25;
|
|
||||||
|
|
||||||
// With of Front and Back Ribs
|
|
||||||
HingeLatchRibWidth=3.2;
|
|
||||||
|
|
||||||
HingeOuterDiameter=6.8;
|
|
||||||
HingeOuterExtend=3;
|
|
||||||
HingeBottomLength=HingeLatchRibWidth+HingeOuterExtend;
|
|
||||||
HingeLidLength=ScrewLength-2*HingeBottomLength-HingeWidthTolerance;
|
|
||||||
|
|
||||||
/* [Side Ribs] */
|
|
||||||
// Number of Side rib Pairs
|
|
||||||
NumRibs=1;
|
|
||||||
// if more than 1 Side Rib Pair, distance of Ribs to the inner corner
|
|
||||||
RibOffset=18;
|
|
||||||
// Width of Ribs
|
|
||||||
RibWidth=5;
|
|
||||||
// Distance between Ribs
|
|
||||||
RibDist=20;
|
|
||||||
|
|
||||||
|
|
||||||
/* [Latches] */
|
|
||||||
// Distance of the screws making the Latch
|
|
||||||
LatchDistance=16;
|
|
||||||
// Latch Displacement downwards
|
|
||||||
LatchDisplacement = 2;
|
|
||||||
|
|
||||||
LatchWidthTolerance=0.4;
|
|
||||||
BoxLatchRibChamfer=17;
|
|
||||||
LidLatchRibChamfer=13;
|
|
||||||
|
|
||||||
|
|
||||||
// Latch: Radius of the rounding
|
|
||||||
LatchRoundRad= 15;
|
|
||||||
// Latch Wall thickness
|
|
||||||
LatchWall=3;
|
|
||||||
// Length of the Latch Handle
|
|
||||||
LatchHandleLen= 11;
|
|
||||||
// Ofset of Handle from vertical
|
|
||||||
LatchHandleOfs=4;
|
|
||||||
|
|
||||||
|
|
||||||
/* [Seal] */
|
|
||||||
// Height of Seal
|
|
||||||
SealHeight=1.4;
|
|
||||||
// Height of Lid protion, if TPUSeal > 0
|
|
||||||
TSealLid = 0.5;
|
|
||||||
// Tolerance for the TPU-Seal ( 1 layer )
|
|
||||||
TSealTol = 0.2;
|
|
||||||
|
|
||||||
SealWall=WallThickness/2;
|
|
||||||
// Additional wall tickness of box for seal
|
|
||||||
SealThick=1.9;
|
|
||||||
// Toleance
|
|
||||||
SealTol=0.2;
|
|
||||||
// Chanfer Angle for Seal-Support
|
|
||||||
SealCAng=70;
|
|
||||||
// Heigth of Seal support
|
|
||||||
SealBHeigh=8;
|
|
||||||
|
|
||||||
/* [Interior] */
|
|
||||||
// default Width of interior Walls
|
|
||||||
iWall = 1;
|
|
||||||
|
|
||||||
lighterLength = 181;
|
|
||||||
lighterDia = 24;
|
|
||||||
|
|
||||||
fingerIndentSize = 18;
|
|
||||||
|
|
||||||
grinderHeight = 36.5+2;
|
|
||||||
grinderDia = 49.5+1;
|
|
||||||
|
|
||||||
module fingerIndent(){
|
|
||||||
color("red"){
|
|
||||||
hull()translate([0,0,-8]){
|
|
||||||
sphere(d=fingerIndentSize);
|
|
||||||
translate([0,0,fingerIndentSize/2])
|
|
||||||
cylinder(d=fingerIndentSize, center=true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
module cutout(){
|
|
||||||
translate([0,20,-12.5])
|
|
||||||
hull(){
|
|
||||||
rotate([0,90,0])
|
|
||||||
cylinder(h=lighterLength,d=lighterDia,center=true);
|
|
||||||
translate([0,0,12])
|
|
||||||
cube([lighterLength,lighterDia,1],center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([65,-20,grinderHeight/-2+5])
|
|
||||||
cylinder(h=grinderHeight,d=grinderDia,center=true);
|
|
||||||
|
|
||||||
hull(){
|
|
||||||
translate([30,0,38/-2+2.5])
|
|
||||||
cylinder(h=38-5,d=10,center=true);
|
|
||||||
translate([30,-38,38/-2+2.5])
|
|
||||||
cylinder(h=38-5,d=10,center=true);
|
|
||||||
translate([-86,0,38/-2+2.5])
|
|
||||||
cylinder(h=38-5,d=10,center=true);
|
|
||||||
translate([-86,-38,38/-2+2.5])
|
|
||||||
cylinder(h=38-5,d=10,center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
translate([lighterLength/2,20,0])fingerIndent();
|
|
||||||
translate([lighterLength/-2,20,0])fingerIndent();
|
|
||||||
hull(){
|
|
||||||
translate([lighterLength/2-52+5,-19,0])fingerIndent();
|
|
||||||
translate([lighterLength/2-52-5,-19,0])fingerIndent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Interior definition, everything here get masked an added to the interior of bottom and optional lid
|
|
||||||
module Interior (){
|
|
||||||
difference(){
|
|
||||||
cube([InnerBoxDepth,InnerBoxWidth,InnerBoxBottomHeight-3]);
|
|
||||||
translate([40,200/2,0])
|
|
||||||
rotate([0,0,180+90])
|
|
||||||
translate([0,5,33+2])
|
|
||||||
cutout();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// evertything here gets substracted (difference() ) from the lid
|
|
||||||
module liddiff () {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// evertything here gets added to the lid
|
|
||||||
module lidadd () {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// evertything here gets substracted (difference() ) from the bottom
|
|
||||||
module bottomdiff () {
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// evertything here gets added to the bottom
|
|
||||||
|
|
||||||
module bottomadd () {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
include <lib/openscad-parametric-boxes/rugbox.scad>
|
|
Loading…
Reference in a new issue