Page 1 of 4

New Workbench MeshTools now renamed 3D Printing Tools

Posted: Wed May 22, 2019 10:34 am
by mark1791
Hi All

Maybe of use to some people out there importing .stl meshes recently bought a 3D printer so been creating and downloading files to print. I have been busy learning and creating workbenches for the last few months, it has been an interesting exercise learning more about FreeCAD's python, Inkscape, Github. I have created a workbench that helps with the importing of stl files from the net, it brings the functionality hidden away to the user without having to resort to trawling the forums to find that bit of python code to do simple things.

It surprises me that FreeCad doesn't have a graphic properties Toolbar to just change the colours/transparency or line type, coming from a CATIA background it is always one i switch on and use a lot to change colours, transparency etc, i know that you can do this from the View option within the combo view, but does take a minimum of 4 clicks to change a colour of a object.

The mesh to solid may hang your machine if the stl object is too complex.......

The features so far implemented:-
  • The ability to convert an imperial mesh/meshes to Metric and vis versus.
  • Scale mesh down 50% and up 50%.
  • Scale mesh a set factor.
  • Scale Mesh to fit a 3D printer bed size.
  • Generate a STL box the szie of the printer bed for reference.
  • Convert a mesh/meshes to a solid.
  • Make an object transparent.
  • Make an objects transparancy Solid.
  • Hide an object.
  • Show an object.
  • Change a group of objects to a random colour.
  • Change colours of objects to 11 Colours.
  • Change the line width to 2.0
  • Show the bounding box of a Stl mesh.
  • Define the printer bed size.
  • Define the size of the object to be scaled from.
  • Define the Scale factor for the mesh to be scaled, 0.5 = 50% scale 2.0 = 200% scale.
The code can be found on github on the following link, should be visible to the public here:- https://github.com/mark1791/MeshTools

Works on 0.18 Release and tested it on 0.19Pre, considered to be alpha status....

Try it out and let me know of any issues...............
MeshTools.jpg
MeshTools.jpg (175.93 KiB) Viewed 9027 times

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 12:48 pm
by roerich_64
Hi Mark,

what a great work!

Would be a nice to have: instructions to install it under FreeCAD...

BR
Walter

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 2:18 pm
by Kunda1
We could add it to the Addon Manager...? (indicating it's an Alpha release)
yorik_the_just wrote:ping

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 2:52 pm
by roerich_64
I found a way to install it on Win7 ;-)

- Download it from GitHub
- UnZIP it to: C:\Users\User\AppData\Roaming\FreeCAD\Mod
- restart FreeCAD

BR
Walter

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 5:58 pm
by chrisb
That's the usual way to manually install a workbench. The fact that this is almost forgotten shows how valuable the AddonManager is. I think this could well be included in AddonManager, perhaps it would be sensible to have a switch for include/exclude experimental stuff.

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 11:07 pm
by Kunda1
roerich_64 wrote: Wed May 22, 2019 2:52 pm I found a way to install it on Win7 ;-)

- Download it from GitHub
- UnZIP it to: C:\Users\User\AppData\Roaming\FreeCAD\Mod
- restart FreeCAD
You can be even more efficient with git:

Code: Select all

# open your terminal 
cd <path to your FreeCAD Mod directory>
git clone https://github.com/mark1791/MeshTools
Then when you want to update you can use git pull

Code: Select all

# open your terminal
cd <path to your FreeCAD Mod directory/MeshTools>
git pull
Of course after each update you need to restart FC (as you mention in your post)

Re: New Workbench MeshTools

Posted: Wed May 22, 2019 11:16 pm
by roerich_64
Thats right @Kunda1...

but it needs to install the git tools before ;-)

Re: New Workbench MeshTools

Posted: Thu May 23, 2019 5:40 am
by HarryGeier
Cool,

but wouldn´t it be better to integrate it with the existing MESH Workbench , or vice versa ?

I think it´s confusing to have a Mesh Workbench and a Mesh Tools Workbench.

A short while ago, for instance someone claimed a bug as there is an instruction around which includes the usage of a function from manipulator workbench , but NOT telling that manipulator WB must first be installed. As this Workbench is very prone to be widespread used..3D Printing is very very popular... it hink it´s better to have it as a standard instead of an additional WB.

From my point of view, additional Workbenches should cover areas that are specific to a fraction of the FreeCAD users. Anything else that can attract all or the majority of users should be integrated in the mid term .

just my thoughts´...

Re: New Workbench MeshTools

Posted: Thu May 23, 2019 9:25 am
by mark1791
Hi All

Thanks for the feedback so have done some updates to the github issues raised and will update with some help in using this.
HarryGeier wrote: Thu May 23, 2019 5:40 am Cool,

but wouldn´t it be better to integrate it with the existing MESH Workbench , or vice versa ?
I would agree it would be nice, i had a look at the code to see if i could add/modify and couldn't quite get my head around it, picking up someone else's code can be challenging, looking at the code on github seems to me to be predominantly done in C.

There is a lot of functionality hidden away on the Mesh Workbench, but only if you know to go to the menu at the top. Or trawl the forums for answers like how to scale an imperial mesh to metric if you have imported a model from thingverse, especially if it has been created in America. If your an engineer like me who started as an apprentice working on imperial machines making metric part knows that to scale by 25.4 but not many people would know that. I had a trawl on the forums and found a macro to do it, then found it in a menu option, but only 4 icons are on view so a new user would see 'Mesh design' and think that its basic functionality with little for a user to use on a mesh.

This is why i created the workbench to help me when playing with meshes for 3D printing parts and improve GUI efficiency when manipulating meshes, so added some commands as such to cover converting Imperial meshes imported from the net and introducing some features from CATIA for which i am used to using. Also these additions are simple to code for and helps me to learn the art of making workbenches in Python/inkscape/github one needs a challenge and creating some that is useful rather than just doing exercises.

It was only intended as an addon feature similar in vein to the Curves/Nurbs/Silk is an addon to the default SurfaceWB due to the lack of functionality within the SurfaceWB, which if you come to FreeCAD from a surfacing background would present the user with a very limited set of surfacing tools unless you know to add in these work benches to do surfacing.

This is another pet topic of mine, i would like in an ideal world would be a version sprint to improve the surfacing in FreeCAD to get a more unified situation rather than spread across workbenches..., also a dedicated forum area for surfacing would be an idea to add?, then users could go to there for there surfacing related problems and sticky's for the popular addons Curves/Nurbs/Silk etc.

Just some of my thoughts, really enjoy using FreeCAD and feel it is comparable with many main stream CAD packages out there.

Mark

Re: New Workbench MeshTools

Posted: Thu May 23, 2019 10:51 am
by chrisb
Mesh workbench is not too overloaded yet, so I too think that those functions can well extend the existing core workbench.