. . . and here it is with the oval logo added and rotated.
Save "nin_no_R.dxf" from the .zip file in the same folder as your OpenSCAD file.
// Fan Grill - Nintendo
// Logo exported from Inkscape to .dxf file using https://github.com/brad/Inkscape-OpenSCAD-DXF-Export
/////////////////////////////
//  Adjustable variables
/////////////////////////////
// Logo
LogoDepth = 7.0; // Overall logo depth
LogoWidth = 213.254; // From inkscape file
LogoHeight = 52.652; // From inkscape file
LogoScale = 0.44; // Desired scale relative to original size i.e. 0.5 will render the logo at half-size
LogoRotation = 4; // Degrees of rotatation for the logo
LogoXOffset = -45.8; // Move the logo on the X-axis
LogoYOffset = -9; // Move the logo on the Y-axis
// Body
Body = 85; // X- and Y-axis size of the grill
BodyThick = 4; // Z-axis thickness of the grill
BodyRoundDia = 6; // Body corner rounding diameter
// Screw holes
ScrewDist = 71.5; // Center-center distance for the screw holes
ScrewLowDia = 5; // Lower diameter for the screw holes
ScrewUpperDia = 8; // Upper diameter for the screw holes - for non-countersunk holes use the same value as ScrewLowDia
// Slots
NumberOfSlots = 6; // The number of slots
SlotSpacing = ScrewDist/NumberOfSlots; // The distance between slots
SlotInset = 4; // The distance between the end of the slot and the edge/screw hole
SlotSmDia = 4; // Slot small diameter
SlotMedDia = 7; // Slot medium diameter (used for first and last slots)
SlotLgDia = 13; // Slot large diameter
// Number of fragments (polygon sides) used to render a full circle.
    $fn = 180; // Default = 180  Typical range = 6 - 360
    // 6 will render a circular hole as a hexagon, 8 will render a circular hole as an octagon.
    // Lower the number for faster rendering, raise the number for smoother rendering.
/////////////////////////////
//  Make the part
/////////////////////////////
// Make the Logo (Optional)
// Comment out the next five lines to skip the logo
translate([LogoXOffset, LogoYOffset, 0])
rotate([0, 0, LogoRotation])
scale([LogoScale, LogoScale, 1])
linear_extrude(height = LogoDepth, convexity = 10)
import(file = "nin_no_R.dxf", layer="Logo");
// The "nin_no_R.dxf" file needs to be in the same directory as this SCAD file.
//
// Make the grill
difference(){ // Body minus screw holes and slots
    // Body
    hull() {
    translate([Body/2 - BodyRoundDia, Body/2 - BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Upper right corner
    translate([Body/2 - BodyRoundDia, - Body/2 + BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Lower right corner
    translate([- Body/2 + BodyRoundDia, - Body/2 + BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Lower left corner
    translate([- Body/2 + BodyRoundDia, Body/2 - BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Upper left corner
    }
    // End body
    // Screw holes
    translate([ScrewDist/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Upper right screw hole
    translate([ScrewDist/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Lower right screw hole
    translate([- ScrewDist/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Lower left screw hole
    translate([- ScrewDist/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Upper left screw hole
    // End screw holes
    // Slot0
    hull() {
    translate([- ScrewDist/2 + SlotInset + ScrewUpperDia/2 + SlotSmDia/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([ScrewDist/2 - SlotInset - ScrewUpperDia/2 - SlotMedDia/2, ScrewDist/2 - SlotMedDia/2 + SlotSmDia/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotMedDia, center=true); // Right cylinder
    }
    // End slot0
    // Slot1
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 1, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 1, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot1
    // Slot2
    hull() {
    translate([- Body/2 + SlotInset + SlotSmDia/2, ScrewDist/2 - SlotSpacing * 2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotLgDia/2, ScrewDist/2 - SlotSpacing * 2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Right cylinder
    }
    // End slot2
    // Slot3
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 3, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 3, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot3
    // Slot4
    hull() {
    translate([- Body/2 + SlotInset + SlotSmDia/2, ScrewDist/2 - SlotSpacing * 4, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotLgDia/2, ScrewDist/2 - SlotSpacing * 4, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Right cylinder
    }
    // End slot4
    // Slot5
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 5, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 5, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot5
    // Slot last
    hull() {
    translate([- ScrewDist/2 + SlotInset + ScrewUpperDia/2 + SlotSmDia/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([ScrewDist/2 - SlotInset - ScrewUpperDia/2 - SlotMedDia/2, - ScrewDist/2 + SlotMedDia/2 - SlotSmDia/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotMedDia, center=true); // Right cylinder
    }
    // End slot last
}  // End body minus screw holes and slots
//
Do you want ladders?
Scott
P.S. Here's the code with the variables adjusted for un-tapered ovals and an un-tilted logo.
// Fan Grill - Nintendo
// Logo exported from Inkscape to .dxf file using https://github.com/brad/Inkscape-OpenSCAD-DXF-Export
/////////////////////////////
//  Adjustable variables
/////////////////////////////
// Logo
LogoDepth = 7.0; // Overall logo depth
LogoWidth = 213.254; // From inkscape file
LogoHeight = 52.652; // From inkscape file
LogoScale = 0.386; // Desired scale relative to original size i.e. 0.5 will render the logo at half-size
LogoRotation = 0; // Degrees of rotatation for the logo
LogoXOffset = -41.08; // Move the logo on the X-axis
LogoYOffset = -10.6; // Move the logo on the Y-axis
// Body
Body = 85; // X- and Y-axis size of the grill
BodyThick = 4; // Z-axis thickness of the grill
BodyRoundDia = 6; // Body corner rounding diameter
// Screw holes
ScrewDist = 71.5; // Center-center distance for the screw holes
ScrewLowDia = 5; // Lower diameter for the screw holes
ScrewUpperDia = 8; // Upper diameter for the screw holes - for non-countersunk holes use the same value as ScrewLowDia
// Slots
NumberOfSlots = 6; // The number of slots
SlotSpacing = ScrewDist/NumberOfSlots; // The distance between slots
SlotInset = 4; // The distance between the end of the slot and the edge/screw hole
SlotSmDia = 8; // Slot small diameter
SlotMedDia = 8; // Slot medium diameter (used for first and last slots)
SlotLgDia = 8; // Slot large diameter
// Number of fragments (polygon sides) used to render a full circle.
    $fn = 180; // Default = 180  Typical range = 6 - 360
    // 6 will render a circular hole as a hexagon, 8 will render a circular hole as an octagon.
    // Lower the number for faster rendering, raise the number for smoother rendering.
/////////////////////////////
//  Make the part
/////////////////////////////
// Make the Logo (Optional)
// Comment out the next five lines to skip the logo
translate([LogoXOffset, LogoYOffset, 0])
rotate([0, 0, LogoRotation])
scale([LogoScale, LogoScale, 1])
linear_extrude(height = LogoDepth, convexity = 10)
import(file = "nin_no_R.dxf", layer="Logo");
// The "nin_no_R.dxf" file needs to be in the same directory as this SCAD file.
//
// Make the grill
difference(){ // Body minus screw holes and slots
    // Body
    hull() {
    translate([Body/2 - BodyRoundDia, Body/2 - BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Upper right corner
    translate([Body/2 - BodyRoundDia, - Body/2 + BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Lower right corner
    translate([- Body/2 + BodyRoundDia, - Body/2 + BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Lower left corner
    translate([- Body/2 + BodyRoundDia, Body/2 - BodyRoundDia, BodyThick/2])
    cylinder (BodyThick, r = BodyRoundDia, center=true); // Upper left corner
    }
    // End body
    // Screw holes
    translate([ScrewDist/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Upper right screw hole
    translate([ScrewDist/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Lower right screw hole
    translate([- ScrewDist/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Lower left screw hole
    translate([- ScrewDist/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d1 = ScrewLowDia, d2 = ScrewUpperDia, center=true); // Upper left screw hole
    // End screw holes
    // Slot0
    hull() {
    translate([- ScrewDist/2 + SlotInset + ScrewUpperDia/2 + SlotSmDia/2, ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([ScrewDist/2 - SlotInset - ScrewUpperDia/2 - SlotMedDia/2, ScrewDist/2 - SlotMedDia/2 + SlotSmDia/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotMedDia, center=true); // Right cylinder
    }
    // End slot0
    // Slot1
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 1, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 1, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot1
    // Slot2
    hull() {
    translate([- Body/2 + SlotInset + SlotSmDia/2, ScrewDist/2 - SlotSpacing * 2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotLgDia/2, ScrewDist/2 - SlotSpacing * 2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Right cylinder
    }
    // End slot2
    // Slot3
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 3, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 3, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot3
    // Slot4
    hull() {
    translate([- Body/2 + SlotInset + SlotSmDia/2, ScrewDist/2 - SlotSpacing * 4, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotLgDia/2, ScrewDist/2 - SlotSpacing * 4, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Right cylinder
    }
    // End slot4
    // Slot5
    hull() {
    translate([- Body/2 + SlotInset + SlotLgDia/2, ScrewDist/2 - SlotSpacing * 5, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotLgDia, center=true); // Left cylinder
    translate([Body/2 - SlotInset - SlotSmDia/2, ScrewDist/2 - SlotSpacing * 5, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Right cylinder
    }
    // End slot5
    // Slot last
    hull() {
    translate([- ScrewDist/2 + SlotInset + ScrewUpperDia/2 + SlotSmDia/2, - ScrewDist/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotSmDia, center=true); // Left cylinder
    translate([ScrewDist/2 - SlotInset - ScrewUpperDia/2 - SlotMedDia/2, - ScrewDist/2 + SlotMedDia/2 - SlotSmDia/2, BodyThick/2])
    cylinder (BodyThick + 0.01, d = SlotMedDia, center=true); // Right cylinder
    }
    // End slot last
}  // End body minus screw holes and slots
//
EDIT: 80mm fan screw holes are 71.5mm center-to-center.