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.

설치로 이동

소스 정보

저장소
Ranch-Hand-Robotics/openscad_skills
최근 소스 활동
2026년 5월 11일 23:59
감지된 SKILL.md 언어
영어
스타
1
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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
GitHub에서 보기