(shell, panel, stacked, tray, tray-sides, round, hex, snap, fitted)
available and each allows for different styles within the design
SBC Case Builder Features:
- Autonomous Multi-SBC, Multi-Case Parametric Generation
- Variable Height, Automated Case Standoffs
- Extended Standoff SBC collision detection
- Accessory Customization Framework
- Accessory Multi-Associative Parametric Positioning
-Absolute Location
-Case Associations
-SBC Associations
-SBC_X,Y - Case_Z Association
- SBC Model Framework Validation Tool
--Shell - complete
--Panel - complete
--Stacked - complete
--Tray - complete
--Tray-Sides - complete
--Tray-Vu5 - complete
--Tray-Vu7 - complete
--Round - complete
--Hex - complete
--Snap - complete
--Fitted - complete
--Sliding
--Cylinder
--Rack
--Folded
--CNC Cases
To use the graphical user interface enable the Customizer in the OpenSCAD menu view→customizer or window→customizer, depending on the version of OpenSCAD. New cases can be created and saved, as well as existing cases modified using any case parameter, adjustable from the GUI. This makes the workflow quick and simple with virtually no learning curve and no need to know OpenSCAD. Simply turn on the Customizer and arrange your windows as you see fit. I like the Customizer sharing a tab with the editor as this example shows.
Variable height automated SBC standoffs, which can be individually adjusted, can be used to integrate add-on PCB, hats, heatsinks or other accessories that share SBC standoffs for mounting. The HK Netcard uses this feature as well as other accessories. Enabling extended standoffs places standoffs in each corner that are parametric to the extended case. Automatic collision detection will disable individual extended standoffs when the SBC location is less then 10mm from a corner as illustrated below.
Multi-associative parametric positioning of accessories allows parametric movement of the accessory in each axis. The XY and Z axis can be associated with the case offset (size), SBC positioning, multi-associated axises or absolute positioning. For instance, a SBC fan opening needs to follow the SBC in the X and Y axis but the case Z axis for the correct height.
Code: Select all
p
a
r
r a
o m
t e s s s d d d d
c l l l a t i i i a a a a
l t o o o f t r z z z t t t t
a y c c c a i i e e e a a a a
s p c o c
s, e, x, y, z, e, n, s, x,y,z,1,2,3,4
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0]
Accuracy
In the past there was been no way of validating whether a SBC Model Framework model and it’s components were dimensionaly accurate in their size and placement other then trial and error. Along with producing cases this project provides a much needed model validation tool to assure model accuracy thru the use of test cases. It works on the very simple premise that if the real SBC fits the test case then the virtual model is accurate or otherwise shows were corrections are needed. This will further increased the overall accuracy of models.
There are currently 51 SBC represented from 8 manufactures in the SBC Model Framework. Some SBC in SBC Model Framework have not been validated or are missing component data and may produce one or more aspects of a case incorrectly. SBC status is noted in sbc.png, README.md and at the beginning of the SBC entry defined in sbc_models.cfg, all a part of SBC Model Framework. The color coded indicator of an SBC’s verification and completion as indicated in sbc.png is as follows:
GREEN = verified and complete
YELLOW = unverified, most likely usable and/or missing minor information
ORANGE = unverified, may be usable but missing component data
RED = unverified, not usable due to incomplete component data
The SBC that I do not own have been created using manufacturer supplied mechanical drawings. Some of the drawings are missing information or have errors that effect all or part of the drawings and subsequent SBC models. If you own an SBC that is not represented or verified in SBC Model Framework, please consider adding it or helping to correct errors in existing SBC data. An SBC can be verified to be accurate if a printed shell case from SBC Case Builder fits. Any misalignment is corrected in the SBC Model Framework model data(sbc_models.cfg).
Future Development
There are a few more ideas for base cases to be worked on as well as a host of supporting accessory models that need to be created. It would also be nice to have all of the OEM accessories for each SBC in the library as well. I’m still looking for a better way to create accessory entries and groups, and continue to expand and verify as many SBC as possible. With that and the obvious benefit of autonomously making SBC cases, this project has also been helping fulfill another personal goal.
Computer aided design(CAD) has been around along time but I have been interested in exploring approaches to the next step, computer autonomous design. Regardless of the current or future object creation method, whether it be manufactured or materialized, I believe a universal approach to autonomous design will be needed to advance the human condition. This application has helped me explore and think about practical approaches that might be possible right now in autonomous design and I hope to continue this work by developing new tools and techniques for the new CAD, computer autonomous design.
Notes:
Due to the number of possibilities, no pre-compiled case stl’s are included.
“tol”, located at the bottom of the Adjustments Tab, is a tolerance fitment adjustment for the snap, fitted, round and hex tops. Adjust accordingly if the tops are too tight or loose.
Template creation and i/o panel layouts in a dxf format can be easily created and integrated into other designs or for hand fabrication by sectioning a case panel for the desired SBC. The case design “panel” will most likely work best.
February 2, 2022 - initial release
sbc_case_builder-v1.0.zip
sbc_case_builder-v1.0.1.zip
implemented sbc_case_builder.cfg configuration file, sbc_case_builder_library.scad and basic accessory framework. Adjusted tray-vu7 tabs, adjusted tray-vu7 model alignment. Minor fixes and other maintenance.
sbc_case_builder-v1.1.0.zip
accessory placement additions and fixes, added .cfg commands add1,add2,suball,model,platter, schema changes, extended standoff fixes, hd mounting accessories
sbc_case_builder-v1.1.1.zip
added sbc_off setting, fixed hdmi bottom placement, schema change, extended standoff detection, hd vertical mount, oled holder, access port, access cover, case feet and other fixes
sbc_case_builder-v1.1.2.zip
added h2_netcard, buttons, parametric access_port, other fixes and maintenance
added fillet array, button cutout style, hk_lcd35, other fixes and maintenance
sbc_case_builder-v1.2.0.zip
hk_boom bonnet model and accessories, hk_uart model, fixed uart opening, enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance
vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance
standardized and fully enabled autonomous case openings, new top for tray design, new tray style "sides", several new cases for odroid-m1 and other sbc. additional library modules, updated SBC Model Framework.
full customizer user interface,case configuration file changed to json, accessories kept in sbc_case_builder_accessories.cfg, added round, hexagon, snap and fitted cases, setup additional sbc from SBC_Model_Framework, added components and masks, added multi-associative parametric positioning for accessories, added individual variable height sbc standoffs, added cutaway view when case face is not movable, finished indents for select components and orientations.
added odroid-h3 cases, raised h2 and h3 case bottoms 3mm for access port, landscape mode access port adjustments.
added odroid-n2l and n2lq cases, added h3 tall cases for internal fan, added m1 cases with drives, added part view and part selection in gui and misc. fixes.
sbc_case_builder_library.scad
sbc_case_builder.json
sbc_case_builder_accessories.cfg
tolerance_check.scad
get_customizer_values.scad
./SBC_Model_Framework
./dxf
./lib
./stl