{"schema_version":"1.0","kind":"vibe_cad_project_recipe","updated":"2026-11-10","author":"partsforagents","authorship":"AI-authored","slug":"usb-hub-desktop-cradle","title":"How to make a USB hub desktop cradle with vibe CAD","summary":"Position a small USB hub with its ports accessible, using an open cradle fitted around the actual housing and cable exits.","category":"Small electronics","difficulty":"Intermediate","measurements":["Measure housing width, depth and height, including feet and rounded corners.","Measure the largest plugs used in adjacent ports and their insertion paths.","Locate every existing opening, indicator and control on the hub body.","Choose the cradle gap with a small housing-profile sample rather than a forced fit."],"prompt":"Create an open hub cradle with body_width, body_depth, body_height, corner_profile, port_keepouts, opening_keepouts and cradle_gap. Use two low side guides and an open front. Ask for missing port positions and cable exits. Do not cover existing openings or add a tight snap fit around the housing.","steps":[{"title":"Map the complete hub","detail":"Sketch the housing and project port, indicator and opening locations onto its faces. Add the real plug envelopes to the same assembly."},{"title":"Place the guiding surfaces","detail":"Build a shallow base with guides only on clear housing areas. Leave controls visible and avoid extending walls into the cable insertion paths."},{"title":"Make the cradle removable","detail":"Add broad finger access and round exposed corners. Keep the hub as a reference body so cradle edits cannot accidentally modify its measured envelope."}],"checks":["Use a paper footprint with disconnected plugs to check simultaneous access to adjacent ports.","Inspect the CAD assembly from every face and confirm all measured housing openings remain unobstructed.","Check exported dimensions and plan a short guide-profile sample before assuming the hub will sit correctly."],"pitfall":"A cradle that fits the bare hub may obstruct wide plug housings; model connected accessories as separate keep-out envelopes.","scope":"An unvalidated passive desk cradle, not an electrical enclosure or a claim of equipment protection or operating performance.","materialNotes":"PLA or PETG may be explored for the cradle. Choose contact geometry and clearance through a sample; material choice does not validate use around powered electronics.","links":{"html":"https://partsforagents.com/vibe-cad/usb-hub-desktop-cradle","markdown":"https://partsforagents.com/vibe-cad/usb-hub-desktop-cradle/guide.md","json":"https://partsforagents.com/vibe-cad/usb-hub-desktop-cradle/guide.json","catalog":"https://partsforagents.com/vibe-cad/catalog.json","order":"https://partsforagents.com/for-humans?project=usb-hub-desktop-cradle#workspace","agent_handoff":"https://partsforagents.com/guides/cad-to-print#connect","full_mcp":"https://partsforagents.com/api/mcp","free_advice_mcp":"https://partsforagents.com/api/advice/mcp","tool_schemas":"https://partsforagents.com/tools.json"},"design_status":{"physical_validation":"not_physically_validated","cad_assets":[],"exact_customer_cad_required":true,"note":"This is a modeling recipe. Any illustration shows the concept; it is not the exact CAD file for an order."},"order_handoff":{"label":"Order this part now","url":"https://partsforagents.com/for-humans?project=usb-hub-desktop-cradle#workspace","ready_cad_action":"Upload the customer-approved exported CAD and submit a manufacturing request.","no_cad_action":"Use the measurements and prompt to create editable CAD, inspect it, then export the exact file to be made.","required_inputs":["Authorized exact CAD file","Declared units","Material family and requested grade/color","Quantity","Intended use and critical fit requirements","Contact email","Destination country and postal code"],"current_firm_production_scope":"Reviewed PLA/PETG jobs for eligible contiguous-US/DC delivery.","submission":{"new_request_status":"pending_review","binding":false,"payment_due_at_submission":false,"next":"The exact reviewed offer and payment link follow when the job and payment channel are ready."},"agent_steps":[{"tool":"upload_cad_request","instruction":"Get authorization to store/process the exact exported file, then use its bytes and approved intake fields. Save the returned request ID and file SHA-256."},{"tool":"get_cad_preflight","instruction":"Read measured geometry and unknowns for that uploaded file."},{"tool":"set_manufacturing_specification","instruction":"Save the customer-approved manufacturing choices and returned specification fingerprint."},{"tool":"place_order","instruction":"Submit order_type manufacturing with the real request ID, exact specification fingerprint, acknowledge_nonbinding true and a saved unique idempotency key. Include this guide URL in review_notes along with the approved requirements."},{"tool":"get_order_fulfillment","instruction":"Use the returned order ID to read the authoritative offer and manufacturing progress. A recipe URL alone never identifies an order."}],"retry_policy":"Reconcile an uncertain result before retrying. Reuse identical arguments and the same idempotency key; never submit a second request just because its payment link is pending.","tool_schema_url":"https://partsforagents.com/tools.json"}}