Yes, this printer had a fair amount of tinkering done. It didn't do that out of the box. Well, the box actually contained a 3D puzzle, not a printer.
Here they are. However, for those files to work you need to use my modified version of the Fasteners Workbench. The two new parameters require changes to FastenersCMD.py and screw_maker.py. Make sure to checkout or download the "scaling" branch, not "master".
Hi MostlyHarmless,MostlyHarmless wrote: ↑Sat Jan 06, 2018 4:16 amI would like some comments from the Workbench author shaise. In the end this is supposed to become a pull request.
They look even better than mine. Nice!
I am not very familiar with the FreeCAD internals yet. I read somewhere that the files inside of a .fcstd archive are mostly XML. The objects in existing files of course don't have these attributes. There should be some infrastructure to add a default value for a new attribute to an object type. I'll take a look around. Maybe there is some function that (if exists) will be called after an object is loaded so it can verify the object and fill in missing attributes.shaise wrote: ↑Sun Jan 07, 2018 8:54 amRegarding pull requests, there are two issues:
1. Backward compatibility: If I use your WB with the 2 new parameters added and try to open an old file with fasteners, I can no longer do modifications to these fasteners, as it produces an error "missing attribute"
This one is far more serious and might be a show stopper at the moment. For the past two days I was browsing around the forum and became aware that the screw_maker.py is imported and that ulrich1a keeps maintaining his original. While maybe technically not accurate, logically that file is maintained "upstream". Making changes to it without feeding them back upstream is a fork. In my 30 years of software development, 21 of them being part of a very large open source project, I have seen too many forks fail because after a while merging becomes a nightmare. My changes are definitely far too invasive to maintain in a fork. If they can't be fed back upstream I need to come up with a different way of doing this.shaise wrote: ↑Sun Jan 07, 2018 8:54 am2. Any changes to screw_maker.py is also a bit problematic: screw_maker.py is not mine, it was done by the talented ulrich1a. I think now he plans to add non metric fasteners, but he uses his own version and not the one in my repository. When he finishes, it will probably be hard to integrate it with the new modifications.