Features for money?

Post here if you have a FreeCAD-related job to offer to the FreeCAD community. This can include programming or modeling.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
ISwearImCool
Posts: 8
Joined: Tue Feb 01, 2022 2:23 am

Features for money?

Post by ISwearImCool »

I don't know much about open source software communities, so please forgive me if this is weird, but I was wondering if people ever do specific development work in exchange for money. I assume it would be expensive because of the skills and knowledge involved, but I'm wondering just how expensive.

The feature I'm looking for I call cut hierarchy, but I imagine there is a more technically correct term for this. Basically, what I would like is a body into which I could drag parts and the order of the parts would determine which piece cuts into which piece, for example, say I have these three parts and I put them into the cut hierarchy tool/body

Cut Hierarchy
drawerBottom
panel1
panel2

Since I put panel1 above panel2 and below drawerBottom I will get panel1 being cut by drawerBottom and panel2 being cut by both panel1 and drawerBottom?

And unlike a boolean, they would all just still be top level objects so you don't have to dive like three deep in the tree to get the feature to use it in the next operation.

--

Does this idea make sense? And how much would it cost to be built, roughly? And do people ever do like kickstarters for features? All I could afford is a few hours of development time probably, but maybe there are other woodworkers who would like this feature and we could band together to fund its creation.
keithsloan52
Veteran
Posts: 2753
Joined: Mon Feb 27, 2012 5:31 pm

Re: Features for money?

Post by keithsloan52 »

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am I don't know much about open source software communities, so please forgive me if this is weird, but I was wondering if people ever do specific development work in exchange for money. I assume it would be expensive because of the skills and knowledge involved, but I'm wondering just how expensive.
I make a small monthly contribution to realthunders Patreon, I have a couple of times made him the offer, if you can add this feature I will make a one off contribute of £50.00 to your Patreon, he has taken up the offer twice and also made the changes to his versions and made pull requests for the main FreeCAD repro, these have taken some time to be merged. Realthunder has on a number of occasions suggested an alternative approach. You could try messaging him and supplying a link to this post, to ensure he has seen it.
User avatar
onekk
Veteran
Posts: 6094
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Features for money?

Post by onekk »

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am ...
I think that someone interested should know at least:

- for what version of FC you want changes, or maybe Macros or whatever else
- what Wb are you using, I could guess that is "Part Design WB" as you are speaking about body and similar.
- probably a file with some examples of what is wrong.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Features for money?

Post by adrianinsaval »

It's possible but this type of weird very niche uses are unlikely to land on master, if you're ok with having it as an addon you'll surely find someone willing to do it if you want to pay.
User avatar
dprojects
Posts: 720
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Features for money?

Post by dprojects »

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am specific development work in exchange for money
maybe there are other woodworkers who would like this feature and we could band together
I am here for fun not for money, I like coding and I like woodworking.

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am Since I put panel1 above panel2 and below drawerBottom I will get panel1 being cut by drawerBottom and panel2 being cut by both panel1 and drawerBottom?
I was thinking that wood can be cut by saw not by drawer or other panel ;-) but things changes and world changes so maybe it is possible to cut panel using the drawer if you hit the panel strong enough ;-) hope you don't mind the joke? LOL

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am The feature I'm looking for I call cut hierarchy, but I imagine there is a more technically correct term for this.
I think it would be better if you tell what you would like to make in real-life. What kind of furniture? What is your goal?

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Features for money?

Post by adrianinsaval »

I just realized that this sounds a lot like Part Design subtractive operations, I suggest having a look at the Part Design workflow and maybe the PD boolean operations, I suspect this can already satisfy your needs, at most requiring a few tweaks to your workflow.
User avatar
sliptonic
Veteran
Posts: 3453
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Features for money?

Post by sliptonic »

ISwearImCool wrote: Tue Aug 09, 2022 1:31 am I don't know much about open source software communities, so please forgive me if this is weird, but I was wondering if people ever do specific development work in exchange for money. I assume it would be expensive because of the skills and knowledge involved, but I'm wondering just how expensive.
Yes, this happens. It's called contract development. It's how the Path workbench started.

When it's done right in open-source, it can work very very well. Here's four things that help lead to success. Some of these were already alluded to by others:

1) The person who wants a feature should have a good sense of what they want. They should be thinking through how it fits into the rest of the application workflow and should think about the feature in a general sense. The more unique and personal it is, the less likely it is to be a good open-source project. Don't get hung up on implementation but focus on what you want to achieve with the feature.

2) You should work with a specific developer, ideally someone who's working in that part of the application already. They developer doesn't need to understand your business but they're going to need a sense of it.

3) You should be prepared to invest your own time as well as money. This means helping the developer to understand the requirement, where it can be generalized. What are must-haves and where compromises can be made.

4) Developer and person offering the contract should agree on a price. This should be phased over some big milestones. For example. 1/3 (in advance) to create a rough plan. 1/3 payment on demonstration of the feature working. Final payment when the feature is merged to master.

I don't think it has to be terribly expensive but it's going to cost something. At a minimum, the developer has to spend time understanding what you want and figuring out how to do it (or if it's even possible). That's why the first payment is in advance and is to create a plan. If you're asking for something that makes FreeCAD better for many people, you might be able to share cost or phase it in.

Finally, don't push for a complete, polished, perfect solution. Aim for a meets-minimum goal. This lets other parts of the community improve the idea, make it more generally useful, and revise workflow.

I, for one, would like to see this done more often. I honestly think it leads to a better application and makes FOSS development more sustainable.
keithsloan52
Veteran
Posts: 2753
Joined: Mon Feb 27, 2012 5:31 pm

Re: Features for money?

Post by keithsloan52 »

Looking at the initial requirement, one challenge is being able to move things around. There is a newish facility in PartDesign that allows this
https://wiki.freecadweb.org/PartDesign_ ... eInTree/en. Don't think it is implemented elsewhere.

So if one it happy with creating in PartDesign then should be not too difficult to implement as a macro.

So maybe using PartDesign workbench, create a Body, create a Part in the Body, create the panels under the Part.
Select the Part, invoke the macro, which uses the Parts.OutList to access the Objects to be manipulated.
ISwearImCool
Posts: 8
Joined: Tue Feb 01, 2022 2:23 am

Re: Features for money?

Post by ISwearImCool »

@sliptonic thank you for the detailed reply

@keithsloan52 mentioned realthunder. I wonder if he could slide this sort of thing into Assembly3 as you can already slap parts together with it. I just want to do bool cuts to the pieces in a low effort, flexible and parametric way.

@onekk I'm using part workbench mostly for attempting to automate the cuts right now, but I could see this working in the assembly work bench as well.

Here's the problem:
https://www.dropbox.com/s/fzn7746n5nmah ... FCStd?dl=0

I just made this thing as a test of booleans for feature creation and managing the parts spiralled out of control. The core of the issue is that the boolean tool is designed for making a single part, whereas I'm looking for something that more functions as a method of removing material from multiple parts that I want to keep while preserving the parts.

I think some bolt tools are most similar to what I'm after. Adding the bolt both keeps the bolt around and makes the hole for it.

@adrianinsaval If you see the included file above, you can see how quickly it becomes hard to manage the parts.

@dprojects I make a variety of things. The things I make most are timber frames but I also make furniture. You can also check the simple box above where my attempted workflow ran aground. Most recent thing I made was a traditional 5 panel door with through mortises. When modeling it, wouldn't it be sweet to be able to have a top level item in the tree where you can put the other stuff in so as to have all your dados and mortises generated for you?

Example

Cut Hierarchy

panel array
left stile
right stile
top rail
common rail array
bottom rail

---

All that the modeller adds as far as joinery is the tenons on the rails. The panel array cuts the dados in both the rails and stiles, the rails cut the mortises into the stiles. Know what I mean? The computer knows where the tenons and panels are. It should be able to cut the dados and mortises into the parts parametrically. That way if I change the location of a rail or whatever, the mortise follows and the parts drawing is updated.
chrisb
Veteran
Posts: 53785
Joined: Tue Mar 17, 2015 9:14 am

Re: Features for money?

Post by chrisb »

The box from your dropbox doesn't really seem to be that complicated. Perhaps it is sufficient to learn the existing tools better. What you describe - cutting multiple objects - could for example be made with a compound.

Edit: Let me add, that I'm not at all against payed development. And yes, such a function could indeed be helpful. But I'm also looking at the existing tools and at the overall function of FreeCAD.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply