1
0
Fork 0
mirror of https://github.com/Luzifer/3dmodels.git synced 2024-12-23 02:41:19 +00:00

Add towelholder

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2020-04-10 21:49:40 +02:00
parent 8caa9a80d3
commit d00f3652d5
Signed by: luzifer
GPG key ID: DC2729FDD34BE99E
3 changed files with 14342 additions and 0 deletions

View file

@ -8,3 +8,4 @@ In case you have use for those models thankfully to Github you can preview all m
| ----- | ------ | ------- | ----- |
| [`razorholder.stl`](razorholder.stl) | [`razorholder.jscad`](razorholder.jscad) | 0.1.0 | Holder for T-Shape razor |
| [`sonoff_dev_housing.stl`](sonoff_dev_housing.stl) | [`sonoff_dev_housing.jscad`](sonoff_dev_housing.jscad) | 0.2.6 | Sonoff DEV box for lamp post |
| [`towelholder.stl`](towelholder.stl) | [`towelholder.jscad`](towelholder.jscad) | 0.1.0 | Kitchen-towel holder for fridge |

59
towelholder.jscad Normal file
View file

@ -0,0 +1,59 @@
/*
* title : Kitchen-towel holder for fridge
* author : Knut Ahlers
* revision : 0.1.0
*/
function main () {
return union(
gen_holder(true),
gen_holder(false),
gen_ring().translate([-30, -30, 0]),
gen_ring().translate([-30, 30, 0])
)
}
function gen_holder(left) {
return difference(
cube({ size: [97, 15, 77] }),
cube({ size: [74, 15, 24] }).translate([0, 0, 53]), // Empty space front top
cube({ size: [17, 15, 74] }).translate([77, 0, 0]), // Door
cube({ size: [3, 15, 54] }).translate([94, 0, 0]), // Shorten back holder
cylinder({ r: 19.75, h: 5 }).rotateX(-90).translate([26.5, left ? 0 : 10, 26.5]),
difference(
cylinder({ r: 22.5, h: 5 }),
difference(
union(
cube({ size: [51, 5, 5] }).translate([-25.5, -2.5, 0]),
cube({ size: [5, 51, 5] }).translate([-2.5, -25.5, 0])
),
cylinder({ r: 19.75, h: 5 })
)
).rotateX(-90).translate([26.5, left ? 5 : 5, 26.5]),
intersection(
difference(
union(
cube({ size: [45, 5, 5] }).translate([-22.5, -2.5, 0]),
cube({ size: [5, 45, 5] }).translate([-2.5, -22.5, 0])
),
cylinder({ r: 19.75, h: 5 })
),
cylinder({ r: 22.5, h: 5 })
).rotateZ(45).rotateX(-90).translate([26.5, left ? 0 : 10, 26.5])
).translate([0, 0, 10]).rotateX(left ? -90 : 90).translate([0, 0, left ? 15 : 0])
}
function gen_ring() {
return difference(
intersection(
union(
cylinder({ r: 19.5, h: 10 }),
cube({ size: [51, 4.5, 4.5] }).translate([-25.5, -2.25, 0])
),
cylinder({ r: 22.5, h: 10 })
),
cylinder({ r: 16.5, h: 10 })
)
}
// vim: set ft=javascript:

14282
towelholder.stl Normal file

File diff suppressed because it is too large Load diff