Talk:About FreeCAD

From FreeCAD Documentation

Shouldn't this page redirect to Project:About? I mean, the content here is good, but it should be at the project page instead if you'd ask me. -- Edwin - Talk - TibiaWiki 22:46, 18 February 2007 (CET)


I feel that FreeCAD has charm in the point that can generate a three-dimensional object without taking money. I tried it in various ways for these past around 3 month. FreeCAD feels unfriendly in a general user like me who am not a developer. For example, I can generate a solid from a primitive using FreeCAD. When I made a solid with a script from Python Console, I can not make anything except for a BOX. When a user wants to make something with 3D, I think that there is not the thing of the fixed form that seems to be a primitive . I want you to write explanation so that a general user can understand it so that many people use FreeCAD. In addition, please teach me any version that it is the most suitable to use FreeCAD. When will it be that a new version is released? [FreeCAD User:aki]

Python binding

This is because in the recent release FreeCAD lacks of actually all basic geometric primitives, i.e. the python binding for them. In the current developer version I have implemented it for line, circle, ellipse and some surface types like plane, cylinder, sphere and a few more. The binding for more complex elements like B-Spline- and Bezier-curves and surfaces is in work.
Then there is another family of objects for that the python binding is already done, the shape classes like edge, wire, face, solid, compound... These shape classes are needed to construct more complex geometries out of the primitives. The OpenCascade CAD kernel that we are using provides methods to convert geometric primitives to edges if it's a kind of curve and to faces if it's a kind of surface. Then there are algorithms to combine, extrude, make fillets, etc. to make very complex objects.
Once we have the python interface for the most important primitives and algorithms we can start to make the user interface.
You may wonder why using the python interface and not just directly using the classes from the OpenCascade kernel? This is because the python binding is needed to allow macro recording. Internally, after you have pressed a button or something else that should perform an action we run some python code that gets dumped to a file if the macro recorder is on. Later on you can watch the file to see what has happened and when executing the macro again you get the same results as with the user interaction.
So, because we have to prepare everything to work in python first and then implement the user interface there is not a considerable progress over a certain timespan because the effort to achieve that is much higher. And currently, there is only one guy programming in our team, that's me ;-)
Until end of July or beginning of August I plan to release a new version with support of the basic geometric primitives and some algorithms working in python. In the OpenCascade documentation is an example of a bittle for which the construction step is already working in python. What I also want to realize until then is the user interface to create this bottle manually. -- Wmayer 17:47, 24 July 2008 (CEST)
I'd like to add that I don't know any other app, especially in the 3d world, where ALL the functionality is right from the start availible to python scripting. Not only the scene contents and methods, but also the scene representation and the interface. This makes FreeCAD incredibly easy to extend by about everyone who knows a bit of python. So, really, in my opinion, FreeCAD is already much more advanced than it looks like to end user. Just a bit of patience and you will see! --yorik 13:14, 25 July 2008 (CEST)