Git Product home page Git Product logo

dogbone's Introduction

Dogbone

A Fusion360 addin that creates dogbone joints for wood joinery.

Changes

This version has been significantly optimized as follows:

  • Instead of generating one plane, sketch, and sweep cut for each dogbone, it groups the dogbones by their vertical extents and produces the minimum number of features in the history tree as possible.
  • Introduced "Output Unconstrained Geometry" option to directly compute the locations of dogbone circle in the sketch, producing the minimum amount of sketch geometry possible. This led to a >5x speedup of generating each dogbone.

The net result is that, for my use case, I can generate 208 fillets in 28 objects in 73 sec. Since they are all lying in the same plane, it only generates three history operations (plane, sketch, extrusion). Previously this would take forever, freeze the UI, and generate 600+ operations in the history.

Note: The bulk of the time is because every call to the Fusion API (adding geometry, extrusions, etc.) is extremely slow.

Additionally, other enhancements were added:

  • Progress bar shows current status.
  • The operation can be canceled midway (use Undo to delete the partial geometry created).
  • Saves the last parameters used (cleared on relaunch of Fusion)
  • Skips non-vertical edges selected.
  • Benchmarking
  • Code is refactored into object-oriented fashion to be more manageable, and utility functions split out.
  • Robustness: Exception handling is consolidated, tracebacks always shown, launching the plugin automatically cleans up old crashed instances of the plugin.

Limitations

Still TODO:

  • Handle acute angles (<90deg) by generating a slot.
  • Allow user to specify orientation (i.e. select "vertical" vector) instead of only handling edges.
  • Handle duplicate edges (avoid generating duplicate overlapping geometry)

Usage:

First see How to install sample Add-Ins and Scripts

See a youtube video of using this app here: http://youtu.be/EM13Dz4Mqnc

Select edges interior to 90 degree angles. Specify a tool diameter and a radial offset. The add-in will then create a dogbone with diamater equal to the tool diameter plus twice the offset (as the offset is applied to the radius) at each selected edge. Alternatively, select an entire body and the add-in will automatically apply a dog-bone to all interior vertical edges.

License

Samples are licensed under the terms of the MIT License. Please see the LICENSE file for full details.

Written by

dogbone's People

Contributors

caseycrogers avatar iceboundflame avatar tapnair avatar threepe0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.