Skip to content

Instantly share code, notes, and snippets.

@Cdaprod
Created May 8, 2024 23:41
Show Gist options
  • Save Cdaprod/7b252df895005b0051d77649ab5f907c to your computer and use it in GitHub Desktop.
Save Cdaprod/7b252df895005b0051d77649ab5f907c to your computer and use it in GitHub Desktop.

To accommodate a display centered on one open side of the rectangular housing, you'll need to modify the 3D model so that the display side has an open frame. I'll provide an STL description that maintains the 3:4:3 ratio, with an open side that would support a centered display occupying the majority of that side.

Assumptions:

  • The display will be centered and take up 80% of the open side (length and width).
  • We'll assume the side being opened is the largest (length by width), leaving a frame on each edge.

Here's an updated STL with the open side:

solid rectangular_housing_with_display
  // Bottom face
  facet normal 0 0 -1
    outer loop
      vertex 0 0 0
      vertex 3 0 0
      vertex 0 4 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3 0 0
      vertex 3 4 0
      vertex 0 4 0
    endloop
  endfacet

  // Side 1 (front face) with display opening
  facet normal 0 1 0
    outer loop
      vertex 0 4 0
      vertex 3 4 0
      vertex 0 4 3
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 3 4 0
      vertex 3 4 3
      vertex 0 4 3
    endloop
  endfacet

  // Side 2
  facet normal -1 0 0
    outer loop
      vertex 0 0 0
      vertex 0 4 0
      vertex 0 0 3
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0 4 0
      vertex 0 4 3
      vertex 0 0 3
    endloop
  endfacet

  // Side 3
  facet normal 1 0 0
    outer loop
      vertex 3 0 0
      vertex 3 4 0
      vertex 3 0 3
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 3 4 0
      vertex 3 4 3
      vertex 3 0 3
    endloop
  endfacet

  // Top face
  facet normal 0 0 1
    outer loop
      vertex 0 0 3
      vertex 3 0 3
      vertex 0 4 3
    endloop
  endfacet
  facet normal 0 0 1
    outer loop
      vertex 3 0 3
      vertex 3 4 3
      vertex 0 4 3
    endloop
  endfacet

  // Back face with display frame
  facet normal 0 -1 0
    outer loop
      vertex 0 0 0
      vertex 3 0 0
      vertex 0 0 3
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 3 0 0
      vertex 3 0 3
      vertex 0 0 3
    endloop
  endfacet

  // Opening for the centered display
  facet normal 0 -1 0
    outer loop
      vertex 0.3 0 0.3
      vertex 2.7 0 0.3
      vertex 0.3 0 2.7
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 2.7 0 0.3
      vertex 2.7 0 2.7
      vertex 0.3 0 2.7
    endloop
  endfacet
endsolid

Explanation:

  • The back face (which will contain the display opening) is defined with a frame by leaving a border around the centered display.
  • The centered display frame measures 80% of the full dimensions of the back face, providing an even border on all four sides.
  • Adjust the frame size to fit your specific display requirements by changing the inner border values.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment