diff --git a/notebook_nueva/.vscode/settings.json b/notebook_nueva/.vscode/settings.json
new file mode 100644
index 0000000..d59a47a
--- /dev/null
+++ b/notebook_nueva/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "python.formatting.provider": "black",
+ "emeraldwalk.runonsave": {
+ "commands": [
+ {
+ "match": ".py",
+ "isAsync": true,
+ "cmd": "make"
+ }
+ }
+ }
\ No newline at end of file
diff --git a/notebook_nueva/Makefile b/notebook_nueva/Makefile
new file mode 100644
index 0000000..7bb2cc9
--- /dev/null
+++ b/notebook_nueva/Makefile
@@ -0,0 +1,6 @@
+STL_FILES = base.stl hinged_lid.stl simple_lid.stl tandy_lid.stl
+
+all: $(STL_FILES)
+
+%.stl: %.py dimensions.py
+ python $<
\ No newline at end of file
diff --git a/notebook_nueva/front_bezel.stl b/notebook_nueva/front_bezel.stl
deleted file mode 100644
index 81fead3..0000000
Binary files a/notebook_nueva/front_bezel.stl and /dev/null differ
diff --git a/notebook_nueva/left_hinged_lid.stl b/notebook_nueva/left_hinged_lid.stl
deleted file mode 100644
index 5348182..0000000
Binary files a/notebook_nueva/left_hinged_lid.stl and /dev/null differ
diff --git a/notebook_nueva/left_screen_mount.stl b/notebook_nueva/left_screen_mount.stl
deleted file mode 100644
index 84a0f8f..0000000
Binary files a/notebook_nueva/left_screen_mount.stl and /dev/null differ
diff --git a/notebook_nueva/left_side.stl b/notebook_nueva/left_side.stl
deleted file mode 100644
index 1479c68..0000000
Binary files a/notebook_nueva/left_side.stl and /dev/null differ
diff --git a/notebook_nueva/left_side_lid.stl b/notebook_nueva/left_side_lid.stl
deleted file mode 100644
index cb0aedb..0000000
Binary files a/notebook_nueva/left_side_lid.stl and /dev/null differ
diff --git a/notebook_nueva/lid.py b/notebook_nueva/lid.py
deleted file mode 100644
index f8f1a39..0000000
--- a/notebook_nueva/lid.py
+++ /dev/null
@@ -1,108 +0,0 @@
-import cadquery as cq
-from cadquery import exporters
-
-import dimensions as dim
-from utils import extrude_shape2, hex_vents, punch_hole
-
-
-def model():
- # Create the basic shape of the case lid
- model = (
- cq.Workplane("XY")
- # Hollow box
- .box(dim.width, dim.sl_height, dim.sl_thickness)
- .edges("|Z and >Y")
- .fillet(2)
- )
-
- # Make many holes
- vent = hex_vents(size=6, width=dim.width * 0.9, height=dim.sl_height * 0.9)[0]
- model = punch_hole(
- model=model,
- face=">Z",
- w=dim.width,
- h=dim.sl_height,
- x_offset=0.05 * dim.width,
- y_offset=0.05 * dim.sl_height,
- hole=vent,
- depth=dim.sl_thickness,
- )
-
- # Add screw holes
- for position in dim.mounting_pillar_positions:
- model = (
- model.faces(">Z")
- .workplane(centerOption="CenterOfBoundBox")
- .center(
- -dim.width / 2 + position[0],
- dim.sl_height / 2 - position[1] - dim.shell_t,
- )
- .placeSketch(cq.Sketch().circle(dim.m4_top / 2 + 1.5))
- .extrude(-dim.sl_thickness)
- .faces(">Z")
- .workplane(centerOption="CenterOfBoundBox")
- .center(
- -dim.width / 2 + position[0],
- dim.sl_height / 2 - position[1] - dim.shell_t,
- )
- .cskHole(dim.m4_bottom, dim.m4_top, 82, depth=None)
- )
-
- # Add front lip
-
- model = (
- model.faces(">Z")
- .workplane(centerOption="CenterOfBoundBox")
- .center(0, -dim.sl_height / 2 + dim.sl_lip_thickness / 2)
- .placeSketch(
- cq.Sketch().trapezoid(dim.width - 2 * dim.shell_t, dim.sl_lip_thickness, 90)
- )
- .extrude(-dim.sl_front_lip - dim.sl_thickness)
- )
-
- return model
-
-
-def decorative_cover():
- # A decorative thingie to cover the ugly seam in the middle
- model = cq.Workplane("XY").box(10, dim.sl_height, 1).edges("|Z").fillet(1)
- vent = hex_vents(
- size=6, width=dim.width * 0.9, height=dim.sl_height * 0.9, density=0.775
- )[0]
-
- model = extrude_shape2(
- model=model,
- face=">Z",
- w=dim.width,
- h=dim.sl_height,
- x_offset=0.05 * dim.width,
- y_offset=0.05 * dim.sl_height,
- hole=vent,
- depth=3,
- )
- return model
-
-
-if __name__ == "__main__":
- model = model()
- exporters.export(model, "lid.stl")
-
- cover = decorative_cover()
- exporters.export(cover, "lid_cover.stl")
-
- exporters.export(
- model,
- "lid.svg",
- opt={
- "projectionDir": (0, 0, 1),
- },
- )
-
- exporters.export(
- model.faces(">X").workplane(offset=-dim.width / 2).split(keepTop=True),
- "right_side_lid.stl",
- )
- exporters.export(
- model.faces(">X").workplane(offset=-dim.width / 2).split(keepBottom=True),
- "left_side_lid.stl",
- )
diff --git a/notebook_nueva/lid.stl b/notebook_nueva/lid.stl
deleted file mode 100644
index a4ef5d1..0000000
Binary files a/notebook_nueva/lid.stl and /dev/null differ
diff --git a/notebook_nueva/lid_cover.stl b/notebook_nueva/lid_cover.stl
deleted file mode 100644
index 939be39..0000000
Binary files a/notebook_nueva/lid_cover.stl and /dev/null differ
diff --git a/notebook_nueva/model.stl b/notebook_nueva/model.stl
deleted file mode 100644
index ee39a77..0000000
Binary files a/notebook_nueva/model.stl and /dev/null differ
diff --git a/notebook_nueva/model.svg b/notebook_nueva/model.svg
deleted file mode 100644
index 09bbd51..0000000
--- a/notebook_nueva/model.svg
+++ /dev/null
@@ -1,3147 +0,0 @@
-
-
diff --git a/notebook_nueva/modelo.py b/notebook_nueva/modelo.py
deleted file mode 100644
index 4a094d8..0000000
--- a/notebook_nueva/modelo.py
+++ /dev/null
@@ -1,208 +0,0 @@
-import cadquery as cq
-from cadquery import exporters
-from cq_warehouse.drafting import Draft
-
-import audio_plug
-import battery_holder
-import hdmi_out
-import keyboard
-import screen_pillars
-import usb_hub
-import zero_holder as cpu_holder
-import dimensions as dim
-
-# Base for the notebook. Basically a kbd base that extends back
-# as much as possible
-
-screen_pillars.init(dim.mounting_pillar_positions, dim.base_thickness - dim.shell_t)
-
-
-def model():
- # Create the basic shape of the case bottom.
- model = (
- cq.Workplane("XY")
- .workplane(offset=dim.base_thickness / 2)
- .tag("mid_height")
- # Hollow box
- .box(dim.width, dim.height, dim.base_thickness)
- .edges("|Z")
- .fillet(2)
- .faces(">Z")
- .shell(-dim.shell_t)
- )
-
- # Now the basic box shape is in place, start adding things
- # and cutting holes.
-
- model = usb_hub.add(
- model=model,
- width=dim.width,
- height=dim.height,
- thickness=dim.base_thickness,
- bottom_face="Z")
- .transformed(rotate=(dim.tl_scr_angle, 0, 0))
- # Move the screen "lower" so it doesn't interfere
- # so much with the back
- .center(0, -2)
- .tag("slanted")
- # Arbitrary huge trapezoid to cut off the material *in front*
- # of the inclined screen
- .placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
- .cutBlind(1000)
- # Trim the top
- .workplaneFromTagged("mid_height")
- .workplane(offset=21)
- .placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
- .cutBlind(100)
- # Make bottom smaller to fit with base
- .faces(">X")
- .workplane(centerOption="CenterOfBoundBox")
- .center(-dim.tl_height / 2, -dim.tl_full_thickness / 2)
- .placeSketch(
- cq.Sketch()
- .polygon(
- [
- (dim.tl_height_bottom, 0),
- (dim.tl_height_bottom, dim.tl_full_thickness / 3),
- (dim.tl_height, dim.tl_full_thickness - 21),
- (dim.tl_height, dim.tl_full_thickness),
- (dim.tl_height + 5, dim.tl_full_thickness + 5),
- (dim.tl_height + 5, 0),
- (dim.tl_height_bottom, 0),
- ]
- )
- .vertices()
- .fillet(3)
- )
- .cutBlind(-1000)
- # Fillet top of the object
- .edges("|X and >Z")
- .fillet(3)
- # Cut off viewport hole so we can see the screen
- .workplaneFromTagged("slanted")
- .placeSketch(viewport_cutout)
- .cutBlind(-dim.shell_t)
- # Make hole for screen assembly so the whole screen fits
- .workplaneFromTagged("slanted")
- .workplane(offset=-dim.shell_t, centerOption="CenterOfBoundBox")
- # Left bezel is wider than right one, so this hole is displaced to the left
- .center(-3, 0)
- .placeSketch(screen_cutout)
- .cutBlind(-dim.scr_thickness)
- # Make it hollow
- .faces("(0, -10, 5)")
- .fillet(2)
- )
-
-
-if __name__ == "__main__":
- model = model()
- exporters.export(model, "screen_mount.stl")
-
- offset_width = -dim.width / 2
-
- right_side = (
- model.faces(">X")
- .workplane(centerOption="CenterOfBoundBox", offset=offset_width)
- .split(keepTop=True)
- )
-
- exporters.export(right_side, "right_screen_mount.stl")
-
- left_side = (
- model.faces(">X")
- .workplane(centerOption="CenterOfBoundBox", offset=offset_width)
- .split(keepBottom=True)
- )
-
- exporters.export(left_side, "left_screen_mount.stl")
diff --git a/notebook_nueva/screen_mount.stl b/notebook_nueva/screen_mount.stl
deleted file mode 100644
index 9874bcb..0000000
Binary files a/notebook_nueva/screen_mount.stl and /dev/null differ