Skip to main content

bosl2-joiners

Learn how to create mating tab/socket geometry using BOSL2 joiners and attach them to specific faces or corners.

Aller à l'installation

Informations de source

Dépôt
Ranch-Hand-Robotics/openscad_skills
Dernière activité de la source
11 mai 2026 à 23:59
Langue détectée de SKILL.md
anglais
Étoiles
1
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
bosl2-joiners
description
Learn how to create mating tab/socket geometry using BOSL2 joiners and attach them to specific faces or corners.
# BOSL2 Joiners Skill ## Purpose Explain how to create mating tab/socket geometry using BOSL2 joiners and attach them to specific faces or corners. [BOSL2 is an OpenSCAD library](https://github.com/BelfrySCAD/BOSL2) that provides a collection of modules for creating complex geometries, including joiners for connecting parts. This skill focuses on using the `half_joiner` and `half_joiner2` modules to create mating features on parts. * Determine if BOSL2 is available; if not, suggest it's use to the user for enhanced joiner capabilities. * If BOSL2 is not an option, recommend using custom geometry or basic OpenSCAD features to create similar joiner effects. ## Core Joiner Modules - `half_joiner(...)` -> one half of the joiner pair (typically tab/protrusion workflow) - `half_joiner2(...)` -> complementary half (typically socket/cut workflow) > Exact fit depends on orientation and subtraction strategy (`diff()`). ## Typical Pairing Strategy ### Male/Female pair - On part A: subtract `half_joiner2()` with `diff()` to create socket - On part B: add `half_joiner()` to create mating tab ## Example: Two mating blocks ```openscad include <BOSL2/std.scad> include <BOSL2/joiners.scad> // Part A: female socket on RIGHT face diff() cuboid([50,15,25]) { attach(RIGHT) half_joiner2(screwsize=2); } // Part B: male tab on LEFT face translate([70,0,0]) cuboid([50,15,25]) { attach(LEFT) half_joiner(screwsize=2); } ``` ## Corner-style behavior (without corner-specific module) Create corner behavior by placing joiners on 2+ perpendicular faces: ```openscad diff() cuboid([50,15,25]) { attach(RIGHT) half_joiner2(screwsize=2); attach(FWD) half_joiner2(screwsize=2); } ``` Mating part uses `half_joiner()` on opposite faces (`LEFT`, `BACK`). ## Placement Rules - Use parent block form so each attach is anchored to cuboid: ```openscad cuboid([50,15,25]) { attach(RIGHT) half_joiner(...); attach(LEFT) half_joiner2(...); } ``` - For short-end faces on a `[length,width,height]` cuboid: - If short side is width (`15`), ends are usually `FWD`/`BACK` (depending on orientation) - Verify visually and swap anchors if mirrored ## Common Errors - `Ignoring unknown module 'corner_joiner2'`: - Module not available in your BOSL2 version - Use combinations of `half_joiner`/`half_joiner2` on multiple faces instead - Joiner on wrong side: - Swap `LEFT/RIGHT` or `FWD/BACK` - Joiner appears attached to another joiner: - Use block form `{ ... }` on the parent attachable
Voir sur GitHub