Code Monkey home page Code Monkey logo

makerworkbench's Introduction

FreeCAD Maker Workbench

This FreeCAD external workbench is composed of:

  • a mechatronic components system
  • an optic components system

The user can modify these components to customize their own system. This also includes a Filter Stage (see screenshot below)

filter_stage

All the models are parametric, meaning the user can set the dimensions dynamically, generate the preferred placement and the models will scale correctly. There are many models to choose from and create ones own Mechatronic system.

sk bracket motor_holder bear_house aluprof clamp

You can see the Workbench in action in YouTube:

Additional Functionality

  1. Enable exporting the model selected to STL format for immediate 3D printing!!
  2. Achieve creating an a basic assembly in 2 clicks

You can see all the models on the readthedocs page.

Installation

Automatic (recommended)

Install using the builtin FreeCAD Addon Manager.
In FreeCAD, go to the Tools -> Addon manager dropdown menu and search for Maker Workbench

Manual

Expand this section on how to install this workbench manually
  • Identify the location of your personal FreeCAD folder
    • On Linux it is usually /home/username/.FreeCAD/Mod/
    • On Windows it is %APPDATA%\FreeCAD\Mod\ which is usually C:\Users\username\Appdata\Roaming\FreeCAD\Mod\
    • On macOS it is usually /Users/username/Library/Preferences/FreeCAD/Mod/
git
  • cd .FreeCAD/Mod (create the Mod/ folder if it doesn't exist)
  • git clone https://github.com/URJCMakerGroup/MakerWorkbench
  • Start FreeCAD

"MakerWorkbench" workbench should now show up in the workbench dropdown list.

zip file
  • Download Maker Workbench from the following file.
  • Extract the MakerWorkbench-master folder from the MakerWorkbench.zip and rename to Maker
  • Put this folder in the Mod/ folder inside the FreeCAD installation folder mentioned above.

After install, restart FreeCAD. "MakerWorkbench" should now show up in the workbench dropdown list.

Documentation

All the information from the project is in the readthedocs page.

Source Code

The source code of this workbench is available in the official MakerWorkbench repository: https://github.com/URJCMakerGroup/MakerWorkbench

Feedback

Do you have questions, found a bug, don't see a feature you'd love? Please leave us a comment on the official FreeCAD Forum thread discussion of MakerWorkbench (FYI, it used to be named Mechatronic until name was changed).

It is also possible to contact davidmubernal on the FreeCAD forum directly if you're having any issues but not getting any help on the forum thread.

License

LGPLv3

makerworkbench's People

Contributors

davidmubernal avatar felipe-m avatar luzpaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

makerworkbench's Issues

MakerWorkbench needs an SVG icon (the can scale for different screen resolutions)

We overlooked this but each addon needs an SVG logo to represent it in the Addon Manager. A PR needs to be made (as mentioned in the Addon Manager github PR template to:

  1. Add the workbench icon to the .qrc file: src/Mod/AddonManager//Resources/AddonManager.qrc
  2. Upload the SVG to src/Mod/AddonManager/Resources/icons/
    In both commits naming conventions should be followed

In Maker/Mechatronic you utilize XPM methodology which is now considered deprecated due to HiPDi resolutions.

Please mark this high-priority. Thank you!

Cannot find icon: /Resources/icons/Maker_workbench_icon.svg

As instructed on Youtube I like to report an issue I am having since I installed Maker Workbench yesterday. I keep getting "/Resources/Icons/Maker_workbench_icon.svg" pop-up message and a "Cannot find icon: /Resources/icons/Maker_workbench_icon.svg" in the "Report View". This happens when I start Freecad and also when I open and existing project. It does not pop-up when I create a new project. The Maker Workbench still works but the pop-ups are annoying.

AddonManager Errors

It would appear there's an unacceptable character in the recent package.xml changes which affects all users not just those who've installed this workbench, this is the output in Report View:

16:40:19  Checking network connection...
16:40:19  GitHub's zen message response: It's not fully shipped until it's fast.
16:40:19  Failed loading /home/john/.cache/FreeCAD/Cache/AddonManager/PackageMetadata/MakerWorkbench/package.xml
16:40:19  XML declaration not well-formed: line 1, column 52
16:40:19  Addon Manager internal error: lost metadata for package MakerWorkbench
16:40:19  Addon Manager internal error: lost metadata for package MakerWorkbench
16:40:19  Addon Manager internal error: lost metadata for package MakerWorkbench

using:

OS: Linux Mint 20.3 (X-Cinnamon/cinnamon)
Word size of FreeCAD: 64-bit
Version: 0.21.0.32287 (Git)
Build type: Release
Branch: master
Hash: 5b3c86d8e3fa04e540cac1cc4cb082431fd45ec6
Python 3.8.10, Qt 5.12.8, Coin 4.0.0, Vtk 7.1.1, OCC 7.3.0
Locale: English/United Kingdom (en_GB)
Installed mods: 
  * CurvedShapes 1.0.4
  * freecad.gears 1.0.0
  * Curves 0.6.8
  * PieMenu 1.2.4
  * Plot 2022.4.17
  * AirPlaneDesign 0.4.0
  * fasteners 0.4.54
  * sheetmetal 0.2.59

Maximum length is 999mm

By definition, in the Qt controls, the maximum length for the aluminum profile is 999mm. It would be great to allow longer distances for bigger designs:

self.length_prof.setMaximum(999)

These profiles can be purchased up to 3m in theory.

Congratulations on this great development!!!

Tolerances for 3D printing

Now tolerances for parts to be 3D printed are in kcomp.py and kparts.py
There are various tolerances, such as:

  • TOL: the general tolerance
  • STOL: a smaller tolerance
  • TOL_BEARING_L: larger tolerance for linear bearings, since they don't always fit
  • MTOL/MLTOL: which are also smaller tolerances, but MTOL is now the same as TOL

Tolerances depend on the 3D printer used, and also if it is about a lenght of a radius/diameter
Usually 0.4 mm is recommended, but it varies.

It would be great to have these tolerances more tunned, and also to have an option to increase or reduce them in case you are using a different 3D printer. And also to allow the user to set a specific value.

As an example, we have just printed the Linear Bearing Housing kcomp.SCE20UU_Pr30b, with this tolerance
MLTOL = kparts.MTOL/2. -0.1
Being MTOL=0.4, then
MLTOL = 0.1
Making the diameter to fit the bearing:
bearing_d_tol = bearing_d + 2.0 * self.MLTOL

So the diameter of the housing is 0.2 mm larger that the bearing diameter:
image

But with the other printer, it seems that it was ok with the original tolerance, which was:
MLTOL = kparts.MTOL
bearing_d_tol = bearing_d + 2.0 * self.MLTOL

Which would be 0.8mm larger
In previous designs, we have used 0.7 as tolerance for the diameter

Anyhow, I think that it was too much, and maybe the formula would be:
bearing_d_tol = bearing_d + self.MLTOL

And adjust from that

Workbench uniformity

  • Please move all icons in to MakerWorkbench/Resources/icons/
  • If you are translating the workbench please create a Resources/translations directory (have you successfully been able to translate the workbench? I've seen indications in the source code)
  • Rename icons so that the workbench name precedes the name of the icon. This is future-friendly since FreeCAD documentation is striving to make all documentation uniform for better interoperability within itself and external workbenches. The convention is <Workbenchname>_<Command>.svg
  • Fix #4
  • Remove pycache files https://github.com/URJCMakerGroup/MakerWorkbench/tree/master/Gui/__pycache__
  • Change README.md Web section name to Documentation so it's less generic

Feature: Din Rails

I've just started scripting parts in FreeCAD. I was going to start with DIN Rails and Aluminum Extrusions, as the first thing I'm modeling up is a custom rack and enclosure system for printers and mills.

I'm going to be using DIN Rails to mount power supplies, mainboards, relays, etc...

I started with the scripting bits on the FreeCAD wiki, and arrived at some workable solutions, but once I found the source to your addon here, I really started learning better ways.

I would like to contribute DIN Rails (among other components, some listed above), but would like to know:

  • would this be a component you would accept a PR for?
  • aside from tests and icons, what other things would I need to look into to make sure this new component worked with or implemented so that it has the full functionality of your other components?

Acceptance Spec:

  • variable W,HL axis similar to aluminum extrusions
  • support rail types of 'C', 'G', 'Top Hat'
  • support rail thickness? (not sure if I've ever seen a rail that wasn't 1.5mm)
  • support slotted (boolean)

Helpful information on Acceptance spec:

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.