Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
CNC Corner Joint custom feature (update of Board Corner Joint feature)
hendrik_kueck
Member Posts: 11 ✭✭
This is a custom feature for creating different types of CNC millable joints connecting two flat boards meeting at a 90 degree angle.
It is an update of Aaron Hoover's "Board Corner Joint" custom feature.
Get the custom feature and read its documentation here
I was working on a custom stand for PowerBlock dumbbells I recently bought, with parts designed to be CNC milled from a plywood sheet. I was excited to find Aaron's FeatureScript and tried to use it to create the CNC compatible joints. However I found that it frequently failed if the boards where not extruded in a very specific way. This motivated me to learn FeatureScript and update and improve Aaron's script.
The main differences from Aaron's implementation are:
It is an update of Aaron Hoover's "Board Corner Joint" custom feature.
Get the custom feature and read its documentation here
I was working on a custom stand for PowerBlock dumbbells I recently bought, with parts designed to be CNC milled from a plywood sheet. I was excited to find Aaron's FeatureScript and tried to use it to create the CNC compatible joints. However I found that it frequently failed if the boards where not extruded in a very specific way. This motivated me to learn FeatureScript and update and improve Aaron's script.
The main differences from Aaron's implementation are:
- It should be significantly more robust to the boards being extruded in different ways.
- I added adjustable positioning of the overcuts (dogbones), which can be helpful for hiding them (see below).
- Added an option to fillet the overcuts (for smoother CNC toolpaths)
- Made finger joints symmetric (both ends are either tenon or mortise)
- Fixed tenon and mortise being reversed for hammer joints.
- Removed "fingertip tenons with key" joint type because it seemed broken to me. I didn't really touch the fingertip joint implementation otherwise. It definitely could be improved and made more consistent with the other joints in the future.
- I simplified and modernized some of the code and removed all dependencies.
- Added new PDF documentation
The new overcut positioning feature let's you control their placement relative to the joint's main axis using a value between 0 and 1:
I found that a value of 0 can be quite useful in practice for hiding the overcuts from the inside of the joint, or to completely hide them in the case of a joint between two boards in a T configuration.
I used this in the design of my weights stand to hide all of the overcuts.
I hope others will find this useful.
I found that a value of 0 can be quite useful in practice for hiding the overcuts from the inside of the joint, or to completely hide them in the case of a joint between two boards in a T configuration.
I used this in the design of my weights stand to hide all of the overcuts.
I hope others will find this useful.
6
Comments
Fantastic! Thanks for sharing
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
I added the option to specify multiple tenon and mortise parts. Joints (of the specified type and using the same parameters) will be created between each pair of a tenon and mortise part. This requires each tenon part to intersect each mortise part at a 90 degree angle. Either at a corner, or in a T configuration.
I also added a new "Edge offset / margin" parameter that lets you control the width of the tenon or mortise bits at the ends of the joint:
Finally I further improved robustness (fixed failure cases), especially for through joints and lapped and secret joint types.
Updated documentation is here