CAD, CADCAM on Linux

Home Model Engine Machinist Forum

Help Support Home Model Engine Machinist Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
You have outlined the problem of FreeCAD in a nutshell.
1. There is no leadership
2. coders write like mad (some of what I see is phenomenal!!)
3. documentation happens very slowly and is generally at least 12 months behind the coding
4. tutorials - - - - well they're just thin on the ground.
5. the longer time users have gotten used to the miasma so this is all considered to be 'not that much of an issue'
this whole thing reminds of a rather sarcastic saying that I heard more than a few times in my youth - -
- - - - "you know, after a while a dog gets so used to being hung by the neck that he doesn't even kick anymore."

If FreeCAD could resolve all this - - - - I think they could put Catia or any other huge CAD system in the dust - - - FreeCAD has even more going on and a far wider range of thinking (that's wonderful). I don't think it will happen though which is just too bad.
Thank you for that, that is an aspect I had completely overlookt. If a coder codes for something s/he uses daily (like a document program), then he/she knows what to code for. But do the coders use the FreeCAD themselves? if not, then they may not understand what is needed. --That's all underneath the fact that they are disorganized.
 
Thank you for that, that is an aspect I had completely overlookt. If a coder codes for something s/he uses daily (like a document program), then he/she knows what to code for. But do the coders use the FreeCAD themselves? if not, then they may not understand what is needed. --That's all underneath the fact that they are disorganized.

AIUI most of the coders 'are' wanting to use FreeCAD.
I wonder about some of their experience and/or knowledge though.
1. the paltry list of available metric thread sizes and strengths for bolts
2. often mixing of tubing and piping re: specifications
3. truncated listing of pipe schedules and sizes
4. doesn't seem like most 'modelling' care about the making of parts (without tolerancing and 'real' measurements the thing produced is a 'pretty picture' not a
useful part of anything) - - - - GD & T is hugely important except to those just playing with paper or electronic images.

Ja - - - I know this all sounds arrogant - - - - but I've spent too many years fabricating what engineers said they wanted and fixing the issues that they seemed to have so little understanding of to be at all impressed by engineering credentials. I have met a few engineers that weren't that way but man oh man they are a rather small bunch.
 
I think you are asking an awful lot from coders. You want them to be engineers with 30 years of experience and coders with 30 years experience too. There just isn't enough time to be both, plus coding for every possibility gets to be such a big program it won't run on most hobbyist's computers. As you alluded to, good engineers aren't just produced from their college courses, they are forged by experience and not every one of them has that capability.
 
I think you are asking an awful lot from coders. You want them to be engineers with 30 years of experience and coders with 30 years experience too. There just isn't enough time to be both, plus coding for every possibility gets to be such a big program it won't run on most hobbyist's computers. As you alluded to, good engineers aren't just produced from their college courses, they are forged by experience and not every one of them has that capability.
Well - - - - the coders for FreeCAD are the ones that are listing the 20+ years of engineering experience but that's not my information so I can only go by what they're saying. What they're saying doesn't match up to what I've run into in the field (and regularly there) and that is where my questions as to their training and actual skills come from.
Don't think you necessarily need to have 30 years experience in either - - - - but I do think that without some kind of practical connection all the training you might get really isn't going to make your output - - - - 'useful' and especially not 'practical'. (Case in point - - - - have you tried to change a multi-V serpentine belt on a vehicle lately?)
 
I've been on the opposite side of engineering, trying to repair something an engineer designed. It was probably just fine to be manufactured but nearly impossible to repair. Some engineers are very good at designing for both but I'd say those are rare.
 
Freecad is free. I'm an open source linux bigot. Most of my machines are Linux. I ended up buying Alibre Atom Workbench and tolerate Win10 so I can use it after fighting with Freecad late last year after Fusion changed the rules for hobby folks. I used Fusion as a few years ago I tried Freecad and it didn't work out so well and Fusion360 did. I'm not interested in getting involved in the software development of Freecad, and I'm not going off on the Freecad folks. It's unlikely that I could do much to sort out the issues with Freecad as I'm not knowledgeable enough to provide the expertise that would be required.

Having run large software projects I'll say the following:

1) In terms of consistent user interface and behavior, Freecad is not on par with Blender, Gimp, Darktable, Stellarium, Inkscape, LibreOffice, or Librecad.

2) For software developers to do a good job, there needs to be a clear design based on specific and testable functional requirements. You can write software from a spec without being a subject matter expert, but the less you inherently know about how something should work the better the specs have to be. Anyone who has worked on compartmentalized programs knows that you can build a complicated system from pieces made by folks who only know their small part of the puzzle.

2a) Standardized workflow / terminology guidelines would reduce many of the inconsistencies in the different workbenches.

3) Most, but not all. open source projects of large scale that are widely used and well regarded have some level of user, institutional, government, and/or corporate sponsorship. I don't know what level of support Freecad receives, or how the funds received are controlled/applied to the project. That is not a criticism or a questioning of the folks involved with freecad regarding funding. It is a consideration as finding and hiring people who are both subject matter experts and good tech leads / specification developers isn't easy or cheap. I would hate to have to run a volunteer project for more than a day or two. It's hard to tell a volunteer "No. We will do it this way. I know you love the idea of flashing inverse purple text for help messages, but oh hell no!" . As a volunteer, hearing such a statement makes you wonder why you are giving so much of your time.

4) Developers can only test their own code to a certain extent. With complete integrity, no ego issues, and willingness to find faults, the developer will find many things as they work with their code. They will not however find the things they just plain got wrong conceptually, or most design defects, particularly if the design specs are incomplete or faulty.

5) Good testing requires good test plan(s). You can't always have a specific and quantifiable test case, but that should always be the goal. The test case items should track the design spec items. The design specs should track the requirements. Helps avoid the question "Why would you do that?" being answered with "It seemed like a reasonable next step. If it's so bad why did the app let me do it?". This loops back to item 2.

6) Software methodologies/languages/operating systems come and go, but the underlying rules don't change.

My last app role out for a specialized sort of requirement went to about 28000 sites simultaneously. It was back in the day of CD distribution and installation, not just a case of authorizing 28K users for a web app. The help desk folks still got to go home at the end of the day and get lunch. We still got along two weeks later. Just mentioning this to show that I have at least some experience to support the above thoughts. Over the years I was on teams called on to sort out programs in trouble (software and hardware) quite a few times. Funny thing is the root causes were almost always the same. Vague or missing / incomplete understanding of how the thing was supposed to work that didn't get resolved before getting way down the road.
 
I've been on the opposite side of engineering, trying to repair something an engineer designed. It was probably just fine to be manufactured but nearly impossible to repair. Some engineers are very good at designing for both but I'd say those are rare.
I saw a cartoon years ago, "Let's play engineer and tool maker, you design something and I'll make it work!"
 
I've been on the opposite side of engineering, trying to repair something an engineer designed. It was probably just fine to be manufactured but nearly impossible to repair. Some engineers are very good at designing for both but I'd say those are rare.
You may be surprised, or not, as the case may be, to find out that most companies today 'are' designing for non-repairability.
This means that you have to take it to the dealer - - - who then uses only OEM parts.
Don't you love it when your wallet gets emptied like running a garden hose into a 6" sewer pipe? (>rant off!)
 
Last edited:
Freecad is free. I'm an open source linux bigot. Most of my machines are Linux. I ended up buying Alibre Atom Workbench and tolerate Win10 so I can use it after fighting with Freecad late last year after Fusion changed the rules for hobby folks. I used Fusion as a few years ago I tried Freecad and it didn't work out so well and Fusion360 did. I'm not interested in getting involved in the software development of Freecad, and I'm not going off on the Freecad folks. It's unlikely that I could do much to sort out the issues with Freecad as I'm not knowledgeable enough to provide the expertise that would be required.

Having run large software projects I'll say the following:

1) In terms of consistent user interface and behavior, Freecad is not on par with Blender, Gimp, Darktable, Stellarium, Inkscape, LibreOffice, or Librecad.

2) For software developers to do a good job, there needs to be a clear design based on specific and testable functional requirements. You can write software from a spec without being a subject matter expert, but the less you inherently know about how something should work the better the specs have to be. Anyone who has worked on compartmentalized programs knows that you can build a complicated system from pieces made by folks who only know their small part of the puzzle.

2a) Standardized workflow / terminology guidelines would reduce many of the inconsistencies in the different workbenches.

3) Most, but not all. open source projects of large scale that are widely used and well regarded have some level of user, institutional, government, and/or corporate sponsorship. I don't know what level of support Freecad receives, or how the funds received are controlled/applied to the project. That is not a criticism or a questioning of the folks involved with freecad regarding funding. It is a consideration as finding and hiring people who are both subject matter experts and good tech leads / specification developers isn't easy or cheap. I would hate to have to run a volunteer project for more than a day or two. It's hard to tell a volunteer "No. We will do it this way. I know you love the idea of flashing inverse purple text for help messages, but oh hell no!" . As a volunteer, hearing such a statement makes you wonder why you are giving so much of your time.

4) Developers can only test their own code to a certain extent. With complete integrity, no ego issues, and willingness to find faults, the developer will find many things as they work with their code. They will not however find the things they just plain got wrong conceptually, or most design defects, particularly if the design specs are incomplete or faulty.

5) Good testing requires good test plan(s). You can't always have a specific and quantifiable test case, but that should always be the goal. The test case items should track the design spec items. The design specs should track the requirements. Helps avoid the question "Why would you do that?" being answered with "It seemed like a reasonable next step. If it's so bad why did the app let me do it?". This loops back to item 2.

6) Software methodologies/languages/operating systems come and go, but the underlying rules don't change.

My last app role out for a specialized sort of requirement went to about 28000 sites simultaneously. It was back in the day of CD distribution and installation, not just a case of authorizing 28K users for a web app. The help desk folks still got to go home at the end of the day and get lunch. We still got along two weeks later. Just mentioning this to show that I have at least some experience to support the above thoughts. Over the years I was on teams called on to sort out programs in trouble (software and hardware) quite a few times. Funny thing is the root causes were almost always the same. Vague or missing / incomplete understanding of how the thing was supposed to work that didn't get resolved before getting way down the road.
1. Not in their mind at least
2. It seems to me that anyone wishing to code is just encouraged to 'write code'.
I'm not a coding expert (rather the opposite) but the code I've looked at is sparsely commented at best.
A mentor of mine, deceased just last late spring, talked about commenting more than once. (He tended to comment a LOT!)
2a. Just not going to happen.
FreeCAD in my opinion uses the 'fan' kind of harness and each entity is pulling with all their might in their own direction.
Means that the overall entity moves in jerky steps and things just don't talk well to each other.
3. FreeCAD has not developed any major support.
The little conversation on the topic seems to resolve to if you want something done pay a programmer to do it.
There are also some of the coders who's sig file includes their patreon address.
4. Ah yes - - - - that ego thing.
Engineering types really don't like getting called on holes in what they're doing by the shop floor kind of people.
Means that getting changes is very very difficult.
5. Dunno how that works.
6. Oh yes - - - - - its one of the reasons I don't use M$ software very much, the original was poorly written and the every increasing layer of bandages still hasn't fixed the underlying core issues. I remember getting really ticked at the 'security opportunities' and then as I ruminated on that I realized that the anit-virus etc industry was 'only' worth some $6 billion USD (This was in the early 2000s.) It was then that I realized that there was no desire for this problem to be fixed - - - - there just was too much money to be made. This situation has not improved from then imo.

I'm not trying to blacked FreeCAD - - - - - just airing my grievances.
On the forums there - - - - I was told to learn to do things the FreeCAD way - - - I sometimes got some timely help so the community is there. The way things were working there doesn't seem to be any will to change. By the time one has used it for a couple three years - - - - well then there is the inertia against change. C'est dommage!!!!!!
I think FreeCAD could have a huge user base but given the issues - - - - - I doubt its going to happen.
 
If enough people got tired of the madness, the project could be forked. Open source software is a participatory sport. It could even possibly be done with fewer software engineers, if someone wanted to trade off slower development for the documentation and teaching materials keeping up to speed.

Usually where I've seen that happen to an open source project it's because some larger organization takes an interest. In the case of FreeCAD it'd have to be a university or consortium thereof, or some big publicly-funded project that needed a bunch of mechanical engineering done (i.e., analogous to how we got KiCad because CERN wanted circuit boards for the LHC).
 
If enough people got tired of the madness, the project could be forked. Open source software is a participatory sport. It could even possibly be done with fewer software engineers, if someone wanted to trade off slower development for the documentation and teaching materials keeping up to speed.

Usually where I've seen that happen to an open source project it's because some larger organization takes an interest. In the case of FreeCAD it'd have to be a university or consortium thereof, or some big publicly-funded project that needed a bunch of mechanical engineering done (i.e., analogous to how we got KiCad because CERN wanted circuit boards for the LHC).
TIG welding was developed because hydrogen leakt thru the welds of stick welding for the space program.
 
Not sure how it relates to wanting decent CAD on linux but the TIG patent to Meredith was in 1941, under the trade name Heliarc. MIG came several years later, still well before the space program.

There had been processes tried with varying success to use a shielding gas with arc welding earlier, increased use of magnesium and aluminum as structural elements was the main driver.

TIG: US Patent Number 2,274,631
 
Not sure how it relates to wanting decent CAD on linux but the TIG patent to Meredith was in 1941, under the trade name Heliarc. MIG came several years later, still well before the space program.

There had been processes tried with varying success to use a shielding gas with arc welding earlier, increased use of magnesium and aluminum as structural elements was the main driver.

TIG: US Patent Number 2,274,631
Just mentioning this because sometimes things get developed because of need. The mother of inventions . . . .
 
Here's a tool/library I wrote (multi-platform).

deadsy/sdfx

I use it to generate models for 3d printing.

I haven't used it as input for a metal cutting CNC machine but if you can turn an stl into a suitable tool path you're golden.

E.g Here's an ETW Wallaby cylinder head.

head.png
 
Here's a tool/library I wrote (multi-platform).

deadsy/sdfx

I use it to generate models for 3d printing.

I haven't used it as input for a metal cutting CNC machine but if you can turn an stl into a suitable tool path you're golden.

E.g Here's an ETW Wallaby cylinder head.

View attachment 123188
Interesting and impressive!
 
Here's a tool/library I wrote (multi-platform).

deadsy/sdfx

I use it to generate models for 3d printing.

I haven't used it as input for a metal cutting CNC machine but if you can turn an stl into a suitable tool path you're golden.

E.g Here's an ETW Wallaby cylinder head.

View attachment 123188
Nice something I'd like to learn!
 
Hello everyone,
I've been using Linux on all of my computers for years.
FreeCAD 3D-CAD for drawing my models
LibreCAD for 2D drawings
DXF2GCODE for CNC program creation. I'm still learning to do that in FreeCAD.
Blender for RayTracing graphics
LinuxCNC to control the milling machine

Linux can do everything what i need and works fine.
Sorry for my English it is translated as "babelfisch". I speak German.

Greetings Beat
Well I'll try not to hold that against you! Attached is my road bike.....working on a German bike so different from British or Italion stuff!!
 

Attachments

  • Redbackhome.JPG
    Redbackhome.JPG
    408.9 KB · Views: 122
Back
Top