
Customizable, 3D-Printable Keyguard for Grid-based, Free-form, and Hybrid AAC Apps on Tablets
prusaprinters
<p>Go <a href="https://volksswitch.org/index.php/volks-devices/fully-customizable-3d-printable-aac-keyguard-for-tablets/">here </a>for instructions on how to use this keyguard designer.</p><p>Keyguards help individuals with limited ability to point reliably at regions of an app running on a tablet. They do this by physically separating access to specific regions of the tablet screen with rails that rise up from the surface of the tablet. In this case, the apps are associated with Augmentative and Alternative Communication (AAC).</p><p>Some AAC apps organize their content into grids with menus and message bars, above or below the grid. Others are much more creative and unpredictable in their layouts. Hybrid apps are largely grid-based but their keyguards can be enhanced by selectively exposing specific regions of the app. </p><p>The number of possible choices for tablet, tablet case, and AAC app, make it impossible to design a few keyguards that will meet everyone's needs. To complicate matters further, users have lots of flexibility for how they organize the content in their apps. All of this is to say that users must be given control over the keyguard design. I know of only one 3D modeling tool where that is possible - without requiring that each user become an expert in 3D modeling. That tool is OpenSCAD. OpenSCAD has a "Customizer" feature that allows users to provide input to an OpenSCAD design that can shape the design to meet their specific needs.</p><p>We have created an OpenSCAD designer that allows the user to identify their tablet, describe how the AAC app is laid out, describe their case, and choose a mounting method to mount the keyguard directly to the tablet or to the case. Once the keyguard is fully described you can generate and save an STL file that you can print on your 3D printer.</p><p>Update 2 Dec 2022 (Version 50): Sending error message to the console if certain a cut is invalid (e.g., rounded rectangle with oversized corner radius). Refactored the approach to the compensation for tight cases. Refactored the approach to portrait orientation. Added support for these Microsoft Surface tablets: Pro 8, Pro 9 and Go 3. Added support for the Amazon Fire HD 10 Plus tablet. Eliminated the "shape of opening" option and now treat all shapes as variants of a rounded-rectangle. Reorganized the Grid Layout section into two sections to simplify access to the most common options. Made bar corner radii dependent on whether contiguous bars are exposed. Increased the top-end number of pixels for setting the app layout from 2000 to 3000 to support very large tablets in portrait orientation.</p><p>Update 1 Nov 2022 (Version 49): Fixed bug when generating first layer of a keyguard with slide-in tabs. Added support for variable sloped opening edges for rounded rectangles, hotdogs and circles. Added ability to change the slopes of the top and bottom edges of cell openings to provide added visibility into cell openings when looking at tablet at small or very large angle. Added support for selecting rounded rectangle corners for bars for greater strength. Small clean-up on trim to screen function. Cleaned up implementation of edge compensation for tight cases. Added support for iPad 10, iPad Pro 11 - 4th gen, and iPad Pro 12.9 - 6th gen.</p><p>Update 24 Sept 2022 (Version 48): Fixed bug associated with setting the slope of the bottom edge of a rectangular opening. Added support for iPad Air 5. Added support for non-rectangular cell inserts. Fixed bug in specification of cell insert recess. Added support for an externally defined new tablet.</p><p>Update 5 Sept 2022 (Version 47): Changed the default size of the case opening and the keyguard in a keyguard frame to better match an iPad 9 and make more sense when exploring the features of a keyguard frame. Added support for rectangular magnets in raised tabs. Fixed bug in some renderings of slide-in tabs that were weakly attached to the rest of the keyguard, Fixed bug with slide-in tabs that may result in non-manifold renderings. Added support for symmetrical camera and home button openings so the keyguard can easily be rotated if the tablet is rotated.</p><p>Update 25 July 2022 (Version 46): Added support for changing the angle of the bottom edge of rectangular cell openings to provide better visual and manual access to small cell openings. Removed reference to "wall" in .txt files because it is no longer supported. Moved most variable calculations from the .txt files to the designer. Added support for the iPad Air 5. Corrected bug in iPad Pro 11 first gen camera data. Extended the data in tablet_openings.txt to support ambient light sensor openings for all iPads.</p><p>Update 2 July 2022 (Version 45): Added support to allow horizontal tabs to be different in length from vertical tabs. Fixed bug to make the tablet coordinate system sensitive to the unequal case opening settings. Fixed bug in "cut_case_openings" subroutine that was missing a second argument. Refactored design to make screen elements and tablet elements insensitive to changes in unequal case opening settings. Removed protection if manually placed clip-on strap pedestals extend into the screen. Now able to add raised tabs and clip-on strap mounts to a keyguard frame. The keyguard frame customization UI has been redesigned. Reduced the lower limit for the length of slide-in tabs and shelf depth. Keyguard tightness of fit is now a general value and not just tied to keyguard frame systems. Refactored the edge compensation code. Changed the extension of .info files to .txt for compatibility with Printables.com.</p><p>Update 2 June 2022 (version 44): Added support for tablet openings (at this time just ASL sensor openings) by introducing a new .info file. Expanded the camera opening 2.5 mm wider for iPad 7/8/9 to accommodate the ASL sensor in gen 7 and 8. Reduced camera angle by 5 degrees. Widened option for raised-tabs to 60 mm. Modified raised tabs code to better support tabs with only a ramp portion and no flat portion. Added support for controlling the angle of the ramp portion of the raised tab. Replaced the two GridPad Fujitsu tablet types with a single GridPad 12. Added support for snap-in attachments to keyguard frames.</p><p>Update 12 May 2022 (version 43): Fixed bug that didn't show slide in tabs when keyguard was split. Added pixel and millimeter measures directly to info files for use in placing openings and additions. Added support for inputting app layout measurements directly in pixels for greater accuracy. Removed bar size measurements from the padding_and_bar_size.xlsx file and change its name to padding_size.xlsx</p><p>Update 5 May 2022 (version 42): fixed and modified the behavior of the slide-in tab case additions to disconnect them from the Customizer pane, fixed a problem with manually located clip-on strap pedestals, fixed a problem with crescent moon case additions, generalized the concept of a "Braille insert" to be a generic "cell insert" - just no Braille text and no opening to create a "cell cover", added support to cut out case-opening region of the keyguard to print case-additions separately, added support for a DIY "screen protector" or a keyguard "frame" that allows for "friction-fitting" the keyguard, widened all camera opening diameters by at least 1.5 mm to make keyguard placement easier</p><p>Update 4 Apr 2022 (version 41): screen_openings.info is now ignored if the tablet type is "blank", extended functionality associated with "Braille inserts". Added "trim_to_rectangle_lower_left" and "trim_to_rectangle_upper_right" back to "Special Actions and Settings" section, setting rows and/or columns to 0 will fill in all grid cuts/openings in a grid-based keyguard. Added support for the Grid Pad 13. Added the ability to engrave or emboss ttext and control the depth of the engraving/embossing using the "corner radius" field.</p><p>Update 7 Feb 2022 (version 40): Removed the "trim_to_rectangle_lower_left" and "trim_to_rectangle_upper_right" options from "Special Actions and Settings" section because we can't remember why we added them in the first place and they weren't working predictably. (The code was kept in place and commented out in case it becomes useful again.) Added support for "Braille cell covers".</p><p>Update 13 Nov 2021 (version 39): Added support for the iPad Pro 12.9-inch 5th Generation, iPad Mini 6th Generation, iPad 9th Generation, iPad Pro 11-inch 2nd Generation and iPad Pro 11-inch 3rd Generation.</p><p>UPDATE 17 June 2021 (version 38): Added support for the Accent 800, Fixed options to add compensation for tight cases to use case opening size rather than screen size.</p><p>UPDATE 26 Feb 2021 (version 37): Moved the home button location further from the edge of the screen and increased the height and width of the home button for the Accent 1000.</p><p>Fixed a bug associated with circular openings and cell ridges when changing rail widths.</p><p>Added support for the Fujitsu Stylistic 616 which is exactly like the Fujitsu Stylistic 665 and associated both with the GridPad. Fixed bug that prevented height/width compensation from working with unequal left/bottom case openings. Added support for adding height/width compensation to one side of the keyguard at a time. Added a virtual tablet called "blank" that can be used to specify an arbitrary-sized keyguard - largely for laser-cutting. Changed labels for "unit of measure" and "starting corner for measurements" to reinforce that they only apply to screen openings. Added option to ignore Laser-Cutting best practices when creating a laser-cut keyguard. Added ability to trim keyguard to an arbitrary rectangle by specifying the lower left and upper right coordinates relative to the lower left corner of the case opening. Added the ability to use a large rectangle or rounded rectangle as an overall case addition. Added temporary support for the Chat Fusion 10 from PRC/Saltillo, need verification of screen dimensions and camera/home button data. Changed the x,y anchor point location for manual clip-on strap pedestals. Fixed bug where engraved SVG images wouldn't rotate. Added the ability to control the depth of an engraved svg image.</p><p>UPDATE 22 Jan 2021 (version 36): Fixed bug that allowed you to choose a mounting method other than slide-in tabs and no mount for a laser-cut keyguards. Fixed bug that put a chamfer on outer arcs when type of keyguard is Laser-Cut. Added support for displaying an SVG version of a screenshot below the keyguard. Changed rules for shape of opening in laser cut keyguards to allow for circles and rounded rectangles with larger corner radii. Changed rules to allow for SVG generation of first layer of 3D-Printed type of keyguard - used when testing fit of keyguard to screenshot.</p><p>UPDATE 3 Dec 2020 (version 35): Enlarged the opening for the home button in the Accent 1000 to make it easier to reach. Added support for generating SVG/DXF files for laser-cutting a keyguard. Limited slide-in tab length to 10 mm rather than 20 mm and set the minimum to 4 mm (exactly 3.175 mm for a laser-cut keyguard.</p><p>UPDATE 16 Nov 2020 (version 34): Fixed bug in vridge and hridge features. Added support for ridges around cells. Removed support for walls in screen/case openings.info files.</p><p>UPDATE 17 Oct 2020 (version 33): Added support for Apple iPad models: iPad 8th generation, iPad Pro 12.9-inch 4th Generation, and iPad Air 4. Fixed home button location and widened the camera opening for the iPad Pro 12.9-inch 3rd Generation. Fixed bug in "swap camera and home button" when home button is not located on the face of the tablet. Turned off creation of camera opening and home button opening if tablet is a system that requires a case.</p><p>UPDATE 13 Oct 2020 (version 32): Added support for Dynavox Indi. Added support for engraved and embossed SVG images.</p><p>UPDATE 27 Sep 2020 (version 31): Added support for <a href="https://www.amazon.com?linkCode=ll2&tag=thingiverse09-20&linkId=e4759bff1fa9a55a0f897d801ce2d765&language=en_US&ref_=as_li_ss_tl">Amazon</a> Fire HD 8 (10th generation). Added support for the Accent 1000, the Dynavox 1-12+, and updated camera/home button info for NovaChat 8. Changed camera and home button locations to be measured from the edge of the screen rather than the edge of the tablet. Added support for cutting out the entire screen area - primarily to support validating dimensions for new tablets. Fixed bug that improperly calculated trimming of towers for clips.</p><p>Refactored code associated with unequal case opening dimensions. Added support for tablets where the screen doesn't sit exactly in the middle of the glass.</p><p>UPDATE 11 May 2020 (version 30): Added clip-on strap mounting pedestals and slide-in tabs to list of items that can be added to a keyguard in the case_additions.info file - to make it possible to have a pedestals and tabs outside of the normal keyguard region and into the case_additions regions. Added support for two different "mini" clips - clips that don't wrap around to the underside of the tablet/case so that the clip won't interfere with the tablet mount. Extended the spur of the clip an additional mm to better engage the slot in the pedestal. Changed the width of the slots in clips to be a function of the clip width. Added support for independently setting the widths of horizontal and vertical clips. Fixed a bug with rounded-rectangle case additions when the corner radius is 0. Fixed several bugs associated with creating cell covers.</p><p>UPDATE 28 Apr 2020 (version 29): Extended tablet data to support non-iPad-style tablets by allowing for cameras and home buttons to be located on the long edge of the tablet and to have non-circular shapes. Added support for clip-on straps to attach to long edge of keyguard, short edge, or both. Added support for tablet-specific corner radii.</p><p>UPDATE 12 Mar 2020 (version 28): Added support for independent widths for horizontal and vertical rails. Added support for the Accent 1400 (AC14-20 & AC14-30) system. Added support for systems (like the Accent) for which there is no tablet sizing information. Added support for non-rectangular perimeters. Added support for creating both loose and tight dovetail joints.</p><p>UPDATE 11 Feb 2020 (version 27): Added support for Surface Pro 7 and Surface Pro X. Added support for negative padding values. Added support for dovetail joints, for a more reliable joint, when splitting a keyguard to print on a smaller printer.</p><p>UPDATE 26 Jan 2020 (version 26): Changed name of Surface Pro 2017 to Surface Pro 5. Added support for the Fujitsu Stylistic Q665 (used in the Grid Pad 11 system). Added check for a zero mm/px corner radius used with a cut for a rounded rectangle and changes shape to a rectangle. Fixed bugs associated with adding height and width compensation for tight cases. Fixed bugs associated with trimming the keyguard to the size of the screen. Fixed code so a zero width wall wouldn't appear between the message and command bar if both are exposed. Modified outer arcs so that their chamfers would match the chamfers of other shapes in size. Changed option for "slide_in_tab_thickness" to "preferred_slide_in_tab_thickness" and set actual thickness of tab to depend on rail height minus outer chamfer.</p><p>UPDATE 13 Jan 2020 (version 25): Added support for NovaChat 5 and 8. Changed dimensions for NovaChat 10 based on feedback from Saltillo. Added support for all Microsoft Surface tablets. Fixed bugs with trim to screen and height and width compensation for tight cases.</p><p>UPDATE 30 Dec 2019 (version 24): Added support for the iPad 7th generation and iPad Mini 5. Changed all iPad data to use calculated screen size measurements rather than values of Active Area from Apple. Added support for bold, italic, and bold-italic font styles to top and bottom text.</p><p>UPDATE 12 Nov 2019 (version 23): Allow raised tabs as thin as 1 mm. Accounted for thin walls when using clip-on straps. Added support for the NOVAchat 12.</p><p>UPDATE 22 Sep 2019 (version 22): Added number of horizontal pixels to the data for each tablet to properly support portrait mode for free-form and hybrid tablets. Fixed several bugs associated with creating portrait mode free-form and hybrid tablets</p><p>UPDATE 08 Sep 2019 (version 21): Fixed bug involving clip-on straps and split keyguards.</p><p>Fixed bug where cut for vertical clip-on strap (no case) was a different depth than the horizontal strap cuts. Updated pixel sizes of 0.960 mm/pixel to a more accurate value of 0.962 mm/pixel. Extended the upper bound for added thickness for tight cases from 15 mm to 20 mm.</p><p>UPDATE 26 May 2019 (version 20): Added support for the iPad Air 3 and the Surface Pro 4.</p><p>UPDATE 16 May 2019 (version 19): Changed upper limits on command and message bars from 25 mm to 40 mm to support large tablets. Fixed bug that was exposed when adding height and width compensation to the keyguard for tight fitting cases with very large corner radii. Made all radii, including those on the outer corners of the keyguard sensitive to the value of "smoothness_of_circles_and_arcs". Fixed a bug that clipped the underside of a clip-on pedestal when it is adjacent to a bar.</p><p>UPDATE 30 Apr 2019 (version 18): Added support for splitting the keyguard into two halves for printing on smaller 3D printers. Put small chamfer at the top edge of all openings including the home button opening - it's only visible with large edge slopes like 90 degrees. Separated circle from hotdog when specifying screen and case openings. Added minimal error checking for data in screen_openings.info and case_openings.info. Fixed bug when placing additions from case_openings.info. Moved pedestals for clip-on straps inward slightly to account for chamfer on the outside edge of keyguard. Fixed bug that produced a static width for the vertical clip-on strap slots.</p><p>UPDATE 21 Apr 2019 (version 17): Changed code that creates rounded corner slide-in tabs to use the offset() command because original code was confusing the Thingiverse Customizer. Fixed bug that prevented adding bumps, ridges and walls in the case_openings.info file. Added acknowledgements for all those who helped bring keyguard.scad to life.</p><p>UPDATE 18 Mar 2019 (version 16): Changed code to use offset() command to create rounded corners rather than cutting the corners. Added a small chamfer to the top edge of the keyguard to reduce the chance of injury. Changed code to add case and screen cuts "after" adding compensation for tight cases. Added support for the NOVAchat 10.5 (does not support exposing the camera). Changed filename extension of case_cuts and screen_cuts files from .scad to .info to reduce confusion about what is the main OpenSCAD program.</p><p>UPDATE 24 Jan 2019 (version 15): Added support for first non-iPad tablet, the Nova Chat 10 (does not support exposing the camera). Cleaned up the logic around when to cut for home and camera to account for lack of a home button or camera on the face of the tablet. Added support for additive features like bumps, walls and ridges - as an aid to individuals with visual impairments. Fixed bug with height and width compensation for tight cases. Added support for using clip-on straps with cases. Added support for printing clips. Added support for hiding and exposing the status bar at the top of the screen.</p><p>UPDATE 11 Dec 2018 (version 14): Added option to control the number of facets used in circles and arcs - the original value was 360 and the default is now 40 which should greatly improve rendering times and eliminate issues for laptops with limited memory. Separated the tablet data from the statement that selects the data to use with the intent of making it easier to update and change the data in Excel. Migrated from using Apple's statement of "active area" dimension to calculating the size of the screen based on number of pixels and pixel size - active area dimensions seemed to overestimate the size of the screen - also assume a single value for number of vertical pixels in a screen shot and therefore a single value for pixel to mm conversion based on the stated pixel size. Added the ability to engrave text on the bottom of the keyguard. Added support for a separate data file to hold cut information that sits outside of the screen area, will always be measured in millimeters and will always be measured from the lower left corner of the case opening - so now there are two files for defining cuts: one for within the screen area and one for outside of the screen.</p><p>UPDATE 27 Nov 2018 (version 13): Added support for engraved text.</p><p>UPDATE 17 Nov 2018 (version 12): Extended the upper end of the padding options to 100 mm after seeing a GoTalk Now 2-button layout. Minor corrections to a couple of iPad Air 2 measurements. Added support for swapping the camera/home button sides. Added support for sloped sides on outer arcs.</p><p>UPDATE 12 Nov 2018 (version 11): Added support for iPad 6th Generation, iPad Pro 11-inch, and iPad Pro 12.9 inch 3rd Generation. Added ability to offset the screen from one side of the case toward the other. Fixed bug that caused rounded case corners not to appear in portrait mode. Added ability to create outside corners on hybrid and free-form keyguards. Added ability to change the width of slide-in and raised tabs and their relative location (changed the meaning of "width" as well).</p><p>UPDATE 08 Nov 2018 (version 10): Reduced some code complexity by using the hull() command on hot dogs and rounded rectangles. Removed options to compensate for height and width shrinkage, upon testing they are too simplistic and keyguards don't do well with annealing anyway. Changed "raised tab thickness" to "preferred raised tab thickness" because the raised tab can't be thicker than the keyguard or it won't slice properly - the keyguard will be raised off the print surface by the bottoms of the four raised tabs.</p><p>UPDATE 22 Jun 2018 (version 9): Combined functionality for both grid-based and free-form keyguards into a single designer. Added support rounding the corners of the keyguards, when they are placed in a case, to accommodate cases that have rounded corners on their openings. Can now create cell openings that are rounded-rectangles. Can limit the borders of a keyguard to the size of the screen for testing layouts.</p><p>UPDATE 12 Jun 2018 (version 8): Reduced the maximum slide-in tab width from 30 mm to 10 mm. Added the ability to merge circular cells horizontally and to merge both rectangular and circular cells vertically</p><p>UPDATE 25 May 2018 (version 7): Padding options have been moved to the Grid Layout section of the user interface to clarify that these affect only the grid region of the screen. Changed the width of the right border of the iPad 5th generation tablet to match width of the left border. Made some variable value changes so that it is easier to see the choices selected in the Thingiverse Customizer. Changed cover_home_button and cover_camera to display_home_button and display_camera because the original options were confusing.</p><p>UPDATE 20 May 2018 (version 6): Added support for controlling the slope of top or bottom edges of message and command bars.</p><p>UPDATE 8 May 2018 (version 5): You can print out a plug for one of the cells in the keyguard by choosing "cell cover" in the Tablet>generate pull-down. You can add a fudge factor to the height and width of the tablet to accommodate filaments that shrink slightly when printing. You can add add padding around the screen to make the keyguard stronger without affecting the grid and bars to account for cases that go right up to the edge of the screen</p><p>UPDATE 27 Apr 2018 (version 4): I've added a new version of the OpenSCAD file - keyguard v4.scad It provides support for circular cut-outs and puts an option to specify the shape of the cut-outs in the Customizer UI. At the same time, I've added support for covering one or more cells and support for merging a cell cut-out and the next cell cut-out.</p><p>UPDATE 25 Apr 2018 (version 3): I've added a new version of the OpenSCAD file - keyguard v3.scad. It has been rewritten to better support portrait mode and to use cuts to create openings to the screen surface rather than defining rails. This opens the door for openings with other geometries in the future - like circles and ovals. We fixed a bug in where padding appeared - put it around the grid rather than around the screen. We increased the depth of Velcro cut-outs to 3 mm, which roughly translates to 2 mm when printed. The cut for the home button is now made at 90 deg. to not encroach on the grid on tablets with narrow borders.</p><p>UPDATE 22 Apr 2018 (version 2): I've added a new version of the OpenSCAD file - keyguard v2.scad. It contains all the functionality of the original file and adds support for a new mounting method: "Clip-on Straps". As always, the website above is where you go to see how everything comes together.</p><h3>Print Settings</h3><p><strong>Printer Brand:</strong></p><p>Prusa</p><p><strong>Printer:</strong></p><p>i3 MK3</p><p><strong>Rafts:</strong></p><p>No</p><p><strong>Resolution:</strong></p><p>0.2 mm</p><p><strong>Infill:</strong></p><p>15%</p><p><strong>Notes:</strong></p><p>You generally don't need supports except when printing a keyguard with raised tabs.rnrnYou may need to use a brim to print clips.</p><h3>How I Designed This</h3><p>Designed entirely in OpenSCAD. keyguard.scad can be edited with any text editor to extend its capabilities. Contact me if you are interested in this.</p><p>Category: Tablet</p>
With this file you will be able to print Customizable, 3D-Printable Keyguard for Grid-based, Free-form, and Hybrid AAC Apps on Tablets with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Customizable, 3D-Printable Keyguard for Grid-based, Free-form, and Hybrid AAC Apps on Tablets.