FreeCAD Managing Expectations: Difference between revisions

From FreeCAD Documentation
No edit summary
 
(48 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
{{VeryImportantMessage|June 29, 2022: We understand that recently some [insert vendor name] has raised their prices again (this is becoming a yearly thing). We expect a lot of 'CADfugees' to be seeking alternatives. We want to let y'all know that we're sorry you've been squeezed and begrudgingly need to find alternate software + go through the process of learning it. Please check your attitude and do not vent your frustration on the FreeCAD community though. We're doing our own thing. If you want to help us build a FLOSS CAD/CAM/FEM please join us. But for those of you who are angry and want to vent, please do so on the [insert vendor name] forums not on the FreeCAD forums.}}

<!--T:68-->
{{VeryImportantMessage|While we welcome and encourage community growth and participation, demands, emotional rants and wild claims are generally poorly received as our community is made up of many experienced and passionate supporters of FreeCAD who have heard similar statements many times over. If you find a feature lacking, or something which is annoying for you, we highly encourage you to consider getting engaged with the code itself. FreeCAD is largely developed by a relatively small group of talented people who all have day jobs, families and other interests beyond just programming on-demand. If you have the skills (Python/C++) and motivation to participate, your contributions can help make FreeCAD even better than it is today. You can find tracked bugs/feature requests [https://github.com/FreeCAD/FreeCAD/issues here].}}

</translate>
{{TOCright}}
{{TOCright}}
<translate>
<translate>
Line 9: Line 14:
This wiki page is intended for new FreeCAD users coming from other CAD/CAM solutions.
This wiki page is intended for new FreeCAD users coming from other CAD/CAM solutions.


== Opening Statement == <!--T:39-->
== Opening statement == <!--T:69-->


<!--T:70-->
The FreeCAD community understands that many hobbyists, freelance designers and small businesses often seek refuge from the high costs and licensing restrictions of commercial software, or perhaps you merely chose FreeCAD because you believe in the philosophy behind FOSS. In either case, WELCOME! There are many users, just like you who have successfully made the transition to FreeCAD for their personal and professional needs. This wiki page is designed to help set you on the path of success and establish some realistic expectations while diving into the ''FreeCAD Way'', which is most likely quite a bit different than what you may have grown accustomed to with other popular CAD software.
Many hobbyists, freelance designers and small businesses often seek refuge from the high costs and licensing restrictions of commercial software, or perhaps you merely choose FreeCAD because you believe in the philosophy behind [https://en.wikipedia.org/wiki/FOSS FOSS]. In either case, WELCOME! There are many users, just like you who have successfully made the transition to FreeCAD for their personal and professional needs. This wiki page is designed to help set you on the path to success and establish some realistic expectations while diving into the ''FreeCAD Way'', which is most likely quite a bit different from what you may have grown accustomed to with other popular CAD software.

== Disclaimer: ==
'' While we welcome and encourage community growth and participation, demands, emotional rants and wild claims are generally poorly received as our community is made up of many experienced and passionate supporters of FreeCAD who have heard similar statements many times over. If you find a feature lacking, or something which is an annoying bug for you, we highly encourage you to consider getting engaged with the code itself. FreeCAD is largely developed by a relatively small group of talented people who all have day jobs, families and other interests beyond just programming on-demand. If you have the skills (Python/C++) and motivation to participate, your contributions can help make FreeCAD even better than it is today. You can find tracked bugs/feature requests [https://github.com/FreeCAD/FreeCAD/issues here]. ''


== What can I expect? == <!--T:43-->
== What can I expect? == <!--T:43-->


<!--T:44-->
<!--T:44-->
At its core FreeCAD is a parametric modeler. It uses a workbench concept, where each workbench is responsible for specific tasks and functions. This construct is very powerful (but can also be confusing for new users). As such it can be used for many purposes. It is actively developed, used in production, and quite stable. However, like any other CAD program, FreeCAD is not 100% stable.
At its core, FreeCAD is a powerful parametric modeler. It uses a modular 'workbench' concept, where each workbench is responsible for specific tasks and functions. This concept is very flexible and can be successfully used for many purposes. FreeCAD is actively developed, used in production, and quite stable; but like any other CAD program, it is not 100% stable.


<!--T:45-->
<!--T:45-->
Coming from another CAD program you may find FreeCAD terminology, structure and organization to be slightly foreign. You might also have to adjust your workflow, learn functional workarounds or utilize our powerful [https://wiki.freecadweb.org/Macros macro] system, but in many cases you will be able to achieve what you want. And if you need help: we have a very active and responsive [https://forum.freecad.org/index.php forum] willing to assist. Among the forum members there are bound to be (former) users of your current CAD program. So do not hesitate to tap into that resource.
Coming from another CAD program you may find FreeCAD's terminology, structure and organization to be slightly foreign. You will probably need to make some adjustments to your workflows, learn functional workarounds or utilize our powerful [[Macros|macro]] ecosystem, but in most cases you will be able to achieve what you want. And if you need help: we have a very active and responsive [https://forum.freecad.org/index.php forum] willing to assist. Among the forum members there are bound to be (former) users of your current CAD program. So do not hesitate to tap into that resource.

== Learning Resources: ==
==== Official: ====
[https://wiki.freecadweb.org This Wiki]<br>
[https://forum.freecadweb.org/viewforum.php?f=3 The Help Forum]<br>
[https://wiki.freecadweb.org/Workarounds Work-arounds for known problems]<br>

==== Un-Official: ====
The following YouTube Channels have reasonably good quality content focused around FreeCAD<br>
''MangoJelly Solutions'' (several beginner, intermediate and advanced video playlists)<br>
''Joko EngineeringHelp'' (intermediate/advanced videos)<br>
''Brodie Fairhall'' (A couple of videos helping Fusion 360 users transition to FreeCAD)<br>
and more... it is recommended to ignore any tutorials not based on version 0.18 or newer.


== How can I contribute? == <!--T:49-->
== How can I contribute? == <!--T:49-->
Line 42: Line 32:
There are many ways: you can make a [[Donate|donation]], help with [https://forum.freecad.org/index.php forum] questions, or write documentation or code. See [[Help_FreeCAD|Help FreeCAD]].
There are many ways: you can make a [[Donate|donation]], help with [https://forum.freecad.org/index.php forum] questions, or write documentation or code. See [[Help_FreeCAD|Help FreeCAD]].


== Learning resources == <!--T:71-->


=== Official === <!--T:72-->


<!--T:73-->
* [[Main_Page|This Wiki]]
* [https://forum.freecadweb.org/viewforum.php?f=3 The Help Forum]
* [[Workarounds|Workarounds for known problems]]


=== Un-official === <!--T:74-->


<!--T:75-->
The following YouTube Channels have reasonably good quality content focused around FreeCAD (it is recommended to ignore any tutorials based on version 0.17 or earlier):
* ''MangoJelly Solutions'' (several beginner, intermediate and advanced video playlists)
* ''Joko EngineeringHelp'' (intermediate/advanced videos)
* ''Brodie Fairhall'' (A couple of videos helping Fusion 360 users transition to FreeCAD)
* And more...


== Questions and answers == <!--T:76-->


=== "Can FreeCAD do XYZ?" === <!--T:77-->
== What FreeCAD is not == <!--T:51-->


=== Non Parametric === <!--T:52-->
<!--T:78-->
FreeCAD already has the ability to do the following types of work:
* Spline-based parametric modeling using the [[Part_Workbench|Part]], [[PartDesign_Workbench|Part Design]] and [[Sketcher_Workbench|Sketcher]] workbenches
* [[Surface_Workbench|Surface]]/[[Curves_Workbench|Curves]] modeling using NURBS
* [[Mesh_Workbench|Mesh]] import/modifications
* Assembly simulation (3 different approaches, [[A2plus_Workbench|A2+]], [[Assembly3_Workbench|ASM3]], and [[Assembly4_Workbench|ASM4]], are all actively developed)
* [[Arch_Workbench|Architectural]]/[[BIM_Workbench|BIM]] design
* Mechanical Stress Analysis ([[FEM_Workbench|FEM/FEA]])
* Computational Fluid Dynamic Analysis ([[Cfd_Workbench|CFD]])
* [[TechDraw_Workbench|Technical Drawings]]/[[Draft_Workbench|Drafting]]
* And more [[Workbenches|core]] and [[External_workbenches|external]] workbenches...


=== "User interface (UI/UX) is ugly, odd, confusing or not like XYZ Software!" === <!--T:79-->
<!--T:53-->
* FreeCAD can be used non-parametrically. But the user needs to know how.
* Blender is the ideal free libre opensource tool for non-parametric design.


=== Mesh Modeler === <!--T:54-->
<!--T:80-->
FreeCAD allows for [[Interface_Customization|extensive customization]] of the user interface. While we realize the default colors or arrangement of elements may not be pleasing to everyone, we encourage you to tailor it to your own specific needs and work-flows. If you feel you've come up with what could be a popular arrangement/theme/customized toolbars etc. please feel free to look into leveraging the recently added [[Preference_Packs|Preference Pack]] feature and share it with the community. Perhaps your efforts will help someone else in their transition to FreeCAD. FOSS software thrives on all sorts of community contributions and this is a common topic of discussion.


=== "Why doesn't this feature work like in XYZ software?" === <!--T:81-->
<!--T:55-->
* Again, Blender is the more appropriate application for mesh modeling.


== Common Perspectives == <!--T:56-->
<!--T:82-->
FreeCAD has a development pedigree spanning over [[History|20 years]]. Functions and behaviors are heavily reviewed, debated and assessed before they are added or changed. Have an open mind, while it may not be apparent, there is likely a very good rationale behind such things. This isn't to say that FreeCAD is perfect, but please consider that what you've grown used to may not be the only or best way to get something done.


=== FreeCAD has not reached v1.0 === <!--T:57-->
=== "I can't figure out the workflow of FreeCAD!" === <!--T:83-->


=== FreeCAD is not stable === <!--T:58-->
<!--T:84-->
FreeCAD has a philosophy to not dictate 'how' you use it. Rather it provides tools and a wide array of options under which you 'can' use them. This means two things. First, the software isn't going to necessarily 'guide' or 'steer' you toward a certain style or workflow. Second, this means you can experiment with the tools and find what works best for you. This doesn't mean there aren't general [[Feature_editing|'best practices']] to keep in mind while using FreeCAD, but those best practices generally apply to any professional design software when creating stable models.


=== "What the heck is with all these workbenches?" === <!--T:85-->
<!--T:59-->
This is true to of any of many CAD applications. FreeCAD suffers from this as well. Although the community works to address catastrophic crashes quickly, users are encouraged to employ a workflow in which they save their work often and utilize the backup features (available in preferences) to recover or roll-back from problematic issues. An important point here to consider is that many users aren't always using the most up to date version of FreeCAD and end up complaining of deprecated or already addressed instability problems. FreeCAD also has a very long release cycle and in the past has not backported fixes due to time and 3rd-party dependency complexity. In short, many bugs get fixed in the development version and so users need to make the unorthodox decision of running a development version of FreeCAD instead of the 'stable'.


=== FreeCAD UI is ugly === <!--T:60-->
<!--T:86-->
One of the powerful features of FreeCAD is it's modularity. This is done by compartmentalizing tool development into workbenches. Once you are familiar with the tools provided they can often work synergistically to create highly complex and advanced models. A great analogy is that FreeCAD is structured similar to a mechanics rolling tool-chest, and each workbench is a drawer of specific tools. You can use these tools to build a car, but it is up to the mechanic to understand how to use them to accomplish their goal.


=== "FreeCAD is fundamentally broken, my models blow-up!" === <!--T:87-->
<!--T:61-->
* At its core, this is relegated to 'Eye of the beholder' (subjective) perspective. FreeCAD has been around a very long time, its dedicated users have grown familiar with the user interface.
* The topic of changes to UI/UX is very contentious. Changes to the UI/UX require proof of concepts, popularity in the community, and effectiveness to eventually make it in to the mainline FreeCAD code. This takes time and diplomacy.
* Is it really? Thanks to customization possibilities (as of v0.20) there is an ability to customize the UI (see [[Preference_Packs|Preference Packs]]). At some point very soon, FreeCAD will be provide a comprehensive flexibility to customize its UI, something other CAD packages would not be able to boast.


== Realities == <!--T:62-->
<!--T:88-->
FreeCAD is built around an open-source Geometric Modeling Kernel called "[[OpenCASCADE|OpenCascade Technology]]" (or OCC). It is the most feature rich and mature open source modeling kernel available. However it does have bugs, quirks and limitations. One of these is referred to as the [[Topological_naming_problem|"Topological Naming Problem"]] (or TNP). Whenever a model is modified, the internal names of faces and edges are changed by the kernel causing undesirable behavior for any model features that reference them. The current development cycle is focused around implementing a naming algorithm designed to mitigate this effect under most circumstances. However, be aware that TNP mitigation is not a replacement for [[Feature_editing|good modeling practice and techniques]].


=== OpenCascade Kernel === <!--T:63-->
== OpenCascade kernel == <!--T:63-->


<!--T:64-->
<!--T:64-->
OpenCascade (OCC/OCCT) is a core external CAD kernel dependency that FreeCAD is utterly dependent on. There are many open 'upstream' bugs that the FreeCAD community has identified and track regarding OCC. We track them via the:
OpenCascade (OCC) is an external CAD kernel that FreeCAD is utterly dependent on. There are many open 'upstream' bugs that the FreeCAD community has identified and tracks regarding OCC. See:
* [https://github.com/FreeCAD/FreeCAD/issues?q=is%3Aopen+is%3Aissue+label%3A%223rd+Party%3A+OCC%22 bugtracker]
* [https://github.com/FreeCAD/FreeCAD/issues?q=is%3Aopen+is%3Aissue+label%3A%223rd+Party%3A+OCC%22 Bugtracker]
* [https://forum.freecad.org/viewtopic.php?t=20264 forum thread] called ''OCC Bugs in the Bugtracker''
* [https://forum.freecad.org/viewtopic.php?t=20264 OCC Bugs in the Bugtracker (forum thread)]

=== Qt === <!--T:65-->



== Links == <!--T:66-->
== Additional links == <!--T:66-->


<!--T:67-->
<!--T:67-->

Latest revision as of 20:16, 13 July 2022

Other languages:
While we welcome and encourage community growth and participation, demands, emotional rants and wild claims are generally poorly received as our community is made up of many experienced and passionate supporters of FreeCAD who have heard similar statements many times over. If you find a feature lacking, or something which is annoying for you, we highly encourage you to consider getting engaged with the code itself. FreeCAD is largely developed by a relatively small group of talented people who all have day jobs, families and other interests beyond just programming on-demand. If you have the skills (Python/C++) and motivation to participate, your contributions can help make FreeCAD even better than it is today. You can find tracked bugs/feature requests here.

Purpose

This wiki page is intended for new FreeCAD users coming from other CAD/CAM solutions.

Opening statement

Many hobbyists, freelance designers and small businesses often seek refuge from the high costs and licensing restrictions of commercial software, or perhaps you merely choose FreeCAD because you believe in the philosophy behind FOSS. In either case, WELCOME! There are many users, just like you who have successfully made the transition to FreeCAD for their personal and professional needs. This wiki page is designed to help set you on the path to success and establish some realistic expectations while diving into the FreeCAD Way, which is most likely quite a bit different from what you may have grown accustomed to with other popular CAD software.

What can I expect?

At its core, FreeCAD is a powerful parametric modeler. It uses a modular 'workbench' concept, where each workbench is responsible for specific tasks and functions. This concept is very flexible and can be successfully used for many purposes. FreeCAD is actively developed, used in production, and quite stable; but like any other CAD program, it is not 100% stable.

Coming from another CAD program you may find FreeCAD's terminology, structure and organization to be slightly foreign. You will probably need to make some adjustments to your workflows, learn functional workarounds or utilize our powerful macro ecosystem, but in most cases you will be able to achieve what you want. And if you need help: we have a very active and responsive forum willing to assist. Among the forum members there are bound to be (former) users of your current CAD program. So do not hesitate to tap into that resource.

How can I contribute?

There are many ways: you can make a donation, help with forum questions, or write documentation or code. See Help FreeCAD.

Learning resources

Official

Un-official

The following YouTube Channels have reasonably good quality content focused around FreeCAD (it is recommended to ignore any tutorials based on version 0.17 or earlier):

  • MangoJelly Solutions (several beginner, intermediate and advanced video playlists)
  • Joko EngineeringHelp (intermediate/advanced videos)
  • Brodie Fairhall (A couple of videos helping Fusion 360 users transition to FreeCAD)
  • And more...

Questions and answers

"Can FreeCAD do XYZ?"

FreeCAD already has the ability to do the following types of work:

"User interface (UI/UX) is ugly, odd, confusing or not like XYZ Software!"

FreeCAD allows for extensive customization of the user interface. While we realize the default colors or arrangement of elements may not be pleasing to everyone, we encourage you to tailor it to your own specific needs and work-flows. If you feel you've come up with what could be a popular arrangement/theme/customized toolbars etc. please feel free to look into leveraging the recently added Preference Pack feature and share it with the community. Perhaps your efforts will help someone else in their transition to FreeCAD. FOSS software thrives on all sorts of community contributions and this is a common topic of discussion.

"Why doesn't this feature work like in XYZ software?"

FreeCAD has a development pedigree spanning over 20 years. Functions and behaviors are heavily reviewed, debated and assessed before they are added or changed. Have an open mind, while it may not be apparent, there is likely a very good rationale behind such things. This isn't to say that FreeCAD is perfect, but please consider that what you've grown used to may not be the only or best way to get something done.

"I can't figure out the workflow of FreeCAD!"

FreeCAD has a philosophy to not dictate 'how' you use it. Rather it provides tools and a wide array of options under which you 'can' use them. This means two things. First, the software isn't going to necessarily 'guide' or 'steer' you toward a certain style or workflow. Second, this means you can experiment with the tools and find what works best for you. This doesn't mean there aren't general 'best practices' to keep in mind while using FreeCAD, but those best practices generally apply to any professional design software when creating stable models.

"What the heck is with all these workbenches?"

One of the powerful features of FreeCAD is it's modularity. This is done by compartmentalizing tool development into workbenches. Once you are familiar with the tools provided they can often work synergistically to create highly complex and advanced models. A great analogy is that FreeCAD is structured similar to a mechanics rolling tool-chest, and each workbench is a drawer of specific tools. You can use these tools to build a car, but it is up to the mechanic to understand how to use them to accomplish their goal.

"FreeCAD is fundamentally broken, my models blow-up!"

FreeCAD is built around an open-source Geometric Modeling Kernel called "OpenCascade Technology" (or OCC). It is the most feature rich and mature open source modeling kernel available. However it does have bugs, quirks and limitations. One of these is referred to as the "Topological Naming Problem" (or TNP). Whenever a model is modified, the internal names of faces and edges are changed by the kernel causing undesirable behavior for any model features that reference them. The current development cycle is focused around implementing a naming algorithm designed to mitigate this effect under most circumstances. However, be aware that TNP mitigation is not a replacement for good modeling practice and techniques.

OpenCascade kernel

OpenCascade (OCC) is an external CAD kernel that FreeCAD is utterly dependent on. There are many open 'upstream' bugs that the FreeCAD community has identified and tracks regarding OCC. See:

Additional links