diff --git a/notebook_nueva/front_bezel.stl b/notebook_nueva/front_bezel.stl
new file mode 100644
index 0000000..81fead3
Binary files /dev/null and b/notebook_nueva/front_bezel.stl differ
diff --git a/notebook_nueva/hinged_lid.py b/notebook_nueva/hinged_lid.py
index c26501e..b5738d3 100644
--- a/notebook_nueva/hinged_lid.py
+++ b/notebook_nueva/hinged_lid.py
@@ -39,6 +39,15 @@ mounting_pillars = (
# printing small samples
hinge_slant = shell_t + 2
+# M3 hex nut dimensions
+m3_hn_diam = 5.5
+m3_hn_hole = 3
+m3_hn_thickness = 2.5
+
+bezel_width = m3_hn_diam + 2
+bezel_height = 1
+bezel_thickness = 2
+
def model():
# Create a 2-part hinged lid
@@ -228,14 +237,6 @@ def model():
.cutBlind(-hinge_width / 2 - 1)
)
- # M3 hex nut dimensions
- m3_hn_diam = 5.5 / 2
- m3_hn_hole = 1.5
- m3_hn_thickness = 2.5
-
- bezel_width = 5
- bezel_height = shell_t
-
# Screen mount
model = (
# 1st layer
@@ -254,16 +255,6 @@ def model():
.fillet(2)
)
.extrude(-2 - screen_mount.scr_thickness)
- # Holes for captured nuts
- .workplaneFromTagged("screen_plane")
- .workplane(offset=1)
- .rect(
- screen_mount.scr_w + 2 * bezel_width - m3_hn_diam - 1,
- screen_mount.scr_h + 2 * bezel_height - m3_hn_diam - 1,
- forConstruction=True,
- )
- .vertices()
- .hole(m3_hn_diam, depth=m3_hn_thickness + 0.5)
# Hole for screws
.workplaneFromTagged("screen_plane")
.workplane(offset=1)
@@ -274,15 +265,25 @@ def model():
)
.vertices()
.hole(m3_hn_hole, depth=10)
- # Hole to place screen
+ # Holes for captured nuts
+ .workplaneFromTagged("screen_plane")
+ .workplane(offset=1)
+ .rect(
+ screen_mount.scr_w + 2 * bezel_width - m3_hn_diam - 1,
+ screen_mount.scr_h + 2 * bezel_height - m3_hn_diam - 1,
+ forConstruction=True,
+ )
+ .vertices()
+ .hole(m3_hn_diam, depth=m3_hn_thickness + 0.5)
+ # Remove middle of the screen holder
.workplaneFromTagged("screen_plane")
.placeSketch(
cq.Sketch().trapezoid(
- screen_mount.scr_w - 40, screen_mount.scr_h + 2 * shell_t, 90
+ screen_mount.scr_w - 40, screen_mount.scr_h + 2 * bezel_height, 90
)
)
.cutBlind(-100)
- # Remove middle of the screen holder
+ # Hole to place screen
.workplaneFromTagged("screen_plane")
.workplane(offset=-screen_mount.scr_thickness - 2)
.placeSketch(cq.Sketch().trapezoid(screen_mount.scr_w, screen_mount.scr_h, 90))
@@ -314,11 +315,83 @@ def model():
return model
+def front_bezel():
+ model = (
+ cq.Workplane("XY")
+ # Hollow box
+ .tag("base")
+ .placeSketch(
+ cq.Sketch()
+ .trapezoid(
+ screen_mount.scr_w + 2 * bezel_width + 2 * bezel_thickness,
+ screen_mount.scr_h + 2 * bezel_height + 2 * bezel_thickness,
+ 90,
+ )
+ .vertices()
+ .fillet(2)
+ )
+ .extrude(-2 - screen_mount.scr_thickness - bezel_thickness)
+ .workplaneFromTagged("base")
+ .workplane(offset=-bezel_thickness)
+ .placeSketch(
+ cq.Sketch()
+ .trapezoid(
+ screen_mount.scr_w + 2 * bezel_width,
+ screen_mount.scr_h + 2 * bezel_height,
+ 90,
+ )
+ .vertices()
+ .fillet(2)
+ )
+ .cutBlind(-100)
+ # Holes for screws
+ .workplaneFromTagged("base")
+ .rect(
+ screen_mount.scr_w + 2 * bezel_width - m3_hn_diam - 1,
+ screen_mount.scr_h + 2 * bezel_height - m3_hn_diam - 1,
+ forConstruction=True,
+ )
+ .vertices()
+ .hole(m3_hn_hole, depth=10)
+ # Viewport hole
+ .workplaneFromTagged("base")
+ .placeSketch(
+ cq.Sketch()
+ .trapezoid(
+ screen_mount.vis_w,
+ screen_mount.vis_h,
+ 90,
+ )
+ .vertices()
+ .fillet(2)
+ )
+ .cutBlind("last")
+ # Cable gap
+ .workplaneFromTagged("base")
+ .workplane(offset=-screen_mount.scr_thickness - bezel_thickness)
+ .center(0, 10)
+ .placeSketch(
+ cq.Sketch()
+ .trapezoid(
+ screen_mount.vis_w,
+ screen_mount.vis_h,
+ 90,
+ )
+ .vertices()
+ .fillet(2)
+ )
+ .cutBlind(-10)
+ )
+ return model
+
+
if __name__ == "__main__":
model = model()
exporters.export(model, "hinged_lid.stl")
+ exporters.export(front_bezel(), "front_bezel.stl")
+
exporters.export(
model,
"hinged_lid.svg",
diff --git a/notebook_nueva/hinged_lid.stl b/notebook_nueva/hinged_lid.stl
index 7810639..41a2f16 100644
Binary files a/notebook_nueva/hinged_lid.stl and b/notebook_nueva/hinged_lid.stl differ
diff --git a/notebook_nueva/hinged_lid.svg b/notebook_nueva/hinged_lid.svg
index 9ed22e3..d8966a9 100644
--- a/notebook_nueva/hinged_lid.svg
+++ b/notebook_nueva/hinged_lid.svg
@@ -39,18 +39,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -198,10 +198,10 @@
-
-
-
-
+
+
+
+
@@ -216,14 +216,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -288,22 +288,22 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -358,13 +358,13 @@
-
-
+
+
-
-
+
+
diff --git a/notebook_nueva/left_hinged_lid.stl b/notebook_nueva/left_hinged_lid.stl
index a6ef6cc..a11c329 100644
Binary files a/notebook_nueva/left_hinged_lid.stl and b/notebook_nueva/left_hinged_lid.stl differ
diff --git a/notebook_nueva/right_hinged_lid.stl b/notebook_nueva/right_hinged_lid.stl
index 2ca9746..1fe827e 100644
Binary files a/notebook_nueva/right_hinged_lid.stl and b/notebook_nueva/right_hinged_lid.stl differ