where do you see FreeCAD main focus go towards?

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: where do you see FreeCAD main focus go towards?

Post by Zolko »

Cekuhnen wrote: Thu Jul 29, 2021 8:48 pm true but i think one has a choice to be neutral / polite or condescending way.
A general politeness is also to quote the part of the message you're answering-to. Not the entire message (as some do) and not nothing (as you do) but the relevant bits of it. This allows to follow the discussion .... and is a proof that you are actually caring enough about what you say to filter out what is relevant. Answering "true but ... " without any reference is a way to tell people that you're time is too valuable for them and they have to look up themselves what you mean

Politeness begins at home, you get what you seed
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: where do you see FreeCAD main focus go towards?

Post by onekk »

I see some very good efforts in many things:

- Some recent improvements in TechDraw seems to be very "welcomed" (sorry by english is not my mother language) by technical users
- I see that OCCT has some flaws, but it one of the most powerful engine around, and some efforts are done to improve his behaviour. But if you see some discussions on OCCT other than FreeCAD forum, you will see that OCCT is not alon ein failing on some operations, maybe because they are complex or need some heavy computations and maybe some desired result are "not easily achievable" without doing some cheating, in FreeCAD and OCCT that are open source this is more clear, in other engines you will have to "trust" on the internal calculations
- Assembly is a nightmare, but I think that the point is "the paradigm" of "how an assembly" will be done, as someone as already told, the tripartion of Assembly were (are?) done to fulfill different scopes, so maybe the efforts to unify three different "incarnations" has to be done after a deep discussion on "what assembly is made for".

So to make thing shorts, one of the main concerns about FreeCAD "future" is "there will be a sort of guidance" maybe a "foundation" and a place were some discussion will be done about a "roadmap" and "development plans" and where some decision were taken and "developed" or the development will remain "pro bono" made by volunteers without an "overall view".

I have not found clearly a place where "main developers" are listed and a there is a clear "attribution" of tasks, maybe because I haven't searched well, so the general impression is that there is no a "clear path", and many users share this opinion.

But maybe the real question is:

FreeCAD is an usable state?

In this sense my answer is clearly "YES"

FreeCAD would be usable in production environment?

Maybe, for a small shop that design things, i could say "yes", there are some examples around of "things made using FreeCAD" that prove the answers.

Different thing is about "interoperability" with other software, but even with "some major CAD programs" there are incompatibilies between formats even if they are made by the same "company" that is "leader in the market".

FreeCAD is usable in teaching?

I think "Yes" as many things are doable and the basis are all here.

How OCCT is a good engine?

I think yes see as example https://dev.opencascade.org/doc/occt-7. ... algos.html

To see how powerful is the engine.

About curved surfaced, i have a problem and I have researched around, as many "universities papers" are focusing on this argument, the thing is not so plain and easy as a first glance it may seem, and many "modeling engines" are failing to calculate or obtain smooth surfaces, as the "base research" about new algorithms and "new ways" of doing thing is revealing that this "is not an easy task".

There are some quirks on curves as it seems that the "matter" is splitted in many WB, but maybe simply making a WB that expose simply a toolbar with buttons that invoke operations from different workbenches will suffice to make "a unified view" of the matter.

Sorry for "jumping in" maybe in an inappropriate way or Off Topic.

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
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: where do you see FreeCAD main focus go towards?

Post by sgrogan »

Cekuhnen wrote: Tue Jul 27, 2021 3:43 pm Hi all

I am curious about where you see the FreeCADs focus to be ?
This can only be answered individually.
First, everything here is my opinion not a policy of the FreeCAD project.
Second, it is difficult to perceive/project "tone" on an internet forum. I respect and appreciate your questions and perceptions.

As already mentioned FreeCAD is all volunteer, and as such everything starts when someone has the time, skill, and interest to contribute.
There is no roadmap or time table. "It's done when it's done"

Even then, everything is community driven by consent. It's a lot like herding cats.
For new users this is difficult to accept, but in the past this mantra has served the project well.

The project stresses Freedom over everything, and at times that my detract from an edict that, this will be done that way, go to work.

RT's work is a good example. His work came from a long discussion about how to create a native assembly workbench. A group of "heavy hitter" developers discussed the concepts in a very long thread. No consensus could be achieved, so RT forked FreeCAD, to show his POC. This evolved into TPN and GUI enhancement. One built upon the other, and now it is difficult to merge into master. RT's link work is in master, so we are making progress.

If a user doesn't like the way that FreeCAD core progresses then add-on workbenches are a potential solution. These are technically separated from FreeCAD master and allow for almost unlimited customization. Of course these are subject to maintenance by the workbench author(s)
"fight the good fight"
keithsloan52
Veteran
Posts: 2756
Joined: Mon Feb 27, 2012 5:31 pm

Re: where do you see FreeCAD main focus go towards?

Post by keithsloan52 »

onekk wrote: Fri Jul 30, 2021 3:47 pm
There are some quirks on curves as it seems that the "matter" is splitted in many WB, but maybe simply making a WB that expose simply a toolbar with buttons that invoke operations from different workbenches will suffice to make "a unified view" of the matter.
Don't think that would help much.

As a pre-req, I think one need the various the curves WB each to have the ability to edit the basic OCCT curve and surface objects otherwise what is created in one is not useable in another. I started an ImportNURBS workbench https://github.com/KeithSloan/ImportNURBS which is able to import surfaces and curves from 3dm files ( i.e. created by Rhino) It uses rhino3dm open source python library and the library creates things at the OCCT curve and surfaces level. Because FreeCAD is built on OCCT they display, but I am not aware of any of the curve workbenches being able to edit them.

Okay you or somebody creates a single toolbar, but each set of tools is an island specific to the workbench it was created by, currently I don't believe you can take what one of the curve workbenches uses and use in another.

This is one of the problems of evolutionary way FreeCAD workbenches develop. Somebody has an idea and codes up a workbench not thinking that the underlying layer has curves and surfaces and one should work with the underlying layer
User avatar
Cekuhnen
Posts: 443
Joined: Sat Jul 10, 2021 11:37 pm

Re: where do you see FreeCAD main focus go towards?

Post by Cekuhnen »

Zolko wrote: Fri Jul 30, 2021 3:12 pm Politeness begins at home, you get what you seed
Your reply is interesting - I am curious if you discover your own judgmental tone.

How I used "true" is quite different than what you through your answer interpreted.

I am also very sure that Freedman fully understood my reply to him which you felt compelled to criticize.

Maybe I should have not to try to select a more polite tone but simply be more direct disagreeing and stated that even how I asked the question was not an excuse to be rude and judgemental.

I simply asked about how people see the development of FC going in a casual way no judgment nothing else - just curious because I am not very familiar with its history.

Posts from Freedman, drmacro, onekk, sgrogan, keithsloan52, Kunda1 were actually really informative.
MacOS Big Sur / Win 10

Designer | Faculty
Wayne State University
Interior - Industrial Design
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: where do you see FreeCAD main focus go towards?

Post by onekk »

keithsloan52 wrote: Fri Jul 30, 2021 7:26 pm Okay you or somebody creates a single toolbar, but each set of tools is an island specific to the workbench it was created by, currently I don't believe you can take what one of the curve workbenches uses and use in another.

This is one of the problems of evolutionary way FreeCAD workbenches develop. Somebody has an idea and codes up a workbench not thinking that the underlying layer has curves and surfaces and one should work with the underlying layer

This is also my idea on what is happening, maybe these pages:

https://dev.opencascade.org/doc/occt-7. ... _data.html

https://dev.opencascade.org/doc/occt-7. ... algos.html

https://dev.opencascade.org/doc/occt-7. ... aling.html

would be a better "base reading" for begionners than many "video tutorial" around.

What is lacking, i think is simply a table that list the OCCT function to FreeCAD exposed function, and with this consideration we return always at the fact that "FreeCAD needs better documentation", form the foundations.

In the sense that there were efforts to make some API documentations but these efforts seems stopped or maybe not exposed in "clear sight", so it lacks of some "fundamentals" from which some user could "leverage" to make things better.

Unfortunately, I'm not skilled in mathemathics to do some "decent documentation" but I have collected some gems from this forums, like this one:
# SHAPES AND CURVES in FREECAD, from
# https://forum.freecadweb.org/viewtopic. ... 11#p463511

There is no 2D shape. All shapes are 3D in OCCT.
We have 2D and 3D geometries :
- 2D points and curves
- 3D points, curves and surfaces

Every edge or face is a trimmed region of the underlying geometry.

....

If no trimming wire is used, the edge/face is automatically bounded to the natural bounds of the curve/surface
This means that infinite surfaces in U, V, or both directions, like planes, cylinders, cones will generate a shape that cannot be displayed.

2D geometries must be "mapped" on a 3D surface to generate a shape :


or this (I haven't wirite down the reference, but probably is from #chrisb)

Topology is a layer above geometry curves (circle, line, ellipse, Bezier, ...) and surfaces (sphere, plane, toroid, bezier, bspline, ...)

So the 3 BASE topology object always has an underlying geometry :
- a Part.Vertex is the topological wrapper of a FreeCAD.Vector (myVertex.Point)
- a Part.Edge is the topological wrapper of a Geometry Curve (myEdge.Curve) between 2 bounds (myEdge.ParameterRange)
- a Part.Face is the topological wrapper of a Geometry Surface (myFace.Surface) bounded by a outerWire and maybe some hole wires (myFace.Wires)

The other topological objects (Wire, Shell, Solid, CompSolid, Compound) are "groups" of the above 3 basic shapes

If you want to go the other way, you can create a topology from a geometry object :

Code:

vertex = Part.Vertex(FreeCAD.Vector(1,0,0))

ci = Part.Circle(3) # a circle GEOMETRY
myEdge = ci.toShape(first_parameter, last_parameter)

sph = Part.Sphere(3) # a sphere GEOMETRY
myFace =sph.toShape()
# OR, if we have computed a bounding wire :
myFace = Part.Face(sph, bounding_wire)


When you script in FreeCAD and work with single objects, you can easily navigate between topology / geometry, edge / curve, face / surface.
When building objects in Part module, you can choose to create geometries, or topologies :
- Part.Circle() creates a geometic curve
- Part.makeCircle() creates an edge wrapping a circle
- Part.Cylinder() creates a geometric surface
- Part.makeCylinder() creates a solid, made from 3 faces : the cylindrical face + the 2 round end caps.
- etc ...

Also, as topology does the assembly / sewing of base objects, this is where the tolerance concept appears.
And the topologies also contain the meshes needed for the 3D view display.
This is why you cannot display geometries directly.


Maybe that is sufficient, but this case was greatly simplified because it only need two dimensions to draw it. The more general case is what is the new location P' of a point P if the body is rotated by theta degrees about an axis parallel to n through a offset center C? Naturally, FreeCAD provides the tools for this.

Code:

P = Vector(Px,Py,Pz)
C = Vector(Cx, Cy, Cz)
n = Vector(nx,ny,nz)
rot = Rotation(n, theta)
Pprime = C + rot.multVec(P - C)

So sorry for the long post, and maybe for the entire post also, but as I'm using FreeCAD with scripting almost of the time, I need to know the underlying things, and it is very difficult to do as many times the "relevant" informations are supplied as "comments in the source code", so for the average user they are well hidden.


Best 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
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: where do you see FreeCAD main focus go towards?

Post by onekk »

keithsloan52 wrote: Fri Jul 30, 2021 7:26 pm As a pre-req, I think one need the various the curves WB each to have the ability to edit the basic OCCT curve and surface objects otherwise what is created in one is not useable in another. I started an ImportNURBS workbench https://github.com/KeithSloan/ImportNURBS
...
but I am not aware of any of the curve workbenches being able to edit them.
I agre that the main concern with curves is the editing part.

or at least some visualization button like the figure in these posts:

https://forum.freecadweb.org/viewtopic. ... 84#p240784

The image with the informations of the selected curve shown in the pic in "plain text"

https://forum.freecadweb.org/viewtopic. ... 42#p260742


sadly microjelly2 is not anymore around here.


Maybe this will help in some way:

https://forum.freecadweb.org/viewtopic. ... 68#p151768


One good advance, would be if in general there were some efforts to "integrate" some useful macros or part of WB in the main FreeCAD code, but this has to involve the "main developers" or someone who is willing to mantain the code, (if there is not licencse problems), in a similar way that some folks have done with TechDraw workbench:

https://forum.freecadweb.org/viewtopic.php?f=35&t=59334

https://forum.freecadweb.org/viewtopic.php?f=17&t=60488

This could be an improvement, with small steps, maybe we will achieve some advancement.

Hope having not bothered even if it is slightly OT.

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
Cekuhnen
Posts: 443
Joined: Sat Jul 10, 2021 11:37 pm

Re: where do you see FreeCAD main focus go towards?

Post by Cekuhnen »

Bothered no - good points.

I started to see the external WB like extensions in SketchUP.

I followed multiple users in freecad doing surface modeling.
While I ist solid I also ist surfaces and subD as a toolset.

The curve wb is very interesting but as the developer states himself suffers from being python based if I understand correctly.

The blend surface or blend solid command show the slow down very well while the main curve tools are fine.

The curve tools like line blend curve ironically are what a lot of fusion users ask for giving you a 2D sketcher or 3D lines / blend curves.


That’s an interesting problem - I hope they can find a good solution.
MacOS Big Sur / Win 10

Designer | Faculty
Wayne State University
Interior - Industrial Design
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: where do you see FreeCAD main focus go towards?

Post by Kunda1 »

Cekuhnen wrote: Sat Jul 31, 2021 12:30 pm The curve wb is very interesting but as the developer states himself suffers from being python based if I understand correctly.

The blend surface or blend solid command show the slow down very well while the main curve tools are fine.

The curve tools like line blend curve ironically are what a lot of fusion users ask for giving you a 2D sketcher or 3D lines / blend curves.
You have good insights around your research in to NURBS in FreeCAD. Do you mind making a chart of a sort explaining the current status of the different solutions out there, where they could be improved/shored-up? What are the core-issues...etc...A status-report is helpful to get an overview. Would you be amenable to that?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Cekuhnen
Posts: 443
Joined: Sat Jul 10, 2021 11:37 pm

Re: where do you see FreeCAD main focus go towards?

Post by Cekuhnen »

Oh with pleasure

Do you have a specific format ? Google sheet or Miro board?


What is quite interesting in freecad is the ability to work with parametric models but also generate dumb models.
Part Design and Part WB is very helpful based on how you want to work.
And curve WB just last week added the ability to blend loft solids which is so needed and lacking in part design WB loft

The WB I am most fascinated with a struggle to understand is SILk the workflow seems very unusual yet for nurbs modeling
delivers amazing results
MacOS Big Sur / Win 10

Designer | Faculty
Wayne State University
Interior - Industrial Design
Post Reply