This is a standard example that uses the createSphere() method to create a sphere, but you can also create custom meshes from scratch by defining their vertices and faces. addObject ( "Mesh::Feature", "MyMesh" ) meshobj. So in order to add a mesh object to FreeCAD, we must first create a FreeCAD object and a Mesh object, then add the Mesh object to the FreeCAD object: You can see the FreeCAD object as a container for a Mesh object (and as we'll see below, for Part objects also). Mesh objects and FreeCAD objects are different things. The Mesh module was also used extensively as the main test module in the first month of FreeCAD's life. However, in FreeCAD they have less use and are mostly there so you can import objects in mesh formats (. Meshes are simple, but because they are simple you can easily have millions of them in a single document. Of course, nothing prevents you from having a bigger face made up of several coplanar triangles. In many applications, FreeCAD included, faces can have only 3 vertices. They are composed of 3 elements: points (also called vertices), lines (also called edges) and faces. Meshes are a very simple kind of 3D object, used for example by Sketchup, Blender and 3D Studio Max. You can check all the available base object types for the current document like this:īut we'll talk more about the Part module below. While Mesh is totally independent, and handles its own objects. Sketcher and Draft both use the Part module to create and handle their geometry. The most important modules in FreeCAD that we'll look at in this tutorial are: Part, Mesh, Sketcher and Draft. As a result several different, and even totally incompatible, object types can coexist in the same document. Each module not only adds new workbenches to the interface, but also new Python commands and new object types. Without its modules it can do little more than create new, empty documents. The FreeCAD base application is more or less an empty container. The true power of FreeCAD lies in its faithful modules, with their respective workbenches. For example, FreeCADGui.ActiveDocument contains ActiveView, which is the currently opened 3D view. They are the two components of a FreeCAD document, and they contain different attributes and methods. FreeCAD.ActiveDocument and FreeCADGui.ActiveDocument are not the same object however. To illustrate our concept, see that both FreeCAD and FreeCADGui contain an ActiveDocument attribute, which is the currently opened document. They contain all kinds of generic functionality to work with documents and their objects. When you start FreeCAD, the Python console already loads two base modules: FreeCAD and FreeCADGui (which can also be accessed by their shortcuts App and Gui). Let's start by creating a new empty document: You can copy-paste each line in the Python console and then press Enter, or copy-paste the entire code in a new Macro window. In this tutorial you can use both methods. In the console you write Python commands one by one, executing them by pressing Enter, while macros can contain more complex code made up of several lines, executed only when the macro is executed. In the Python console (select View → Panels → Python console from the menu) or in the Macro editor (select Macro → Macros. There are two ways to write Python code in FreeCAD. Redirect internal Python errors to report view.Redirect internal Python output to report view.If you are totally new to Python and want to understand how it works, we also have a basic introduction to Python.īefore proceeding with Python scripting, go to Edit → Preferences → General → Output window and check two boxes: In this tutorial, we'll work on a couple of basic examples to get you started, but there is much more documentation about Python scripting available on this wiki. From external scripts, which can used to create quite complex solutions, even entire Workbenches.From macros, which are a convenient way to quickly add a missing tool to the FreeCAD interface.From the FreeCAD Python interpreter, where you can issue commands in a "command line"-style interface.There are several ways to use Python in FreeCAD: Modify the 3D representation of those objects.From the Python console, or from custom scripts, you can control FreeCAD and make it perform very complex operations.įor example, from a Python script, you can: But its most widespread use is as a scripting language embedded in other applications. It is open-source and multi-platform, and can be used for many purposes: from simple shell scripts to very complex programs. Python is a programming language that it relatively easy to learn and understand.
0 Comments
Leave a Reply. |