https://wiki.freecad.org/api.php?action=feedcontributions&user=Quick61&feedformat=atomFreeCAD Documentation - User contributions [en]2024-03-28T23:20:07ZUser contributionsMediaWiki 1.40.1https://wiki.freecad.org/index.php?title=Sketcher_Micro_Tutorial_-_Constraint_Practices&diff=155671Sketcher Micro Tutorial - Constraint Practices2015-07-10T16:23:28Z<p>Quick61: /* Additional Resources */</p>
<hr />
<div>{{TutorialInfo|Class=Modeling|Level=Beginner|Author=Mark Stephen ([[User:Quick61|Quick61]])|Time=Less than 15 minutes|FCVersion=0.15.4671 Release or greater}}<br />
<br />
== Welcome ==<br />
Welcome. This tutorial is designed to help the new FreeCAD user become familiar with the techniques and best practices constraining a sketch. This micro tutorial is basically an enhanced copy from a post on the subject in the FreeCAD forum and placed here for more universal and convenient access.<br />
<br />
== A Quick Explanation ==<br />
There is a general rule with FreeCAD's sketcher constraints, the fewer amount of dimensional constraints, the better. It is always preferable to use a geometric constraint in place of a dimensional one if possible. This has to do with the internal workings of Sketcher's solver.<br />
<br />
== First Approach ==<br />
As an example, take a square sketch. In the first screenshot, the sketch is fully constrained, but is using only dimensional, (distance), constraints. this is OK, but overly complicated, cluttered, and more math intensive for the solver. While this is not an issue with such a simple example, it can become one with more complex sketches.<br />
<br />
[[Image:Constrain1.png]]<br />
<br />
== A Better Way == <br />
The next screenshot is the same square, constrained using some geometric constraints. Using the horizontal and vertical geometric constraints, along with dimensional, (distance), constraints. By just using the horizontal and vertical geometric constraints, you can see the number of required dimensional constraints have been reduced. This is a better constrained sketch than the first, but is still not the optimum constraining scheme for this square. <br />
<br />
[[Image:Constrain2.png]]<br />
<br />
== Optimum Scheme ==<br />
Now, in this last screenshot, there is only 1 dimensional, (distance), constraint, with the remaining constraints being geometrical. This is the best way to constrain this sketch. While with a simple sketch like this, one way or the other is no big deal, on larger and more complex sketches, sticking to the minimum dimensions rule will prove out to be beneficial to you and your endeavors constructing geometry with sketches. The geometrical constraints used in this sketch are horizontal, vertical, equal, and symmetry. <br />
<br />
[[Image:Constrain3.png]]<br />
<br />
== Additional Resources == <br />
<br />
[[Sketcher Workbench|Sketcher]]<br />
<br />
[[Sketcher Tutorial|Sketcher Tutorial]]<br />
<br />
[[Category:Tutorials]]</div>Quick61https://wiki.freecad.org/index.php?title=Sketcher_Micro_Tutorial_-_Constraint_Practices&diff=155670Sketcher Micro Tutorial - Constraint Practices2015-07-10T16:22:59Z<p>Quick61: Added link in Additional Resources</p>
<hr />
<div>{{TutorialInfo|Class=Modeling|Level=Beginner|Author=Mark Stephen ([[User:Quick61|Quick61]])|Time=Less than 15 minutes|FCVersion=0.15.4671 Release or greater}}<br />
<br />
== Welcome ==<br />
Welcome. This tutorial is designed to help the new FreeCAD user become familiar with the techniques and best practices constraining a sketch. This micro tutorial is basically an enhanced copy from a post on the subject in the FreeCAD forum and placed here for more universal and convenient access.<br />
<br />
== A Quick Explanation ==<br />
There is a general rule with FreeCAD's sketcher constraints, the fewer amount of dimensional constraints, the better. It is always preferable to use a geometric constraint in place of a dimensional one if possible. This has to do with the internal workings of Sketcher's solver.<br />
<br />
== First Approach ==<br />
As an example, take a square sketch. In the first screenshot, the sketch is fully constrained, but is using only dimensional, (distance), constraints. this is OK, but overly complicated, cluttered, and more math intensive for the solver. While this is not an issue with such a simple example, it can become one with more complex sketches.<br />
<br />
[[Image:Constrain1.png]]<br />
<br />
== A Better Way == <br />
The next screenshot is the same square, constrained using some geometric constraints. Using the horizontal and vertical geometric constraints, along with dimensional, (distance), constraints. By just using the horizontal and vertical geometric constraints, you can see the number of required dimensional constraints have been reduced. This is a better constrained sketch than the first, but is still not the optimum constraining scheme for this square. <br />
<br />
[[Image:Constrain2.png]]<br />
<br />
== Optimum Scheme ==<br />
Now, in this last screenshot, there is only 1 dimensional, (distance), constraint, with the remaining constraints being geometrical. This is the best way to constrain this sketch. While with a simple sketch like this, one way or the other is no big deal, on larger and more complex sketches, sticking to the minimum dimensions rule will prove out to be beneficial to you and your endeavors constructing geometry with sketches. The geometrical constraints used in this sketch are horizontal, vertical, equal, and symmetry. <br />
<br />
[[Image:Constrain3.png]]<br />
<br />
== Additional Resources == <br />
<br />
[[Sketcher Workbench|Sketcher]]<br />
[[Sketcher Tutorial|Sketcher Tutorial]]<br />
<br />
[[Category:Tutorials]]</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=155669User:Quick612015-07-10T16:08:53Z<p>Quick61: </p>
<hr />
<div>== Mark Stephen (AKA, FreeCAD Forum Member and Wiki contributor quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
*[[Importing From Sketchup|Importing From Sketchup]]<br />
*[[FreeCAD Howto Import Export|FreeCAD Howto Import Export]]<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
*[[Sketcher Micro Tutorial - Constraint Practices|Sketcher Micro Tutorial - Constraint Practices]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=Sketcher_Micro_Tutorial_-_Constraint_Practices&diff=155668Sketcher Micro Tutorial - Constraint Practices2015-07-10T16:07:07Z<p>Quick61: Created page with "{{TutorialInfo|Class=Modeling|Level=Beginner|Author=Mark Stephen (Quick61)|Time=Less than 15 minutes|FCVersion=0.15.4671 Release or greater}} == Welcome == W..."</p>
<hr />
<div>{{TutorialInfo|Class=Modeling|Level=Beginner|Author=Mark Stephen ([[User:Quick61|Quick61]])|Time=Less than 15 minutes|FCVersion=0.15.4671 Release or greater}}<br />
<br />
== Welcome ==<br />
Welcome. This tutorial is designed to help the new FreeCAD user become familiar with the techniques and best practices constraining a sketch. This micro tutorial is basically an enhanced copy from a post on the subject in the FreeCAD forum and placed here for more universal and convenient access.<br />
<br />
== A Quick Explanation ==<br />
There is a general rule with FreeCAD's sketcher constraints, the fewer amount of dimensional constraints, the better. It is always preferable to use a geometric constraint in place of a dimensional one if possible. This has to do with the internal workings of Sketcher's solver.<br />
<br />
== First Approach ==<br />
As an example, take a square sketch. In the first screenshot, the sketch is fully constrained, but is using only dimensional, (distance), constraints. this is OK, but overly complicated, cluttered, and more math intensive for the solver. While this is not an issue with such a simple example, it can become one with more complex sketches.<br />
<br />
[[Image:Constrain1.png]]<br />
<br />
== A Better Way == <br />
The next screenshot is the same square, constrained using some geometric constraints. Using the horizontal and vertical geometric constraints, along with dimensional, (distance), constraints. By just using the horizontal and vertical geometric constraints, you can see the number of required dimensional constraints have been reduced. This is a better constrained sketch than the first, but is still not the optimum constraining scheme for this square. <br />
<br />
[[Image:Constrain2.png]]<br />
<br />
== Optimum Scheme ==<br />
Now, in this last screenshot, there is only 1 dimensional, (distance), constraint, with the remaining constraints being geometrical. This is the best way to constrain this sketch. While with a simple sketch like this, one way or the other is no big deal, on larger and more complex sketches, sticking to the minimum dimensions rule will prove out to be beneficial to you and your endeavors constructing geometry with sketches. The geometrical constraints used in this sketch are horizontal, vertical, equal, and symmetry. <br />
<br />
[[Image:Constrain3.png]]<br />
<br />
== Additional Resources == <br />
<br />
[[Sketcher Workbench|Sketcher]]<br />
<br />
[[Category:Tutorials]]</div>Quick61https://wiki.freecad.org/index.php?title=File:Constrain3.png&diff=155667File:Constrain3.png2015-07-10T16:01:18Z<p>Quick61: Sketch constrained with minimum distance constraints</p>
<hr />
<div>Sketch constrained with minimum distance constraints</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=142274User:Quick612015-01-31T15:27:11Z<p>Quick61: </p>
<hr />
<div>== Mark Stephen (AKA, FreeCAD Forum Member and Wiki contributor quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
*[[Importing From Sketchup|Importing From Sketchup]]<br />
*[[FreeCAD Howto Import Export|FreeCAD Howto Import Export]]<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=142273User:Quick612015-01-31T15:26:51Z<p>Quick61: </p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member and Wiki contributor quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
*[[Importing From Sketchup|Importing From Sketchup]]<br />
*[[FreeCAD Howto Import Export|FreeCAD Howto Import Export]]<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=Topological_data_scripting&diff=133480Topological data scripting2014-12-26T21:06:57Z<p>Quick61: </p>
<hr />
<div><translate><br />
<!--T:1--><br />
This page describes several methods for creating and modifying [[Part Module|Part shapes]] from python. Before reading this page, if you are new to python, it is a good idea to read about [[Introduction to Python|python scripting]] and [[FreeCAD Scripting Basics|how python scripting works in FreeCAD]].<br />
<br />
== Introduction == <!--T:2--><br />
We will here explain you how to control the [[Part Module]] directly from the FreeCAD python interpreter, or from any external script. The basics about Topological data scripting are described in [[Part_Module#Explaining_the_concepts|Part Module Explaining the concepts]]. Be sure to browse the [[Scripting]] section and the [[FreeCAD Scripting Basics]] pages if you need more information about how python scripting works in FreeCAD.<br />
<br />
=== Class Diagram === <!--T:3--><br />
This is a [http://en.wikipedia.org/wiki/Unified_Modeling_Language Unified Modeling Language (UML)] overview of the most important classes of the Part module:<br />
[[Image:Part_Classes.jpg|center|Python classes of the Part module]]<br />
<br />
=== Geometry === <!--T:4--><br />
The geometric objects are the building block of all topological objects:<br />
* '''Geom''' Base class of the geometric objects<br />
* '''Line''' A straight line in 3D, defined by starting point and end point<br />
* '''Circle''' Circle or circle segment defined by a center point and start and end point<br />
* '''......''' And soon some more<br />
<br />
=== Topology === <!--T:5--><br />
The following topological data types are available:<br />
* '''Compound''' A group of any type of topological object.<br />
* '''Compsolid''' A composite solid is a set of solids connected by their faces. It expands the notions of WIRE and SHELL to solids.<br />
* '''Solid''' A part of space limited by shells. It is three dimensional.<br />
* '''Shell''' A set of faces connected by their edges. A shell can be open or closed.<br />
* '''Face''' In 2D it is part of a plane; in 3D it is part of a surface. Its geometry is constrained (trimmed) by contours. It is two dimensional.<br />
* '''Wire''' A set of edges connected by their vertices. It can be an open or closed contour depending on whether the edges are linked or not.<br />
* '''Edge''' A topological element corresponding to a restrained curve. An edge is generally limited by vertices. It has one dimension.<br />
* '''Vertex''' A topological element corresponding to a point. It has zero dimension.<br />
* '''Shape''' A generic term covering all of the above.<br />
<br />
=== Quick example : Creating simple topology === <!--T:6--><br />
<br />
<!--T:7--><br />
[[Image:Wire.png|right|Wire]]<br />
<br />
<!--T:8--><br />
We will now create a topology by constructing it out of simpler geometry. <br />
As a case study we use a part as seen in the picture which consists of <br />
four vertexes, two circles and two lines.<br />
<br />
==== Creating Geometry ==== <!--T:9--><br />
First we have to create the distinct geometric parts of this wire.<br />
And we have to take care that the vertexes of the geometric parts <br />
are at the '''same''' position. Otherwise later on we might not be<br />
able to connect the geometric parts to a topology!<br />
<br />
<!--T:10--><br />
So we create first the points:<br />
<br />
</translate><syntaxhighlight><br />
from FreeCAD import Base<br />
V1 = Base.Vector(0,10,0)<br />
V2 = Base.Vector(30,10,0)<br />
V3 = Base.Vector(30,-10,0)<br />
V4 = Base.Vector(0,-10,0)<br />
</syntaxhighlight><translate><br />
<br />
==== Arc ==== <!--T:11--><br />
<br />
<!--T:12--><br />
[[Image:Circel.png|right|Circle]]<br />
<br />
<!--T:13--><br />
To create an arc of circle we make a helper point and create the arc of <br />
circle through three points:<br />
<br />
</translate><syntaxhighlight><br />
VC1 = Base.Vector(-10,0,0)<br />
C1 = Part.Arc(V1,VC1,V4)<br />
# and the second one<br />
VC2 = Base.Vector(40,0,0)<br />
C2 = Part.Arc(V2,VC2,V3)<br />
</syntaxhighlight><translate><br />
<br />
==== Line ==== <!--T:14--><br />
<br />
<!--T:15--><br />
[[Image:Line.png|right|Line]]<br />
<br />
<!--T:16--><br />
The line can be created very simple out of the points:<br />
<br />
</translate><syntaxhighlight><br />
L1 = Part.Line(V1,V2)<br />
# and the second one<br />
L2 = Part.Line(V4,V3)<br />
</syntaxhighlight><translate><br />
<br />
==== Putting all together ==== <!--T:17--><br />
The last step is to put the geometric base elements together<br />
and bake a topological shape:<br />
<br />
</translate><syntaxhighlight><br />
S1 = Part.Shape([C1,C2,L1,L2])<br />
</syntaxhighlight><translate><br />
<br />
==== Make a prism ==== <!--T:18--><br />
Now extrude the wire in a direction and make an actual 3D shape:<br />
<br />
</translate><syntaxhighlight><br />
W = Part.Wire(S1.Edges)<br />
P = W.extrude(Base.Vector(0,0,10))<br />
</syntaxhighlight><translate><br />
<br />
==== Show it all ==== <!--T:19--><br />
<br />
</translate><syntaxhighlight><br />
Part.show(P)<br />
</syntaxhighlight><translate><br />
<br />
== Creating basic shapes == <!--T:20--><br />
You can easily create basic topological objects with the "make...()" <br />
methods from the Part Module:<br />
<br />
</translate><syntaxhighlight><br />
b = Part.makeBox(100,100,100)<br />
Part.show(b)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:21--><br />
A couple of other make...() methods available:<br />
* '''makeBox(l,w,h)''': Makes a box located in p and pointing into the direction d with the dimensions (l,w,h)<br />
* '''makeCircle(radius)''': Makes a circle with a given radius<br />
* '''makeCone(radius1,radius2,height)''': Makes a cone with a given radii and height<br />
* '''makeCylinder(radius,height)''': Makes a cylinder with a given radius and height.<br />
* '''makeLine((x1,y1,z1),(x2,y2,z2))''': Makes a line of two points<br />
* '''makePlane(length,width)''': Makes a plane with length and width<br />
* '''makePolygon(list)''': Makes a polygon of a list of points<br />
* '''makeSphere(radius)''': Make a sphere with a given radius<br />
* '''makeTorus(radius1,radius2)''': Makes a torus with a given radii<br />
See the [[Part API]] page for a complete list of available methods of the Part module.<br />
<br />
==== Importing the needed modules ==== <!--T:22--><br />
First we need to import the Part module so we can use its contents in python. <br />
We'll also import the Base module from inside the FreeCAD module:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
from FreeCAD import Base<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Vector ==== <!--T:23--><br />
[http://en.wikipedia.org/wiki/Euclidean_vector Vectors] are one of the most <br />
important pieces of information when building shapes. They contain a 3 numbers <br />
usually (but not necessarily always) the x, y and z cartesian coordinates. You <br />
create a vector like this:<br />
<br />
</translate><syntaxhighlight><br />
myVector = Base.Vector(3,2,0)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:24--><br />
We just created a vector at coordinates x=3, y=2, z=0. In the Part module, <br />
vectors are used everywhere. Part shapes also use another kind of point <br />
representation, called Vertex, which is acually nothing else than a container <br />
for a vector. You access the vector of a vertex like this:<br />
<br />
</translate><syntaxhighlight><br />
myVertex = myShape.Vertexes[0]<br />
print myVertex.Point<br />
> Vector (3, 2, 0)<br />
</syntaxhighlight><translate><br />
<br />
==== Creating an Edge ==== <!--T:25--><br />
An edge is nothing but a line with two vertexes:<br />
<br />
</translate><syntaxhighlight><br />
edge = Part.makeLine((0,0,0), (10,0,0))<br />
edge.Vertexes<br />
> [<Vertex object at 01877430>, <Vertex object at 014888E0>]<br />
</syntaxhighlight><translate><br />
<br />
<!--T:26--><br />
Note: You can also create an edge by passing two vectors:<br />
<br />
</translate><syntaxhighlight><br />
vec1 = Base.Vector(0,0,0)<br />
vec2 = Base.Vector(10,0,0)<br />
line = Part.Line(vec1,vec2)<br />
edge = line.toShape()<br />
</syntaxhighlight><translate><br />
<br />
<!--T:27--><br />
You can find the length and center of an edge like this:<br />
<br />
</translate><syntaxhighlight><br />
edge.Length<br />
> 10.0<br />
edge.CenterOfMass<br />
> Vector (5, 0, 0)<br />
</syntaxhighlight><translate><br />
<br />
==== Putting the shape on screen ==== <!--T:28--><br />
So far we created an edge object, but it doesn't appear anywhere on screen. <br />
This is because we just manipulated python objects here. The FreeCAD 3D scene <br />
only displays what you tell it to display. To do that, we use this simple <br />
method:<br />
<br />
</translate><syntaxhighlight><br />
Part.show(edge)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:29--><br />
An object will be created in our FreeCAD document, and our "edge" shape <br />
will be attributed to it. Use this whenever it's time to display your <br />
creation on screen. <br />
<br />
==== Creating a Wire ==== <!--T:30--><br />
A wire is a multi-edge line and can be created from a list of edges <br />
or even a list of wires:<br />
<br />
</translate><syntaxhighlight><br />
edge1 = Part.makeLine((0,0,0), (10,0,0))<br />
edge2 = Part.makeLine((10,0,0), (10,10,0))<br />
wire1 = Part.Wire([edge1,edge2]) <br />
edge3 = Part.makeLine((10,10,0), (0,10,0))<br />
edge4 = Part.makeLine((0,10,0), (0,0,0))<br />
wire2 = Part.Wire([edge3,edge4])<br />
wire3 = Part.Wire([wire1,wire2])<br />
wire3.Edges<br />
> [<Edge object at 016695F8>, <Edge object at 0197AED8>, <Edge object at 01828B20>, <Edge object at 0190A788>]<br />
Part.show(wire3)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:31--><br />
Part.show(wire3) will display the 4 edges that compose our wire. Other <br />
useful information can be easily retrieved:<br />
<br />
</translate><syntaxhighlight><br />
wire3.Length<br />
> 40.0<br />
wire3.CenterOfMass<br />
> Vector (5, 5, 0)<br />
wire3.isClosed()<br />
> True<br />
wire2.isClosed()<br />
> False<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Face ==== <!--T:32--><br />
Only faces created from closed wires will be valid. In this example, wire3 <br />
is a closed wire but wire2 is not a closed wire (see above)<br />
<br />
</translate><syntaxhighlight><br />
face = Part.Face(wire3)<br />
face.Area<br />
> 99.999999999999972<br />
face.CenterOfMass<br />
> Vector (5, 5, 0)<br />
face.Length<br />
> 40.0<br />
face.isValid()<br />
> True<br />
sface = Part.Face(wire2)<br />
face.isValid()<br />
> False<br />
</syntaxhighlight><translate><br />
<br />
<!--T:33--><br />
Only faces will have an area, not wires nor edges.<br />
<br />
==== Creating a Circle ==== <!--T:34--><br />
A circle can be created as simply as this:<br />
<br />
</translate><syntaxhighlight><br />
circle = Part.makeCircle(10)<br />
circle.Curve<br />
> Circle (Radius : 10, Position : (0, 0, 0), Direction : (0, 0, 1))<br />
</syntaxhighlight><translate><br />
<br />
<!--T:35--><br />
If you want to create it at certain position and with certain direction:<br />
<br />
</translate><syntaxhighlight><br />
ccircle = Part.makeCircle(10, Base.Vector(10,0,0), Base.Vector(1,0,0))<br />
ccircle.Curve<br />
> Circle (Radius : 10, Position : (10, 0, 0), Direction : (1, 0, 0))<br />
</syntaxhighlight><translate><br />
<br />
<!--T:36--><br />
ccircle will be created at distance 10 from origin on x and will be facing <br />
towards x axis. Note: makeCircle only accepts Base.Vector() for position <br />
and normal but not tuples. You can also create part of the circle by giving <br />
start angle and end angle as:<br />
<br />
</translate><syntaxhighlight><br />
from math import pi<br />
arc1 = Part.makeCircle(10, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 180)<br />
arc2 = Part.makeCircle(10, Base.Vector(0,0,0), Base.Vector(0,0,1), 180, 360)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:37--><br />
Both arc1 and arc2 jointly will make a circle. Angles should be provided in <br />
degrees, if you have radians simply convert them using formula:<br />
degrees = radians * 180/PI or using python's math module (after doing import <br />
math, of course):<br />
<br />
</translate><syntaxhighlight><br />
degrees = math.degrees(radians)<br />
</syntaxhighlight><translate><br />
<br />
==== Creating an Arc along points ==== <!--T:38--><br />
Unfortunately there is no makeArc function but we have Part.Arc function to <br />
create an arc along three points. Basically it can be supposed as an arc <br />
joining start point and end point along the middle point. Part.Arc creates <br />
an arc object on which .toShape() has to be called to get the edge object, <br />
the same way as when using Part.Line instead of Part.makeLine.<br />
<br />
</translate><syntaxhighlight><br />
arc = Part.Arc(Base.Vector(0,0,0),Base.Vector(0,5,0),Base.Vector(5,5,0))<br />
arc<br />
> <Arc object><br />
arc_edge = arc.toShape()<br />
</syntaxhighlight><translate><br />
<br />
<!--T:39--><br />
Arc only accepts Base.Vector() for points but not tuples. arc_edge is what <br />
we want which we can display using Part.show(arc_edge). You can also obtain <br />
an arc by using a portion of a circle:<br />
<br />
</translate><syntaxhighlight><br />
from math import pi<br />
circle = Part.Circle(Base.Vector(0,0,0),Base.Vector(0,0,1),10)<br />
arc = Part.Arc(c,0,pi)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:40--><br />
Arcs are valid edges, like lines. So they can be used in wires too.<br />
<br />
==== Creating a polygon ==== <!--T:41--><br />
A polygon is simply a wire with multiple straight edges. The makePolygon <br />
function takes a list of points and creates a wire along those points:<br />
<br />
</translate><syntaxhighlight><br />
lshape_wire = Part.makePolygon([Base.Vector(0,5,0),Base.Vector(0,0,0),Base.Vector(5,0,0)])<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Bezier curve ==== <!--T:42--><br />
Bézier curves are used to model smooth curves using a series of poles (points) and optional weights. The function below makes a Part.BezierCurve from a series of FreeCAD.Vector points. (Note: when "getting" and "setting" a single pole or weight indices start at 1, not 0.)<br />
<br />
</translate><syntaxhighlight><br />
def makeBCurveEdge(Points):<br />
geomCurve = Part.BezierCurve()<br />
geomCurve.setPoles(Points)<br />
edge = Part.Edge(geomCurve)<br />
return(edge)<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Plane ==== <!--T:43--><br />
A Plane is simply a flat rectangular surface. The method used to create one is <br />
this: '''makePlane(length,width,[start_pnt,dir_normal])'''. By default <br />
start_pnt = Vector(0,0,0) and dir_normal = Vector(0,0,1). Using dir_normal = Vector(0,0,1) <br />
will create the plane facing z axis, while dir_normal = Vector(1,0,0) will create the <br />
plane facing x axis:<br />
<br />
</translate><syntaxhighlight><br />
plane = Part.makePlane(2,2)<br />
plane<br />
><Face object at 028AF990><br />
plane = Part.makePlane(2,2, Base.Vector(3,0,0), Base.Vector(0,1,0))<br />
plane.BoundBox<br />
> BoundBox (3, 0, 0, 5, 0, 2)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:44--><br />
BoundBox is a cuboid enclosing the plane with a diagonal starting at <br />
(3,0,0) and ending at (5,0,2). Here the BoundBox thickness in y axis is zero, <br />
since our shape is totally flat.<br />
<br />
<!--T:45--><br />
Note: makePlane only accepts Base.Vector() for start_pnt and dir_normal but not tuples<br />
<br />
==== Creating an ellipse ==== <!--T:46--><br />
To create an ellipse there are several ways:<br />
<br />
</translate><syntaxhighlight><br />
Part.Ellipse()<br />
</syntaxhighlight><translate><br />
<br />
<!--T:47--><br />
Creates an ellipse with major radius 2 and minor radius 1 with the center in (0,0,0)<br />
<br />
</translate><syntaxhighlight><br />
Part.Ellipse(Ellipse)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:48--><br />
Create a copy of the given ellipse<br />
<br />
</translate><syntaxhighlight><br />
Part.Ellipse(S1,S2,Center)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:49--><br />
Creates an ellipse centered on the point Center, where the plane of the <br />
ellipse is defined by Center, S1 and S2, its major axis is defined by <br />
Center and S1, its major radius is the distance between Center and S1, <br />
and its minor radius is the distance between S2 and the major axis.<br />
<br />
</translate><syntaxhighlight><br />
Part.Ellipse(Center,MajorRadius,MinorRadius)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:50--><br />
Creates an ellipse with major and minor radii MajorRadius and MinorRadius, <br />
and located in the plane defined by Center and the normal (0,0,1)<br />
<br />
</translate><syntaxhighlight><br />
eli = Part.Ellipse(Base.Vector(10,0,0),Base.Vector(0,5,0),Base.Vector(0,0,0))<br />
Part.show(eli.toShape())<br />
</syntaxhighlight><translate><br />
<br />
<!--T:51--><br />
In the above code we have passed S1, S2 and center. Similarly to Arc, <br />
Ellipse also creates an ellipse object but not edge, so we need to <br />
convert it into edge using toShape() to display.<br />
<br />
<!--T:52--><br />
Note: Arc only accepts Base.Vector() for points but not tuples<br />
<br />
</translate><syntaxhighlight><br />
eli = Part.Ellipse(Base.Vector(0,0,0),10,5)<br />
Part.show(eli.toShape())<br />
</syntaxhighlight><translate><br />
<br />
<!--T:53--><br />
for the above Ellipse constructor we have passed center, MajorRadius and MinorRadius<br />
<br />
==== Creating a Torus ==== <!--T:54--><br />
Using the method '''makeTorus(radius1,radius2,[pnt,dir,angle1,angle2,angle])'''. By <br />
default pnt=Vector(0,0,0),dir=Vector(0,0,1),angle1=0,angle2=360 and angle=360.<br />
Consider a torus as small circle sweeping along a big circle. Radius1 is the <br />
radius of big cirlce, radius2 is the radius of small circle, pnt is the center <br />
of torus and dir is the normal direction. angle1 and angle2 are angles in <br />
radians for the small circle, the last parameter angle is to make a section of <br />
the torus:<br />
<br />
</translate><syntaxhighlight><br />
torus = Part.makeTorus(10, 2)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:55--><br />
The above code will create a torus with diameter 20(radius 10) and thickness 4<br />
(small cirlce radius 2)<br />
<br />
</translate><syntaxhighlight><br />
tor=Part.makeTorus(10,5,Base.Vector(0,0,0),Base.Vector(0,0,1),0,180)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:56--><br />
The above code will create a slice of the torus<br />
<br />
</translate><syntaxhighlight><br />
tor=Part.makeTorus(10,5,Base.Vector(0,0,0),Base.Vector(0,0,1),0,360,180)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:57--><br />
The above code will create a semi torus, only the last parameter is changed <br />
i.e the angle and remaining angles are defaults. Giving the angle 180 will <br />
create the torus from 0 to 180, that is, a half torus.<br />
<br />
==== Creating a box or cuboid ==== <!--T:58--><br />
Using '''makeBox(length,width,height,[pnt,dir])'''. <br />
By default pnt=Vector(0,0,0) and dir=Vector(0,0,1)<br />
<br />
</translate><syntaxhighlight><br />
box = Part.makeBox(10,10,10)<br />
len(box.Vertexes)<br />
> 8<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Sphere ==== <!--T:59--><br />
Using '''makeSphere(radius,[pnt, dir, angle1,angle2,angle3])'''. By default <br />
pnt=Vector(0,0,0), dir=Vector(0,0,1), angle1=-90, angle2=90 and angle3=360. <br />
angle1 and angle2 are the vertical minimum and maximum of the sphere, angle3 <br />
is the sphere diameter itself.<br />
<br />
</translate><syntaxhighlight><br />
sphere = Part.makeSphere(10)<br />
hemisphere = Part.makeSphere(10,Base.Vector(0,0,0),Base.Vector(0,0,1),-90,90,180)<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Cylinder ==== <!--T:60--><br />
Using '''makeCylinder(radius,height,[pnt,dir,angle])'''. By default <br />
pnt=Vector(0,0,0),dir=Vector(0,0,1) and angle=360<br />
<br />
</translate><syntaxhighlight><br />
cylinder = Part.makeCylinder(5,20)<br />
partCylinder = Part.makeCylinder(5,20,Base.Vector(20,0,0),Base.Vector(0,0,1),180)<br />
</syntaxhighlight><translate><br />
<br />
==== Creating a Cone ==== <!--T:61--><br />
Using '''makeCone(radius1,radius2,height,[pnt,dir,angle])'''. By default <br />
pnt=Vector(0,0,0), dir=Vector(0,0,1) and angle=360<br />
<br />
</translate><syntaxhighlight><br />
cone = Part.makeCone(10,0,20)<br />
semicone = Part.makeCone(10,0,20,Base.Vector(20,0,0),Base.Vector(0,0,1),180)<br />
</syntaxhighlight><translate><br />
<br />
== Modifying shapes == <!--T:62--><br />
There are several ways to modify shapes. Some are simple transformation operations <br />
such as moving or rotating shapes, other are more complex, such as unioning and<br />
subtracting one shape from another. Be aware that <br />
<br />
=== Transform operations === <!--T:63--><br />
<br />
==== Translating a shape ==== <!--T:64--><br />
Translating is the act of moving a shape from one place to another. <br />
Any shape (edge, face, cube, etc...) can be translated the same way:<br />
<br />
</translate><syntaxhighlight><br />
myShape = Part.makeBox(2,2,2)<br />
myShape.translate(Base.Vector(2,0,0))<br />
</syntaxhighlight><translate><br />
<br />
<!--T:65--><br />
This will move our shape "myShape" 2 units in the x direction.<br />
<br />
==== Rotating a shape ==== <!--T:66--><br />
To rotate a shape, you need to specify the rotation center, the axis, <br />
and the rotation angle:<br />
<br />
</translate><syntaxhighlight><br />
myShape.rotate(Vector(0,0,0),Vector(0,0,1),180)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:67--><br />
The above code will rotate the shape 180 degrees around the Z Axis.<br />
<br />
==== Generic transformations with matrixes ==== <!--T:68--><br />
A matrix is a very convenient way to store transformations in the 3D<br />
world. In a single matrix, you can set translation, rotation and scaling<br />
values to be applied to an object. For example:<br />
<br />
</translate><syntaxhighlight><br />
myMat = Base.Matrix()<br />
myMat.move(Base.Vector(2,0,0))<br />
myMat.rotateZ(math.pi/2)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:69--><br />
Note: FreeCAD matrixes work in radians. Also, almost all matrix operations<br />
that take a vector can also take 3 numbers, so those 2 lines do the same thing:<br />
<br />
</translate><syntaxhighlight><br />
myMat.move(2,0,0)<br />
myMat.move(Base.Vector(2,0,0))<br />
</syntaxhighlight><translate><br />
<br />
<!--T:70--><br />
When our matrix is set, we can apply it to our shape. FreeCAD provides 2<br />
methods to do that: transformShape() and transformGeometry(). The difference<br />
is that with the first one, you are sure that no deformations will occur (see<br />
"scaling a shape" below). So we can apply our transformation like this:<br />
<br />
</translate><syntaxhighlight><br />
myShape.trasformShape(myMat)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:71--><br />
or<br />
<br />
</translate><syntaxhighlight><br />
myShape.transformGeometry(myMat)<br />
</syntaxhighlight><translate><br />
<br />
==== Scaling a shape ==== <!--T:72--><br />
Scaling a shape is a more dangerous operation because, unlike translation <br />
or rotation, scaling non-uniformly (with different values for x, y and z) <br />
can modify the structure of the shape. For example, scaling a circle with<br />
a higher value horizontally than vertically will transform it into an<br />
ellipse, which behaves mathematically very differenty. For scaling, we<br />
can't use the transformShape, we must use transformGeometry():<br />
<br />
</translate><syntaxhighlight><br />
myMat = Base.Matrix()<br />
myMat.scale(2,1,1)<br />
myShape=myShape.transformGeometry(myMat)<br />
</syntaxhighlight><translate><br />
<br />
=== Boolean Operations === <!--T:73--><br />
<br />
==== Subtraction ==== <!--T:74--><br />
Subtracting a shape from another one is called "cut" in OCC/FreeCAD jargon<br />
and is done like this:<br />
<br />
</translate><syntaxhighlight><br />
cylinder = Part.makeCylinder(3,10,Base.Vector(0,0,0),Base.Vector(1,0,0))<br />
sphere = Part.makeSphere(5,Base.Vector(5,0,0))<br />
diff = cylinder.cut(sphere)<br />
</syntaxhighlight><translate><br />
<br />
==== Intersection ==== <!--T:75--><br />
The same way, the intersection between 2 shapes is called "common" and is done<br />
this way:<br />
<br />
</translate><syntaxhighlight><br />
cylinder1 = Part.makeCylinder(3,10,Base.Vector(0,0,0),Base.Vector(1,0,0))<br />
cylinder2 = Part.makeCylinder(3,10,Base.Vector(5,0,-5),Base.Vector(0,0,1))<br />
common = cylinder1.common(cylinder2)<br />
</syntaxhighlight><translate><br />
<br />
==== Union ==== <!--T:76--><br />
Union is called "fuse" and works the same way:<br />
<br />
</translate><syntaxhighlight><br />
cylinder1 = Part.makeCylinder(3,10,Base.Vector(0,0,0),Base.Vector(1,0,0))<br />
cylinder2 = Part.makeCylinder(3,10,Base.Vector(5,0,-5),Base.Vector(0,0,1))<br />
fuse = cylinder1.fuse(cylinder2)<br />
</syntaxhighlight><translate><br />
<br />
==== Section ==== <!--T:77--><br />
A Section is the intersection between a solid shape and a plane shape.<br />
It will return an intersection curve, a compound with edges<br />
<br />
</translate><syntaxhighlight><br />
cylinder1 = Part.makeCylinder(3,10,Base.Vector(0,0,0),Base.Vector(1,0,0))<br />
cylinder2 = Part.makeCylinder(3,10,Base.Vector(5,0,-5),Base.Vector(0,0,1))<br />
section = cylinder1.section(cylinder2)<br />
section.Wires<br />
> []<br />
section.Edges<br />
> [<Edge object at 0D87CFE8>, <Edge object at 019564F8>, <Edge object at 0D998458>, <br />
<Edge object at 0D86DE18>, <Edge object at 0D9B8E80>, <Edge object at 012A3640>, <br />
<Edge object at 0D8F4BB0>]<br />
</syntaxhighlight><translate><br />
<br />
==== Extrusion ==== <!--T:78--><br />
Extrusion is the act of "pushing" a flat shape in a certain direction resulting in<br />
a solid body. Think of a circle becoming a tube by "pushing it out": <br />
<br />
</translate><syntaxhighlight><br />
circle = Part.makeCircle(10)<br />
tube = circle.extrude(Base.Vector(0,0,2))<br />
</syntaxhighlight><translate><br />
<br />
<!--T:79--><br />
If your circle is hollow, you will obtain a hollow tube. If your circle is actually <br />
a disc, with a filled face, you will obtain a solid cylinder:<br />
<br />
</translate><syntaxhighlight><br />
wire = Part.Wire(circle)<br />
disc = Part.makeFace(wire)<br />
cylinder = disc.extrude(Base.Vector(0,0,2))<br />
</syntaxhighlight><translate><br />
<br />
== Exploring shapes == <!--T:80--><br />
You can easily explore the topological data structure:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
b = Part.makeBox(100,100,100)<br />
b.Wires<br />
w = b.Wires[0]<br />
w<br />
w.Wires<br />
w.Vertexes<br />
Part.show(w)<br />
w.Edges<br />
e = w.Edges[0]<br />
e.Vertexes<br />
v = e.Vertexes[0]<br />
v.Point<br />
</syntaxhighlight><translate><br />
<br />
<!--T:81--><br />
By typing the lines above in the python interpreter, you will gain a good <br />
understanding of the structure of Part objects. Here, our makeBox() command <br />
created a solid shape. This solid, like all Part solids, contains faces. <br />
Faces always contain wires, which are lists of edges that border the face. <br />
Each face has at least one closed wire (it can have more if the face has a hole). <br />
In the wire, we can look at each edge separately, and inside each edge, we can <br />
see the vertexes. Straight edges have only two vertexes, obviously. <br />
<br />
=== Edge analysis === <!--T:82--><br />
In case of an edge, which is an arbitrary curve, it's most likely you want to <br />
do a discretization. In FreeCAD the edges are parametrized by their lengths. <br />
That means you can walk an edge/curve by its length:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
box = Part.makeBox(100,100,100)<br />
anEdge = box.Edges[0]<br />
print anEdge.Length<br />
</syntaxhighlight><translate><br />
<br />
<!--T:83--><br />
Now you can access a lot of properties of the edge by using the length as a <br />
position. That means if the edge is 100mm long the start position is 0 and <br />
the end position 100. <br />
<br />
</translate><syntaxhighlight><br />
anEdge.tangentAt(0.0) # tangent direction at the beginning<br />
anEdge.valueAt(0.0) # Point at the beginning<br />
anEdge.valueAt(100.0) # Point at the end of the edge<br />
anEdge.derivative1At(50.0) # first derivative of the curve in the middle<br />
anEdge.derivative2At(50.0) # second derivative of the curve in the middle<br />
anEdge.derivative3At(50.0) # third derivative of the curve in the middle<br />
anEdge.centerOfCurvatureAt(50) # center of the curvature for that position<br />
anEdge.curvatureAt(50.0) # the curvature<br />
anEdge.normalAt(50) # normal vector at that position (if defined)<br />
</syntaxhighlight><translate><br />
<br />
=== Using the selection === <!--T:84--><br />
Here we see now how we can use the selection the user did in the viewer.<br />
First of all we create a box and shows it in the viewer<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
Part.show(Part.makeBox(100,100,100))<br />
Gui.SendMsgToActiveView("ViewFit")<br />
</syntaxhighlight><translate><br />
<br />
<!--T:85--><br />
Select now some faces or edges. With this script you can<br />
iterate all selected objects and their sub elements:<br />
<br />
</translate><syntaxhighlight><br />
for o in Gui.Selection.getSelectionEx():<br />
print o.ObjectName<br />
for s in o.SubElementNames:<br />
print "name: ",s<br />
for s in o.SubObjects:<br />
print "object: ",s<br />
</syntaxhighlight><translate><br />
<br />
<!--T:86--><br />
Select some edges and this script will calculate the length:<br />
<br />
</translate><syntaxhighlight><br />
length = 0.0<br />
for o in Gui.Selection.getSelectionEx():<br />
for s in o.SubObjects:<br />
length += s.Length<br />
print "Length of the selected edges:" ,length<br />
</syntaxhighlight><translate><br />
<br />
== Complete example: The OCC bottle == <!--T:87--><br />
A typical example found on the <br />
[http://www.opencascade.org/org/gettingstarted/appli/ OpenCasCade Getting Started Page] <br />
is how to build a bottle. This is a good exercise for FreeCAD too. In fact, <br />
you can follow our example below and the OCC page simultaneously, you will <br />
understand well how OCC structures are implemented in FreeCAD. The complete script <br />
below is also included in FreeCAD installation (inside the Mod/Part folder) and <br />
can be called from the python interpreter by typing:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
import MakeBottle<br />
bottle = MakeBottle.makeBottle()<br />
Part.show(bottle)<br />
</syntaxhighlight><translate><br />
<br />
=== The complete script === <!--T:88--><br />
Here is the complete MakeBottle script:<br />
<br />
</translate><syntaxhighlight><br />
import Part, FreeCAD, math<br />
from FreeCAD import Base<br />
<br />
def makeBottle(myWidth=50.0, myHeight=70.0, myThickness=30.0):<br />
aPnt1=Base.Vector(-myWidth/2.,0,0)<br />
aPnt2=Base.Vector(-myWidth/2.,-myThickness/4.,0)<br />
aPnt3=Base.Vector(0,-myThickness/2.,0)<br />
aPnt4=Base.Vector(myWidth/2.,-myThickness/4.,0)<br />
aPnt5=Base.Vector(myWidth/2.,0,0)<br />
<br />
aArcOfCircle = Part.Arc(aPnt2,aPnt3,aPnt4)<br />
aSegment1=Part.Line(aPnt1,aPnt2)<br />
aSegment2=Part.Line(aPnt4,aPnt5)<br />
aEdge1=aSegment1.toShape()<br />
aEdge2=aArcOfCircle.toShape()<br />
aEdge3=aSegment2.toShape()<br />
aWire=Part.Wire([aEdge1,aEdge2,aEdge3])<br />
<br />
aTrsf=Base.Matrix()<br />
aTrsf.rotateZ(math.pi) # rotate around the z-axis<br />
<br />
aMirroredWire=aWire.transformGeometry(aTrsf)<br />
myWireProfile=Part.Wire([aWire,aMirroredWire])<br />
myFaceProfile=Part.Face(myWireProfile)<br />
aPrismVec=Base.Vector(0,0,myHeight)<br />
myBody=myFaceProfile.extrude(aPrismVec)<br />
myBody=myBody.makeFillet(myThickness/12.0,myBody.Edges)<br />
neckLocation=Base.Vector(0,0,myHeight)<br />
neckNormal=Base.Vector(0,0,1)<br />
myNeckRadius = myThickness / 4.<br />
myNeckHeight = myHeight / 10<br />
myNeck = Part.makeCylinder(myNeckRadius,myNeckHeight,neckLocation,neckNormal) <br />
myBody = myBody.fuse(myNeck)<br />
<br />
faceToRemove = 0<br />
zMax = -1.0<br />
<br />
for xp in myBody.Faces:<br />
try:<br />
surf = xp.Surface<br />
if type(surf) == Part.Plane:<br />
z = surf.Position.z<br />
if z > zMax:<br />
zMax = z<br />
faceToRemove = xp<br />
except:<br />
continue<br />
<br />
myBody = myBody.makeThickness([faceToRemove],-myThickness/50 , 1.e-3)<br />
<br />
return myBody<br />
</syntaxhighlight><translate><br />
<br />
=== Detailed explanation === <!--T:89--><br />
<br />
</translate><syntaxhighlight><br />
import Part, FreeCAD, math<br />
from FreeCAD import Base<br />
</syntaxhighlight><translate><br />
<br />
<!--T:90--><br />
We will need,of course, the Part module, but also the FreeCAD.Base module, <br />
which contains basic FreeCAD structures like vectors and matrixes.<br />
<br />
</translate><syntaxhighlight><br />
def makeBottle(myWidth=50.0, myHeight=70.0, myThickness=30.0):<br />
aPnt1=Base.Vector(-myWidth/2.,0,0)<br />
aPnt2=Base.Vector(-myWidth/2.,-myThickness/4.,0)<br />
aPnt3=Base.Vector(0,-myThickness/2.,0)<br />
aPnt4=Base.Vector(myWidth/2.,-myThickness/4.,0)<br />
aPnt5=Base.Vector(myWidth/2.,0,0)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:91--><br />
Here we define our makeBottle function. This function can be called without <br />
arguments, like we did above, in which case default values for width, height, <br />
and thickness will be used. Then, we define a couple of points that will be used <br />
for building our base profile.<br />
<br />
</translate><syntaxhighlight><br />
aArcOfCircle = Part.Arc(aPnt2,aPnt3,aPnt4)<br />
aSegment1=Part.Line(aPnt1,aPnt2)<br />
aSegment2=Part.Line(aPnt4,aPnt5)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:92--><br />
Here we actually define the geometry: an arc, made of 3 points, and two <br />
line segments, made of 2 points.<br />
<br />
</translate><syntaxhighlight><br />
aEdge1=aSegment1.toShape()<br />
aEdge2=aArcOfCircle.toShape()<br />
aEdge3=aSegment2.toShape()<br />
aWire=Part.Wire([aEdge1,aEdge2,aEdge3])<br />
</syntaxhighlight><translate><br />
<br />
<!--T:93--><br />
Remember the difference between geometry and shapes? Here we build <br />
shapes out of our construction geometry. 3 edges (edges can be straight <br />
or curved), then a wire made of those three edges.<br />
<br />
</translate><syntaxhighlight><br />
aTrsf=Base.Matrix()<br />
aTrsf.rotateZ(math.pi) # rotate around the z-axis<br />
aMirroredWire=aWire.transformGeometry(aTrsf)<br />
myWireProfile=Part.Wire([aWire,aMirroredWire])<br />
</syntaxhighlight><translate><br />
<br />
<!--T:94--><br />
Until now we built only a half profile. Easier than building the whole profile <br />
the same way, we can just mirror what we did, and glue both halfs together. <br />
So we first create a matrix. A matrix is a very common way to apply transformations <br />
to objects in the 3D world, since it can contain in one structure all basic <br />
transformations that 3D objects can suffer (move, rotate and scale). Here, <br />
after we create the matrix, we mirror it, and we create a copy of our wire <br />
with that transformation matrix applied to it. We now have two wires, and <br />
we can make a third wire out of them, since wires are actually lists of edges.<br />
<br />
</translate><syntaxhighlight><br />
myFaceProfile=Part.Face(myWireProfile)<br />
aPrismVec=Base.Vector(0,0,myHeight)<br />
myBody=myFaceProfile.extrude(aPrismVec)<br />
myBody=myBody.makeFillet(myThickness/12.0,myBody.Edges)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:95--><br />
Now that we have a closed wire, it can be turned into a face. Once we have a face, <br />
we can extrude it. Doing so, we actually made a solid. Then we apply a nice little <br />
fillet to our object because we care about good design, don't we?<br />
<br />
</translate><syntaxhighlight><br />
neckLocation=Base.Vector(0,0,myHeight)<br />
neckNormal=Base.Vector(0,0,1)<br />
myNeckRadius = myThickness / 4.<br />
myNeckHeight = myHeight / 10<br />
myNeck = Part.makeCylinder(myNeckRadius,myNeckHeight,neckLocation,neckNormal)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:96--><br />
Then, the body of our bottle is made, we still need to create a neck. So we <br />
make a new solid, with a cylinder.<br />
<br />
</translate><syntaxhighlight><br />
myBody = myBody.fuse(myNeck)<br />
</syntaxhighlight><translate><br />
<br />
<!--T:97--><br />
The fuse operation, which in other apps is sometimes called union, is very <br />
powerful. It will take care of gluing what needs to be glued and remove parts that <br />
need to be removed.<br />
<br />
</translate><syntaxhighlight><br />
return myBody<br />
</syntaxhighlight><translate><br />
<br />
<!--T:98--><br />
Then, we return our Part solid as the result of our function. That Part solid, <br />
like any other Part shape, can be attributed to an object in a FreeCAD document, with:<br />
<br />
</translate><syntaxhighlight><br />
myObject = FreeCAD.ActiveDocument.addObject("Part::Feature","myObject")<br />
myObject.Shape = bottle<br />
</syntaxhighlight><translate><br />
<br />
<!--T:99--><br />
or, more simple:<br />
<br />
</translate><syntaxhighlight><br />
Part.show(bottle)<br />
</syntaxhighlight><translate><br />
<br />
==Box pierced== <!--T:100--><br />
Here a complete example of building a box pierced.<br />
<br />
<!--T:101--><br />
The construction is done side by side and when the cube is finished, it is hollowed out of a cylinder through.<br />
<br />
</translate><syntaxhighlight><br />
import Draft, Part, FreeCAD, math, PartGui, FreeCADGui, PyQt4<br />
from math import sqrt, pi, sin, cos, asin<br />
from FreeCAD import Base<br />
<br />
size = 10<br />
poly = Part.makePolygon( [ (0,0,0), (size, 0, 0), (size, 0, size), (0, 0, size), (0, 0, 0)])<br />
<br />
face1 = Part.Face(poly)<br />
face2 = Part.Face(poly)<br />
face3 = Part.Face(poly)<br />
face4 = Part.Face(poly)<br />
face5 = Part.Face(poly)<br />
face6 = Part.Face(poly)<br />
<br />
myMat = FreeCAD.Matrix()<br />
myMat.rotateZ(math.pi/2)<br />
face2.transformShape(myMat)<br />
face2.translate(FreeCAD.Vector(size, 0, 0))<br />
<br />
myMat.rotateZ(math.pi/2)<br />
face3.transformShape(myMat)<br />
face3.translate(FreeCAD.Vector(size, size, 0))<br />
<br />
myMat.rotateZ(math.pi/2)<br />
face4.transformShape(myMat)<br />
face4.translate(FreeCAD.Vector(0, size, 0))<br />
<br />
myMat = FreeCAD.Matrix()<br />
myMat.rotateX(-math.pi/2)<br />
face5.transformShape(myMat)<br />
<br />
face6.transformShape(myMat) <br />
face6.translate(FreeCAD.Vector(0,0,size))<br />
<br />
myShell = Part.makeShell([face1,face2,face3,face4,face5,face6]) <br />
<br />
mySolid = Part.makeSolid(myShell)<br />
mySolidRev = mySolid.copy()<br />
mySolidRev.reverse()<br />
<br />
myCyl = Part.makeCylinder(2,20)<br />
myCyl.translate(FreeCAD.Vector(size/2, size/2, 0))<br />
<br />
cut_part = mySolidRev.cut(myCyl)<br />
<br />
Part.show(cut_part)<br />
</syntaxhighlight><translate><br />
<br />
== Loading and Saving == <!--T:102--><br />
There are several ways to save your work in the Part module. You can <br />
of course save your FreeCAD document, but you can also save Part <br />
objects directly to common CAD formats, such as BREP, IGS, STEP and STL.<br />
<br />
<!--T:103--><br />
Saving a shape to a file is easy. There are exportBrep(), exportIges(), <br />
exportStl() and exportStep() methods availables for all shape objects. <br />
So, doing:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
s = Part.makeBox(0,0,0,10,10,10)<br />
s.exportStep("test.stp")<br />
</syntaxhighlight><translate><br />
<br />
<!--T:104--><br />
this will save our box into a STEP file. To load a BREP, <br />
IGES or STEP file, simply do the contrary:<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
s = Part.Shape()<br />
s.read("test.stp")<br />
</syntaxhighlight><translate><br />
<br />
<!--T:105--><br />
To convert an '''.stp''' in '''.igs''' file simply :<br />
<br />
</translate><syntaxhighlight><br />
import Part<br />
s = Part.Shape()<br />
s.read("file.stp") # incoming file igs, stp, stl, brep<br />
s.exportIges("file.igs") # outbound file igs<br />
</syntaxhighlight><translate><br />
<br />
<!--T:106--><br />
Note that importing or opening BREP, IGES or STEP files can also be done <br />
directly from the File -> Open or File -> Import menu, while exporting<br />
is with File -> Export<br />
<br />
<!--T:107--><br />
{{docnav|Mesh Scripting|Mesh to Part}}<br />
<br />
<!--T:108--><br />
[[Category:Poweruser Documentation]]<br />
[[Category:Python Code]]<br />
[[Category:Tutorials]]<br />
<br />
</translate><br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123305FreeCAD Howto Import Export2014-11-17T00:13:18Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the STEP format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
Currently there is no support for text or annotation export with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123304FreeCAD Howto Import Export2014-11-17T00:12:53Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the STEP format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
Currently there is no support for text or annotation export with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123303FreeCAD Howto Import Export2014-11-17T00:12:27Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
Currently there is no support for text or annotation export with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123302FreeCAD Howto Import Export2014-11-17T00:12:13Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
Currently there is no support for text or annotation export with the IGES format due to lack of support<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123301FreeCAD Howto Import Export2014-11-17T00:11:26Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123300FreeCAD Howto Import Export2014-11-17T00:10:57Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
Currently there is no support for text or annotation import with the IGES format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123299FreeCAD Howto Import Export2014-11-17T00:10:08Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
Currently there is no support for text or annotation export with the STEP format due to lack of suport<br /><br />
with FreeCAD's geometric CAD kernel.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123298FreeCAD Howto Import Export2014-11-16T23:42:16Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system.<br /><br />
This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]]<br /><br />
page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing <br /><br />
Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123297FreeCAD Howto Import Export2014-11-16T23:39:51Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Importing Collada files requires an external Python module to be installed on your system. This can be easily added by folowing the directions found on the [[Extra python modules|Extra python modules]] page under [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada pyCollada] in this Wiki. Once the pyCollada Python module is installed, importing Collada files is the same as any standard file import.<br />
<br />
See also: [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=123296User:Quick612014-11-16T23:29:16Z<p>Quick61: /* Wiki Contributions */</p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
*[[Importing From Sketchup|Importing From Sketchup]]<br />
*[[FreeCAD Howto Import Export|FreeCAD Howto Import Export]]<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123295FreeCAD Howto Import Export2014-11-16T23:11:02Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
Please refer to the Page [[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123294FreeCAD Howto Import Export2014-11-16T23:10:41Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Please refer to the Page [[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
[[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123293FreeCAD Howto Import Export2014-11-16T23:10:08Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
[[Common Airfoil Data Import|Common Airfoil Data Import]]<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
[[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Common_Airfoil_Data_Import&diff=123292Common Airfoil Data Import2014-11-16T23:09:00Z<p>Quick61: </p>
<hr />
<div><br />
== Importing Airfoil Data ==<br />
<br />
FreeCAD can import airfoil data such as that found on the [http://m-selig.ae.illinois.edu/ads/coord_database.html UIUC Airfoil Coordinates Database] or files produced by airfoil creation and annalizing software like [http://www.xflr5.com/xflr5.htm XFLR5]<br />
<br />
== How To ==<br />
<br />
From the File menu, select either Open for a new document or Import for existing document. From the Open or Import dialog "Files of type: pull down menu select Common airfoil data (*.dat), select your file and click Open. <br />
<br />
When opening airfoil data files, FreeCAD reads the file and imports then in FreeCAD units. Airfoil data files provide XY coordinates in numbers between 0 and 1. As a result, the imported airfoil will have a chord length of 1 mm by default. Here is a tunicated sample of a typical airfoil .dat file. Notice that all data points fall between 0 and 1. <br />
<br />
<syntaxhighlight><br />
AG35<br />
0.999998 0.002490<br />
0.994759 0.003346<br />
0.985091 0.004927<br />
0.973580 0.006810<br />
0.961032 0.008862<br />
0.948054 0.010984<br />
0.934900 0.013135<br />
<br />
~ ~ ~ ~ ~ ~ ~ ~<br />
<br />
0.947640 -0.000001<br />
0.960660 -0.000001<br />
0.973282 0.000000<br />
0.984898 0.000000<br />
0.994724 -0.000001<br />
1.000001 0.000000<br />
</syntaxhighlight><br />
<br />
== Enhanced Import ==<br />
<br />
There is a macro available that will import the airfoil with a user defined chord length. This macro will first allow the user to select the airfoil data file to import and then take an input for the chord length. It will then properly scale the airfoil for use. The macro can be found in the [[Macros recipes|Macros recipes]] sectiom of this Wiki under [[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]].</div>Quick61https://wiki.freecad.org/index.php?title=Common_Airfoil_Data_Import&diff=123291Common Airfoil Data Import2014-11-16T23:08:36Z<p>Quick61: Created page with "== Importing Airfoil Data == FreeCAD can import airfoil data such as that found on the [http://m-selig.ae.illinois.edu/ads/coord_database.html UIUC Airfoil Coordinates Databa..."</p>
<hr />
<div>== Importing Airfoil Data ==<br />
<br />
FreeCAD can import airfoil data such as that found on the [http://m-selig.ae.illinois.edu/ads/coord_database.html UIUC Airfoil Coordinates Database] or files produced by airfoil creation and annalizing software like [http://www.xflr5.com/xflr5.htm XFLR5]<br />
<br />
== How To ==<br />
From the File menu, select either Open for a new document or Import for existing document. From the Open or Import dialog "Files of type: pull down menu select Common airfoil data (*.dat), select your file and click Open. <br />
<br />
When opening airfoil data files, FreeCAD reads the file and imports then in FreeCAD units. Airfoil data files provide XY coordinates in numbers between 0 and 1. As a result, the imported airfoil will have a chord length of 1 mm by default. Here is a tunicated sample of a typical airfoil .dat file. Notice that all data points fall between 0 and 1. <br />
<br />
<syntaxhighlight><br />
AG35<br />
0.999998 0.002490<br />
0.994759 0.003346<br />
0.985091 0.004927<br />
0.973580 0.006810<br />
0.961032 0.008862<br />
0.948054 0.010984<br />
0.934900 0.013135<br />
<br />
~ ~ ~ ~ ~ ~ ~ ~<br />
<br />
0.947640 -0.000001<br />
0.960660 -0.000001<br />
0.973282 0.000000<br />
0.984898 0.000000<br />
0.994724 -0.000001<br />
1.000001 0.000000<br />
</syntaxhighlight><br />
<br />
== Enhanced Import ==<br />
<br />
There is a macro available that will import the airfoil with a user defined chord length. This macro will first allow the user to select the airfoil data file to import and then take an input for the chord length. It will then properly scale the airfoil for use. The macro can be found in the [[Macros recipes|Macros recipes]] sectiom of this Wiki under [[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]].</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=123270User:Quick612014-11-16T22:19:29Z<p>Quick61: /* Wiki Contributions */</p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Importing From Sketchup|Importing From Sketchup]]<br />
*[[FreeCAD Howto Import Export|FreeCAD Howto Import Export]]<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=Importing_From_Sketchup&diff=123250Importing From Sketchup2014-11-16T22:16:34Z<p>Quick61: /* Importing Collada (*.dae) files */</p>
<hr />
<div><translate><br />
== Best Method ==<br />
<br />
From experience, currently the best method to import a file from Sketchup is to use the Collada (*.dae) format. FreeCAD does not natively support the Collada format. To have this functionality in FreeCAD, the user needs to install a Python module for importing and exporting the format. It's a relatively easy task to perform and instructions can be found on the [[Extra python modules|Extra python modules]] page. The direct link to the instructions is - [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada Extra python modules: pyCollada].<br />
<br />
== Importing Collada (*.dae) files ==<br />
<br />
Providing the pyCollada module has been installed, you can open or import Collada files just like any other. Select the File menu and then pick either Open or Import. Select your Collada file and click Open. You can filter the file type by selecting the Files of type pull down in the Open or Import dialog and select Collada (*.dae) from the list.<br />
<br />
== Alternatives == <br />
<br />
Using a Sketchup STL export plugin, you may also chose to use that format that FreeCAD supports natively. There are a number of these plugins available for Sketchup and some work better than others. Some research my be requires of the user to determine which one will best serve their needs. <br />
<br />
== Notes ==<br />
<br />
Both Collada (*.dae) and STL are mesh formats. To use these files within FreeCAD, which works primarily with solids, additional work to the objects imported using these formats will in most cases be required.<br />
<br />
[[Category:User Documentation]]<br />
<br />
</translate><br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Importing_From_Sketchup&diff=123228Importing From Sketchup2014-11-16T21:57:49Z<p>Quick61: </p>
<hr />
<div><translate><br />
== Best Method ==<br />
<br />
From experience, currently the best method to import a file from Sketchup is to use the Collada (*.dae) format. FreeCAD does not natively support the Collada format. To have this functionality in FreeCAD, the user needs to install a Python module for importing and exporting the format. It's a relatively easy task to perform and instructions can be found on the [[Extra python modules|Extra python modules]] page. The direct link to the instructions is - [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada Extra python modules: pyCollada].<br />
<br />
== Importing Collada (*.dae) files ==<br />
<br />
Providing the pyCollada module has been installed, you can open or import DAE files just like any other. Select the File menu and then pick either Open or Import. Select your Collada file and click Open. You can filter the file type by selecting the Files of type pull down in the Open or Import dialog and select Collada (*.dae) from the list. <br />
<br />
== Alternatives == <br />
<br />
Using a Sketchup STL export plugin, you may also chose to use that format that FreeCAD supports natively. There are a number of these plugins available for Sketchup and some work better than others. Some research my be requires of the user to determine which one will best serve their needs. <br />
<br />
== Notes ==<br />
<br />
Both Collada (*.dae) and STL are mesh formats. To use these files within FreeCAD, which works primarily with solids, additional work to the objects imported using these formats will in most cases be required.<br />
<br />
[[Category:User Documentation]]<br />
<br />
</translate><br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Importing_From_Sketchup&diff=123227Importing From Sketchup2014-11-16T21:56:43Z<p>Quick61: /* Best Method */</p>
<hr />
<div><translate><br />
== Best Method ==<br />
<br />
From experience, currently the best method to import a file from Sketchup is to use the Collada (*.dae) format. FreeCAD does not natively support the Collada format. To have this functionality in FreeCAD, the user needs to install a Python module for importing and exporting the format. It's a relatively easy task to perform and instructions can be found on the [[Extra python modules|Extra python modules]] page. The direct link to the instructions is - [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada Extra python modules: pyCollada].<br />
<br />
== Importing DAE files ==<br />
<br />
Providing the pyCollada module has been installed, you can open or import DAE files just like any other. Select the File menu and then pick either Open or Import. Select your DAE file and click Open. You can filter the file type by selecting the Files of type pull down in the Open or Import dialog and select Collada (*.dae) from the list. <br />
<br />
== Alternatives == <br />
<br />
Using a Sketchup STL export plugin, you may also chose to use that format that FreeCAD supports natively. There are a number of these plugins available for Sketchup and some work better than others. Some research my be requires of the user to determine which one will best serve their needs. <br />
<br />
== Notes ==<br />
<br />
Both DAE and STL are mesh formats. To use these files within FreeCAD, which works primarily with solids, additional work to the objects imported using these formats will in most cases be required.<br />
<br />
[[Category:User Documentation]]<br />
<br />
</translate><br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123226FreeCAD Howto Import Export2014-11-16T21:19:44Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
Please refer to the Page [[FreeCAD and DXF Import]]<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Todo<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
Then select your file type.<br /><br />
Be sure to type in also the file extension.<br /><br />
Since these formats are mesh formats, the solids will be exported with a "standard" mesh quality.<br /><br />
Use the [[Mesh Module]] to adjust the quality of the mesh if needed.<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
From the 3D-View simply select (in the tree-view) the solid(s) to export and select "File > Export".<br /><br />
In FreeCAD 0.15 and above, by selecting "Edit > Preferences" and then "Import-Export" in the left column<br /><br />
you should have access to Step-Options such as units, scheme and Header Information.<br /><br />
Be aware that Step AP203 does not support assembly structures, while Step AP 214 does.<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
When exporting SVG-Data from Inkscape to FreeCAD be sure to use the file type "plain svg".<br />
<br />
=== Sketchup ===<!--T:49--><br />
[[Importing From Sketchup|Importing From Sketchup]]<br />
<br />
<br />
[[Category:User Documentation]]<br />
<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123060FreeCAD Howto Import Export2014-11-16T17:42:29Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
WIP<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Todo<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
WIP<br />
<br />
=== Sketchup ===<!--T:49--><br />
[[Importing From Sketchup|Importing From Sketchup]]<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Importing_From_Sketchup&diff=123059Importing From Sketchup2014-11-16T17:40:44Z<p>Quick61: Created page with "== Best Method == From experience, currently the best method to import a file from Sketchup is to use the DAE (*.dae) format. FreeCAD does not natively support the DAE format..."</p>
<hr />
<div>== Best Method ==<br />
<br />
From experience, currently the best method to import a file from Sketchup is to use the DAE (*.dae) format. FreeCAD does not natively support the DAE format, To have this functionality in FreeCAD, the user needs to install a Python module for importing and exporting in the DAE format. It's a relatively easy task to perform and instructions can be found on the [[Extra python modules|Extra python modules]] page. The direct link to the instructions is - [http://www.freecadweb.org/wiki/index.php?title=Extra_python_modules#pyCollada Extra python modules: pyCollada].<br />
<br />
== Importing DAE files ==<br />
<br />
Providing the pyCollada module has been installed, you can open or import DAE files just like any other. Select the File menu and then pick either Open or Import. Select your DAE file and click Open. You can filter the file type by selecting the Files of type pull down in the Open or Import dialog and select Collada (*.dae) from the list. <br />
<br />
== Alternatives == <br />
<br />
Using a Sketchup STL export plugin, you may also chose to use that format that FreeCAD supports natively. There are a number of these plugins available for Sketchup and some work better than others. Some research my be requires of the user to determine which one will best serve their needs. <br />
<br />
== Notes ==<br />
<br />
Both DAE and STL are mesh formats. To use these files within FreeCAD, which works primarily with solids, additional work to the objects imported using these formats will in most cases be required.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_Howto_Import_Export&diff=123058FreeCAD Howto Import Export2014-11-16T16:53:45Z<p>Quick61: </p>
<hr />
<div><!--T:1--><br />
{{VeryImportantMessage|'''This page is WIP. Please do not translate yet. Thank you. R-Frank'''}}<br />
<!--T:2--><br />
This page attempts to answer the most common questions asked on the FreeCAD forums on import and export of data to/from other programs.<br /><br />
If you have a problem or question regarding FreeCAD, check below first.<br /><br />
Then, if you cannot find an answer for your specific question, head to the FreeCAD forum! <br /><br />
<br />
== Import 2D/3D Data ==<!--T:3--><br />
<br />
=== Autodesk DWG ===<!--T:4--><br />
Please refer to the Page [[FreeCAD and DWG Import|FreeCAD and DWG-Import]]<br />
<br />
=== Autodesk DXF ===<!--T:5--><br />
WIP<br />
<br />
=== BREP Format ===<!--T:6--><br />
Todo<br />
<br />
=== Calculix Result ===<!--T:7--><br />
Todo<br />
<br />
=== Collada ===<!--T:8--><br />
Todo<br />
<br />
=== Common Airfoil Data ===<!--T:9--><br />
Todo<br />
<br />
=== Drawing ===<!--T:10--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:11--><br />
Todo<br />
<br />
=== FreeCAD Material Cards ===<!--T:12--><br />
Todo<br />
<br />
=== IDF emn file ===<!--T:13--><br />
Todo<br />
<br />
=== Import IGES ===<!--T:14--><br />
Todo<br />
<br />
=== Image Formats ===<!--T:15--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:16--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:17--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:18--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:19--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:20--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:21--><br />
Todo<br />
<br />
=== Point Formats ===<!--T:22--><br />
Todo<br />
<br />
=== POVRay Format ===<!--T:23--><br />
Todo<br />
<br />
=== Python ===<!--T:24--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:25--><br />
Todo<br />
<br />
=== SVG as geometry ===<!--T:26--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:27--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:28--><br />
Todo<br />
<br />
== Export 2D/3D Data ==<!--T:29--><br />
<br />
=== 3D View (SVG) ===<!--T:30--><br />
Todo<br />
<br />
=== Autodesk DWG ===<!--T:31--><br />
Todo<br />
<br />
=== Autodesk DXF ===<!--T:32--><br />
Todo<br />
<br />
=== BREP Format ===<!--T:33--><br />
Todo<br />
<br />
=== Collada ===<!--T:34--><br />
Todo<br />
<br />
=== Drawing ===<!--T:35--><br />
Todo<br />
<br />
=== FEM Formats ===<!--T:36--><br />
Todo<br />
<br />
=== Flattened SVG ===<!--T:37--><br />
Todo<br />
<br />
=== IGES Format ===<!--T:38--><br />
Todo<br />
<br />
=== Industry Foundation Classes ===<!--T:39--><br />
Todo<br />
<br />
=== Inventor V2.1 ===<!--T:40--><br />
Todo<br />
<br />
=== Mesh Formats ===<!--T:41--><br />
Todo<br />
<br />
=== Open CAD Format ===<!--T:42--><br />
Todo<br />
<br />
=== OpenSCAD CSG Format ===<!--T:43--><br />
Todo<br />
<br />
=== OpenSCAD Format ===<!--T:44--><br />
Todo<br />
<br />
=== Portable Document Format ===<!--T:45--><br />
Todo<br />
<br />
=== Step with Colors ===<!--T:40--><br />
Todo<br />
<br />
=== Spreadsheet ===<!--T:41--><br />
Todo<br />
<br />
=== TetGen File ===<!--T:42--><br />
Todo<br />
<br />
=== VRML 2.0 ===<!--T:43--><br />
Todo<br />
<br />
=== Wavefront OBJ - Arch Module ===<!--T:44--><br />
Todo<br />
<br />
=== WebGL File ===<!--T:45--><br />
Todo<br />
<br />
== Export Data from third-party programs for import into FreeCAD ==<!--T:46><br />
<br />
<!--T:47--><br />
(Tips and Tricks with using Third-Party Software)<br />
<br />
=== Inkscape ===<!--T:48--><br />
WIP<br />
<br />
=== Sketchup ===<!--T:49--><br />
Todo<br />
{{clear}}<br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121102FreeCAD and DWG Import2014-11-12T00:20:39Z<p>Quick61: </p>
<hr />
<div><br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
The DWG format is a closed source binary file format that is not directly supported by FreeCAD. It requires an external 3rd party file converter to first convert then import the conversion into FreeCAD for use.<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, like DXF R12 or R14, SVG, and if version supports it, IGES. All are better alternatives to the DWG format when using FreeCAD. <br />
<br />
It is important to know that, contrarily to popular belief, there is no difference between the contents of a file saved in DWG or DXF formats, provided it is the same version (ex. DWG 2014 vs. DXF 2014). Both formats are maintained by Autodesk, and they both support exactly the same features. The difference is that DWG is closed (machine-encoded) while DXF is open.<br />
<br />
==What Can I Do To Help? ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=121101User:Quick612014-11-11T22:06:34Z<p>Quick61: /* Wiki Contributions */</p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[FreeCAD and DWG Import|FreeCAD and DWG Import]]<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121014FreeCAD and DWG Import2014-11-11T20:54:50Z<p>Quick61: </p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
The DWG format is a closed source binary file format that is not directly supported by FreeCAD. It requires an external 3rd party file converter to first convert then import the conversion into FreeCAD for use.<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, like DXF R12 or R14, SVG, and if version supports it, IGES. All are better alternatives to the DWG format when using FreeCAD. <br />
<br />
It is important to know that, contrarily to popular belief, there is no difference between the contents of a file saved in DWG or DXF formats, provided it is the same version (ex. DWG 2014 vs. DXF 2014). Both formats are maintained by Autodesk, and they both support exactly the same features. The difference is that DWG is closed (machine-encoded) while DXF is open.<br />
<br />
==What Can I Do To Help? ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121013FreeCAD and DWG Import2014-11-11T20:53:55Z<p>Quick61: /* Export Your AutoCAD files in Friendly Format */</p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
The DWG format is a closed source binary file format that is not directly supported by FreeCAD. It requires an external 3rd party file converter to first convert then import the conversion into FreeCAD for use.<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, like DXF R12 or R14, SVG, and if version supports it, IGES. All are better alternatives to the DWG format when using FreeCAD. <br />
<br />
It is important to know that, contrarily to popular belief, there is no difference between the contents of a file saved in DWG or DXF formats, provided it is the same version (ex. DWG 2014 vs. DXF 2014). Both formats are maintained by Autodesk, and they both support exactly the same features. The difference is that DWG is closed (machine-encoded) while DXF is open.<br />
<br />
==What Can I Do To Help ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121012FreeCAD and DWG Import2014-11-11T20:51:42Z<p>Quick61: /* Export Your AutoCAD files in Friendly Format */</p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
The DWG format is a closed source binary file format that is not directly supported by FreeCAD. It requires an external 3rd party file converter to first convert then import the conversion into FreeCAD for use.<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, like DXF R12 or R14, SVG, and if version supports it, IGES. All are better alternatives to the DWG format. <br />
<br />
It is important to know that, contrarily to popular belief, there is no difference between the contents of a file saved in DWG or DXF formats, provided it is the same version (ex. DWG 2014 vs. DXF 2014). Both formats are maintained by Autodesk, and they both support exactly the same features. The difference is that DWG is closed (machine-encoded) while DXF is open.<br />
<br />
==What Can I Do To Help ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121011FreeCAD and DWG Import2014-11-11T20:48:54Z<p>Quick61: /* Why Can't I Import DWG Files into FreeCAD? */</p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
The DWG format is a closed source binary file format that is not directly supported by FreeCAD. It requires an external 3rd party file converter to first convert then import the conversion into FreeCAD for use.<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, Like DXF R12 or R14, SVG, and if version supports it IGES, are better alternatives to the DWG format. <br />
<br />
It is important to know that, contrarily to popular belief, there is no difference between the contents of a file saved in DWG or DXF formats, provided it is the same version (ex. DWG 2014 vs. DXF 2014). Both formats are maintained by Autodesk, and they both support exactly the same features. The difference is that DWG is closed (machine-encoded) while DXF is open.<br />
<br />
==What Can I Do To Help ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121009FreeCAD and DWG Import2014-11-11T19:00:50Z<p>Quick61: </p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
===Teigha Converter===<br />
<br />
* homepage: http://www.opendesign.com/guestfiles/TeighaFileConverter<br />
* license: freeware<br />
* optional, used to enable import and export of DWG files<br />
<br />
The Teigha Converter is a small freely available utility that allows to convert between several versions of DWG and DXF files. FreeCAD can use it to offer DWG import and export, by converting DWG files to the DXF format under the hood,then using its standard DXF importer to import the file contents. The restrictions of the [[Draft_DXF|DXF importer]] apply.<br />
<br />
====Installation====<br />
On all platforms, only by installing the appropriate package from http://www.opendesign.com/guestfiles/TeighaFileConverter . After installation, if the utility is not found automatically by FreeCAD, you might need to set the path to the converter executable manually, in the menu Edit -> Preferences -> Draft -> Import/Export options.<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, Like DXF R12 or R14, SVG, and if version supports it IGES, are better alternatives to the DWG format. <br />
<br />
<br />
==What Can I Do To Help ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121008FreeCAD and DWG Import2014-11-11T18:44:19Z<p>Quick61: </p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
<br />
== What Are The Alternatives? ==<br />
<br />
===DraftSight===<br />
There is a free commercial program called Draft Sight (http://www.3ds.com/products-services/draftsight/overview/) that can import most DWG files and can save and export in formats that are friendly to FreeCAD.<br />
<br />
===Export Your AutoCAD files in Friendly Format===<br />
Exporting your AutoCAD files in a more FreeCAD friendly format, Like DXF R12 or R14, SVG, and if version supports it IGES, are better alternatives to the DWG format. <br />
<br />
<br />
==What Can I Do To Help ==<br />
<br />
===Promote the use of alternative formats===<br />
<br />
Simply put, stop accepting work done in DWG format. In practice, this is often easier said than done. Still, it would not be bad practice for users and supporters of FreeCAD to avoid and reject the DWG format whenever possible.</div>Quick61https://wiki.freecad.org/index.php?title=FreeCAD_and_DWG_Import&diff=121007FreeCAD and DWG Import2014-11-11T18:23:12Z<p>Quick61: Created page with "{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}} == Why Can't I Import DWG Files into FreeCAD? == == What Do I Need To Be Able To Import D..."</p>
<hr />
<div>{{VeryImportantMessage|UNDER DEVELOPMENT - Not For Release - Do not Translate''}}<br />
<br />
<br />
== Why Can't I Import DWG Files into FreeCAD? ==<br />
<br />
<br />
== What Do I Need To Be Able To Import DWG Files? ==<br />
<br />
<br />
== What Are The Alternatives? ==<br />
<br />
<br />
==What Can I Do To Help ==</div>Quick61https://wiki.freecad.org/index.php?title=Macros_recipes&diff=116116Macros recipes2014-10-24T21:50:13Z<p>Quick61: </p>
<hr />
<div><translate><br />
<!--T:1--><br />
This page contains macros to add functionality to your freecad installation<br />
<br />
== Macros == <!--T:2--><br />
<br />
=== Object creation === <!--T:3--><br />
* [[Image:Macro_makeCube.png|16px]] [[Macro makeCube|Macro MakeCube]] : creates a cube from 4 points<br />
* [[Macro draw2DFunction|Macro Draw2DFunction]]: draws a function described by an equation z=F(x)<br />
* [[Macro drawParametric2Dfunction|Macro DrawParametric2Dfunction]]: Based on the above macro, but for parametric and optionally polar equations.<br />
* [[Macro Solid Sweep|Macro Solid Sweep]]: creates a solid by sweeping a 2D profile along a trajectory previously selected in the 3D view. The 2D elements can be created through the regular tools in FreeCAD's GUI.<br />
* [[Macro Rectellipse|Macro Rectellipse]]: creates a parametric rectellipse<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro_Make_Circle_3_Points|Macro Make Circle 3 Points]]: creates a circle on 3 selected points, the points can be objects (this example brings together the two examples below, all parameters simply settle on a graphic window).<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points|Macro Draft Circle 3 Points]]: creates a circle from 3 selected points 2D orthogonal<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points 3D|Macro Draft Circle 3 Points 3D]]: creates a circle from 3 selected points in the space 3D<br />
* [[Macro screw maker1_2|Macro Screw Maker1_2]]: This macro creates a screw with or without thread, according to ISO standards ([http://forum.freecadweb.org/viewtopic.php?f=22&t=6088#p48519 screw_maker1_6.py.zip with Pyside support]). [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 (Screw Maker 1.7 - the best so far!)] <br />
* [[Image:Macro_BOLTS.png|16px]] [[Macro BOLTS|Macro BOLTS]]: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.<br />
* [[Macro Ellipse-Center+2Points|Macro Ellipse Center+2Points]] Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius<br />
* [[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]] : Imports and scales a .dat airfoil to desired chord length.<br />
* [[Macro 3D Parametric Curve|Macro 3D Parametric Curve]]: Draw a function described by parametric equations x(t), y(t) and z(t).<br />
* [[Macro Line Length|Macro Line Length]]: Create a line giving coordinate XYZ length and angle to plane X Y<br />
* [[Macro FCTexture|Macro FCTexture]]: Create a project from a bmp image to create a texture easily<br />
* [[Image:FreeCAD Doc.png|16px]] [[Macro PartsLibrary|Macro PartsLibrary]]: Starts the Parts library browser<br />
* [[Macro BoundingBox Tracing|Macro BoundingBox Tracing]] : This macro red trace (editable) around the BoundingBox with 6 rectangles<br />
* [[PartDesign_InvoluteGear|Involute Gear]]: allows you to create gear. See [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/PartDesign/InvoluteGearFeature.py InvoluteGearFeature.py] in FreeCAD_sf_master.<br />
* [[Macro FCCircularText|Macro FCCircularText]]: This macro create a text around a cylinder<br />
* [[Macro Geneva Wheel|Macro Geneva Wheel]]: Allows the user to create a Geneva wheel mechanism from scratch. Must edit values within the Macro to alter the size of the object.<br />
* [[Macro WireXYZ|Macro WireXYZ]]: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.<br />
<br />
=== Object transformation === <!--T:4--><br />
* [[Macro ArrayCopy|Macro ArrayCopy]]: copies the selected object several times, on an array grid<br />
* [[Macro FlattenWire|Macro FlattenWire]]: flattens draft wires that are not plane to their median Z coordinate<br />
* [[Macro MeshToPart|Macro MeshToPart]]: converts selected meshes to parts<br />
* [[Macro JointWire|Macro JointWire]]: allows to find and joint all non connected edge to the closest non connected one using a line<br />
* [[Macro Remove parametric history|Macro Remove parametric history]]: removes all parametric associativity from an object, leaving it as a "dumb" shape<br />
* [[Macro SuperWire|Macro SuperWire]]: Forces the creation of a Wire from lines and arcs that don't necessarily touch each other. Use this if normal wire operation fails<br />
* [[Macro HealArcs|Macro HealArcs]]: Sometimes arcs are transformed into BSplines, for example when scale operations have been applied to them. This macro recreates valid arcs from them. Useful before exporting to dxf<br />
* [[Macro FaceToSketch|Macro FaceToSketch]]: Converts the selected Face to a single Sketch without constraints.<br />
* [[Macro EdgesToArc|Macro EdgesToArc]]: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.<br />
* [[Macro CloneConvert|Macro CloneConvert]]: Creates a clone of the object and the converted in the chosen position and size (inch, mm, m, µm...). The base object is recognized in mm (FreeCAd base)<br />
<br />
=== 3D View operations === <!--T:5--><br />
* [[Macro Rotate View|Macro Rotate View]] This macro rotates the current view by 90° to the left. Only works if you are in Top view.<br />
* [[Macro View Rotation|Macro View Rotation]] Provides a GUI to permit rotation of view by precise amounts in all three directions.<br />
* [[Macro Texture Objects|Macro Texture Objects]] This macro allows you to temporarily put a texture image on the selected objects.<br />
* [[Macro Mouse Cross|Macro Mouse Cross]] This small macro turns the arrow of the mouse in a precision cross<br />
* [[Macro Align View to Face|Macro Align ViewToFace]] This macro aligns the current view to a selected face<br />
<br />
=== Wizards === <!--T:6--><br />
* [[Macro Automatic drawing|Macro Automatic Drawing]]: allows the user to get the view of his object in a drawing with 4 different position(front,top,iso,right). Needs some modification to be perfectly effective<br />
* [[Macro Corner shapes wizard|Macro Corner Shapes Wizard]]: pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece<br />
* [[Macro CartoucheFC|Macro CartoucheFC]]: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC Full|Macro CartoucheFC Full]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 1''' of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC 2|Macro CartoucheFC 2]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.<br />
* [[Macro unrollRuledSurface|Macro UnrollRuledSurface]]: allows to unroll ruled surfaces and to draw them on a page.<br />
* [[Macro unfoldBox|Macro UnfoldBox]]: allows to unfold the surfaces of a box of any shape and to draw them on a page.<br />
* [[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.<br />
* [[Image:Part_Prism_Apothem.svg|16px]][[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]] A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.<br />
<br />
=== Utility === <!--T:7--><br />
* [[Macro MessageBox|Macro MessageBox]]: shows how to give information to the user through the GUI.<br />
* [[Image:FCInfo.png|16px]] [[Macro_FCInfo|Macro FCInfo]] : Gives a series of information about the selected shape and can display a conversion of length, inclination (degrees, radian, grade) shape, surface, volume and the weight of the form in the density selected in various international and Anglo-Saxon units<br />
* [[Image:FCInfo.png|16px]] [[Macro FCInfo Alternate Linux|Macro FCInfo Alternate Linux]] : same as above, but for Linux<br />
* [[Macro 3d Printer Slicer|Macro 3D Printer Slicer]]: Exports current design to slicer software or CAM software.<br />
* [[Macro Delta xyz|Macro Delta xyz]] : Gives the Delta values and the distance between 2 points<br />
* [[Macro CenterFace|Macro CenterFace]] : This macro red trace (editable) the center face (mass) with 1 point and print the coordinates<br />
* [[Macro ObjectInfo|Macro ObjectInfo]]: User-friendly "Info" module created by a FreeCAD user<br />
* [[Macro MacroMenu|MacroMenu]]: Add the macros found in the macros folder to the Macros menu of FreeCAD<br />
* [[Image:Force_Recompute.png|16px]] [[Macro_ForceRecompute|Macro ForceRecompute]] : Forces manual recompute of model<br />
* [[Macro Shake Sketch|Macro Shake Sketch]]: Shake a sketch in order to discover its unconstrained parts.<br />
<br />
=== Animation=== <!--T:22--><br />
* [[Macro_crank_simul|Macro Crank Simul]] : Rotation rod and piston<br />
* [[Macro_Spring|Macro Spring]] : simulation of one spring<br />
* [[Macro_hinge|Macro Hinge]] : Open and close hinge<br />
* [[Macro_Assembly|Macro Assembly]] : Assembly animate<br />
<br />
== How to use? == <!--T:8--><br />
The above macros can easily be plugged on any FreeCAD installation<br />
* Copy the macro python code from the corresponding macro page<br />
* In FreeCAD, Macro->Macros->Create new, and give it a name<br />
* Paste the python code you copied<br />
* Hit the Save button, and restart FreeCAD<br />
* Open the Macro manager, select your new macro and click "execute"<br />
* Section animated : create animated gif that represents the object in context. Create animated gif max 500 x 500 px the site does not accept resizing animated gif otherwise it stays dead.<br />
<br />
<!--T:9--><br />
Additionally, you can also add your new macro to a custom toolbar<br />
* In FreeCAD, go to Tools -> Customize<br />
* In the Macros tab, add a new macro, and, if you like, define an icon and a keyboard shortcut<br />
* In the Toolbars tab, create a new toolbar, and add your macro, taking it from the "Macros" category.<br />
<br />
== Adding new macros to this repository == <!--T:10--><br />
* Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this: </translate><nowiki>"[[Macro My Excellent Macro]]: My excellent macro"</nowiki>.<translate> <!--T:11--><br />
A new page (red link) will be created.<br />
* In that page, paste the following text:<br />
<br />
<!--T:12--><br />
(With the default icon)<br />
</translate><br />
<nowiki>{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:13--><br />
(With the icon custom)<br />
</translate><br />
<nowiki>{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:14--><br />
(Another language with the default icon (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:15--><br />
(Another language with the icon custom (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:16--><br />
*You can also [http://www.freecadweb.org/wiki/index.php?title=Special:Upload Upload ] a custom format icon'''.png'''<br />'''Note that the name of the icon must have the same name as the name of the macro'''.<br />
**example : " Macro_My_Excellent_Macro " '''without extension''' (the extension is given by the system), and, replace " Icon='''Text-x-python''' " by " Icon='''Macro_My_Excellent_Macro''' "<br />
**'''Text-x-python''' [[Image:Text-x-python.png|32px]] is the default icon of the page dedicated to the Macro.<br />
<br />
<!--T:17--><br />
* Paste your macro, and use the '''<nowiki><syntaxhighlight> your code ...</syntaxhighlight></nowiki>''' preformated text wiki tags to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.<br />
* If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)<br />
* Optionally you can add some more info on how to use your macro, tips, limitations and workaround.<br />
* It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro<br />
<br />
<!--T:19--><br />
Ex:<br />
<br />
<!--T:20--><br />
<syntaxhighlight><br />
#OS: Windows Vista<br />
#Platform: 32-bit<br />
#Version: 0.14.3389<br />
#Python version: 2.6.2<br />
#Qt version: 4.5.2<br />
#Coin version: 3.1.0<br />
#SoQt version: 1.4.1<br />
#OCC version: 6.5.1<br />
</syntaxhighlight><br />
<br />
<!--T:21--><br />
* Add it to the above categories, create a new category if needed.<br />
<br />
<!--T:18--><br />
[[Category:User Documentation]]<br />
[[Category:Repository]]<br />
[[Category:Macros]]<br />
[[Category:Python Code]]<br />
[[Category:Tutorials]]<br />
</translate><br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Macro_Apothem_Based_Prism_GUI&diff=116025Macro Apothem Based Prism GUI2014-10-24T20:31:42Z<p>Quick61: </p>
<hr />
<div>{{Macro|Icon=Part Prism Apothem|Name=MessageBox|Description=A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.|Author=Quick61}}<br />
<br />
== [[Image:Part Prism Apothem.svg]]Apothem Based Prism ==<br />
<br />
=== About ===<br />
<br />
This macro will present the user with a dialog to provide the distance between centers, the number of sides, and height and will create a prism based on the apothem, or inradius of a polygon. This can be extremely handy when one only knows the distance between flats. An example of this would be hexagonal stock of plastics or metal provided by vendors. Most vendors define such stock by the distance between flats. If one is using such stock in their projects, this Macro can be a real time saver. <br />
<br />
== How To Use ==<br />
<br />
Copy the Macro into your FreeCAD Macro directory. Then either run the macro from the Execute Macro dialog or create a shortcut to use from your custom toolbar. <br />
<br />
When run, the Macro wil present the user with a dialog like seen below. First enter the desired distance between flats. This can be any number and can include a decimal value, it will not take fractional input. Next enter the number of sides. This number is a whole number and should be an even number as well for proper results. Lastly enter the height you wish the prism to be. Again, this can be any number and can include a decimal value. Click OK and the prism will be created in your document. <br />
<br />
[[Image:ABP Screenshot.png|center]]<br />
== The Macro ==<br />
<br />
<syntaxhighlight><br />
# # # # # # # # # # #<br />
#<br />
# Apothem Based Prism<br />
#<br />
# This script will take the input of the distance between flats, (apothem, aka inradius), <br />
# and the number of sidesfor a regular polygon along with a height and produce a <br />
# correctly sized prism derived from the circumradius.<br />
#<br />
# # # # # # # # # # #<br />
<br />
import FreeCAD, FreeCADGui, Part, PartGui, math<br />
from FreeCAD import Base<br />
from PySide import QtGui, QtCore<br />
from math import cos, radians<br />
App = FreeCAD<br />
Gui = FreeCADGui<br />
<br />
class p():<br />
<br />
<br />
def priSm(self):<br />
<br />
try:<br />
dbf = float(self.d1.text())<br />
nos = int(self.d2.text())<br />
hth = float(self.d3.text())<br />
aR = dbf / 2<br />
op1 = 180/float(nos)<br />
coS = cos(math.radians(op1))<br />
cR = aR / coS<br />
prism=App.ActiveDocument.addObject("Part::Prism","Prism")<br />
prism.Polygon=nos<br />
prism.Circumradius=cR<br />
prism.Height=hth<br />
prism.Placement=Base.Placement(Base.Vector(0.00,0.00,0.00),Base.Rotation(0.00,0.00,0.00,1.00))<br />
prism.Label='Prism'<br />
App.ActiveDocument.recompute()<br />
Gui.SendMsgToActiveView("ViewFit")<br />
except:<br />
FreeCAD.Console.PrintError("Unable to complete task")<br />
<br />
self.close()<br />
<br />
def close(self):<br />
self.dialog.hide()<br />
<br />
<br />
#<br />
# Make dialog box and get input for distance between flats, number of sides, and height<br />
#<br />
<br />
def __init__(self):<br />
self.dialog = None<br />
<br />
self.dialog = QtGui.QDialog()<br />
self.dialog.resize(280,110)<br />
<br />
self.dialog.setWindowTitle("Apothem Based Prism")<br />
la = QtGui.QVBoxLayout(self.dialog)<br />
<br />
iN1 = QtGui.QLabel("Distance Between Flats")<br />
la.addWidget(iN1)<br />
self.d1 = QtGui.QLineEdit()<br />
la.addWidget(self.d1)<br />
<br />
iN2 = QtGui.QLabel("Number Of Sides (Best results - use even numbers)")<br />
la.addWidget(iN2)<br />
self.d2 = QtGui.QLineEdit()<br />
la.addWidget(self.d2)<br />
<br />
iN3 = QtGui.QLabel("Prism Height")<br />
la.addWidget(iN3)<br />
self.d3 = QtGui.QLineEdit()<br />
la.addWidget(self.d3)<br />
<br />
okbox = QtGui.QDialogButtonBox(self.dialog)<br />
okbox.setOrientation(QtCore.Qt.Horizontal)<br />
okbox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)<br />
la.addWidget(okbox)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("accepted()"), self.priSm)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("rejected()"), self.close)<br />
QtCore.QMetaObject.connectSlotsByName(self.dialog)<br />
self.dialog.show()<br />
self.dialog.exec_()<br />
<br />
p()<br />
<br />
</syntaxhighlight><br />
<br />
== Additions ==<br />
<br />
SVG icon for use in custom toolbar shortcut. <br />
<br />
[[Image:Part Prism Apothem.svg|128px]]<br />
<br />
== Acknowledgements ==<br />
<br />
A thanks to FreeCAD main developer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=765 shoogen] and FreeCAD programmer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=1375 wandererfan] for their invaluable help and advice in constructing this Macro.</div>Quick61https://wiki.freecad.org/index.php?title=File:Part_Prism_Apothem.svg&diff=116023File:Part Prism Apothem.svg2014-10-24T20:23:13Z<p>Quick61: Icon for custom toolbar for use with Macro Apothem Based Prism GUI</p>
<hr />
<div>Icon for custom toolbar for use with Macro Apothem Based Prism GUI</div>Quick61https://wiki.freecad.org/index.php?title=Macro_Apothem_Based_Prism_GUI&diff=116021Macro Apothem Based Prism GUI2014-10-24T19:11:32Z<p>Quick61: </p>
<hr />
<div>{{Macro|Icon=Text-x-python|Name=MessageBox|Description=A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.|Author=Quick61}}<br />
<br />
== Apothem Based Prism ==<br />
<br />
=== About ===<br />
<br />
This macro will present the user with a dialog to provide the distance between centers, the number of sides, and height and will create a prism based on the apothem, or inradius of a polygon. This can be extremely handy when one only knows the distance between flats. An example of this would be hexagonal stock of plastics or metal provided by vendors. Most vendors define such stock by the distance between flats. If one is using such stock in their projects, this Macro can be a real time saver. <br />
<br />
== How To Use ==<br />
<br />
Copy the Macro into your FreeCAD Macro directory. Then either run the macro from the Execute Macro dialog or create a shortcut to use from your custom toolbar. <br />
<br />
When run, the Macro wil present the user with a dialog like seen below. First enter the desired distance between flats. This can be any number and can include a decimal value, it will not take fractional input. Next enter the number of sides. This number is a whole number and should be an even number as well for proper results. Lastly enter the height you wish the prism to be. Again, this can be any number and can include a decimal value. Click OK and the prism will be created in your document. <br />
<br />
[[Image:ABP Screenshot.png|center]]<br />
== The Macro ==<br />
<br />
<syntaxhighlight><br />
# # # # # # # # # # #<br />
#<br />
# Apothem Based Prism<br />
#<br />
# This script will take the input of the distance between flats, (apothem, aka inradius), <br />
# and the number of sidesfor a regular polygon along with a height and produce a <br />
# correctly sized prism derived from the circumradius.<br />
#<br />
# # # # # # # # # # #<br />
<br />
import FreeCAD, FreeCADGui, Part, PartGui, math<br />
from FreeCAD import Base<br />
from PySide import QtGui, QtCore<br />
from math import cos, radians<br />
App = FreeCAD<br />
Gui = FreeCADGui<br />
<br />
class p():<br />
<br />
<br />
def priSm(self):<br />
<br />
try:<br />
dbf = float(self.d1.text())<br />
nos = int(self.d2.text())<br />
hth = float(self.d3.text())<br />
aR = dbf / 2<br />
op1 = 180/float(nos)<br />
coS = cos(math.radians(op1))<br />
cR = aR / coS<br />
prism=App.ActiveDocument.addObject("Part::Prism","Prism")<br />
prism.Polygon=nos<br />
prism.Circumradius=cR<br />
prism.Height=hth<br />
prism.Placement=Base.Placement(Base.Vector(0.00,0.00,0.00),Base.Rotation(0.00,0.00,0.00,1.00))<br />
prism.Label='Prism'<br />
App.ActiveDocument.recompute()<br />
Gui.SendMsgToActiveView("ViewFit")<br />
except:<br />
FreeCAD.Console.PrintError("Unable to complete task")<br />
<br />
self.close()<br />
<br />
def close(self):<br />
self.dialog.hide()<br />
<br />
<br />
#<br />
# Make dialog box and get input for distance between flats, number of sides, and height<br />
#<br />
<br />
def __init__(self):<br />
self.dialog = None<br />
<br />
self.dialog = QtGui.QDialog()<br />
self.dialog.resize(280,110)<br />
<br />
self.dialog.setWindowTitle("Apothem Based Prism")<br />
la = QtGui.QVBoxLayout(self.dialog)<br />
<br />
iN1 = QtGui.QLabel("Distance Between Flats")<br />
la.addWidget(iN1)<br />
self.d1 = QtGui.QLineEdit()<br />
la.addWidget(self.d1)<br />
<br />
iN2 = QtGui.QLabel("Number Of Sides (Best results - use even numbers)")<br />
la.addWidget(iN2)<br />
self.d2 = QtGui.QLineEdit()<br />
la.addWidget(self.d2)<br />
<br />
iN3 = QtGui.QLabel("Prism Height")<br />
la.addWidget(iN3)<br />
self.d3 = QtGui.QLineEdit()<br />
la.addWidget(self.d3)<br />
<br />
okbox = QtGui.QDialogButtonBox(self.dialog)<br />
okbox.setOrientation(QtCore.Qt.Horizontal)<br />
okbox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)<br />
la.addWidget(okbox)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("accepted()"), self.priSm)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("rejected()"), self.close)<br />
QtCore.QMetaObject.connectSlotsByName(self.dialog)<br />
self.dialog.show()<br />
self.dialog.exec_()<br />
<br />
p()<br />
<br />
</syntaxhighlight><br />
== Acknowledgements ==<br />
<br />
A thanks to FreeCAD main developer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=765 shoogen] and FreeCAD programmer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=1375 wandererfan] for their invaluable help and advice in constructing this Macro.</div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=116020User:Quick612014-10-24T18:51:52Z<p>Quick61: </p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]]<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61https://wiki.freecad.org/index.php?title=Macro_Apothem_Based_Prism_GUI&diff=116019Macro Apothem Based Prism GUI2014-10-24T18:39:03Z<p>Quick61: Created page with "{{Macro|Icon=Text-x-python|Name=MessageBox|Description=A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.|Author=Quick61}} == Apothem Based Prism =..."</p>
<hr />
<div>{{Macro|Icon=Text-x-python|Name=MessageBox|Description=A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.|Author=Quick61}}<br />
<br />
== Apothem Based Prism ==<br />
<br />
=== About ===<br />
<br />
This macro will present the user with a dialog to provide the distance between centers, the number of sides, and height and will create a prism based on the apothem, or inradius of a polygon. This can be extremely handy when one only knows the distance between flats. An example of this would be hexagonal stock of plastics or metal provided by vendors. Most vendors define such stock by the distance between flats. If one is using such stock in their projects, this Macro can be a real time saver. <br />
<br />
== How To Use ==<br />
<br />
Copy the Macro into your FreeCAD Macro directory. Then either run the macro from the Execute Macro dialog or create a shortcut to use from your custom toolbar. <br />
<br />
When run, the Macro wil present the user with a dialog like seen below. First enter the desired distance between flats. This can be any number and can include a decimal value, it will not take fractional input. Next enter the number of sides. This number is a whole number and should be an even number as well for proper results. Lastly enter the height you wish the prism to be. Again, this can be any number and can include a decimal value. Click OK and the prism will be created in your document. <br />
<br />
[[Image:ABP Screenshot.png|center]]<br />
== The Macro ==<br />
<br />
<syntaxhighlight><br />
# # # # # # # # # # #<br />
#<br />
# Apothem Based Prism<br />
#<br />
# This script will take the input of the distance between flats, (apothem, aka inradius), <br />
# and the number of sidesfor a regular polygon along with a height and produce a <br />
# correctly sized prism derived from the circumradius.<br />
#<br />
# # # # # # # # # # #<br />
<br />
import FreeCAD, FreeCADGui, Part, PartGui, math<br />
from FreeCAD import Base<br />
from PySide import QtGui, QtCore<br />
from math import cos, radians<br />
App = FreeCAD<br />
Gui = FreeCADGui<br />
<br />
class p():<br />
<br />
<br />
def priSm(self):<br />
<br />
try:<br />
dbf = float(self.d1.text())<br />
nos = int(self.d2.text())<br />
hth = float(self.d3.text())<br />
aR = dbf / 2<br />
op1 = 180/float(nos)<br />
coS = cos(math.radians(op1))<br />
cR = aR / coS<br />
prism=App.ActiveDocument.addObject("Part::Prism","Prism")<br />
prism.Polygon=nos<br />
prism.Circumradius=cR<br />
prism.Height=hth<br />
prism.Placement=Base.Placement(Base.Vector(0.00,0.00,0.00),Base.Rotation(0.00,0.00,0.00,1.00))<br />
prism.Label='Prism'<br />
App.ActiveDocument.recompute()<br />
Gui.SendMsgToActiveView("ViewFit")<br />
except:<br />
FreeCAD.Console.PrintError("Unable to complete task")<br />
<br />
self.close()<br />
<br />
def close(self):<br />
self.dialog.hide()<br />
<br />
<br />
#<br />
# Make dialog box and get input for distance between flats, number of sides, and height<br />
#<br />
<br />
def __init__(self):<br />
self.dialog = None<br />
<br />
self.dialog = QtGui.QDialog()<br />
self.dialog.resize(280,110)<br />
<br />
self.dialog.setWindowTitle("Apothem Based Prism")<br />
la = QtGui.QVBoxLayout(self.dialog)<br />
<br />
iN1 = QtGui.QLabel("Distance Between Flats")<br />
la.addWidget(iN1)<br />
self.d1 = QtGui.QLineEdit()<br />
la.addWidget(self.d1)<br />
<br />
iN2 = QtGui.QLabel("Number Of Sides (Best results - use even numbers)")<br />
la.addWidget(iN2)<br />
self.d2 = QtGui.QLineEdit()<br />
la.addWidget(self.d2)<br />
<br />
iN3 = QtGui.QLabel("Prism Height")<br />
la.addWidget(iN3)<br />
self.d3 = QtGui.QLineEdit()<br />
la.addWidget(self.d3)<br />
<br />
okbox = QtGui.QDialogButtonBox(self.dialog)<br />
okbox.setOrientation(QtCore.Qt.Horizontal)<br />
okbox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)<br />
la.addWidget(okbox)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("accepted()"), self.priSm)<br />
QtCore.QObject.connect(okbox, QtCore.SIGNAL("rejected()"), self.close)<br />
QtCore.QMetaObject.connectSlotsByName(self.dialog)<br />
self.dialog.show()<br />
self.dialog.exec_()<br />
<br />
p()<br />
<br />
</syntaxhighlight><br />
== Acknowledgements ==<br />
<br />
A thanks to FreeCAD main developer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=765 shoogen] and FreeCAD programmer [http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=1375 wandererfan] for their help and advice in constructing this Macro.</div>Quick61https://wiki.freecad.org/index.php?title=File:ABP_Screenshot.png&diff=116018File:ABP Screenshot.png2014-10-24T18:25:03Z<p>Quick61: Apothem Based Prism dialog</p>
<hr />
<div>Apothem Based Prism dialog</div>Quick61https://wiki.freecad.org/index.php?title=Macros_recipes&diff=116017Macros recipes2014-10-24T18:00:56Z<p>Quick61: </p>
<hr />
<div><translate><br />
<!--T:1--><br />
This page contains macros to add functionality to your freecad installation<br />
<br />
== Macros == <!--T:2--><br />
<br />
=== Object creation === <!--T:3--><br />
* [[Image:Macro_makeCube.png|16px]] [[Macro makeCube|Macro MakeCube]] : creates a cube from 4 points<br />
* [[Macro draw2DFunction|Macro Draw2DFunction]]: draws a function described by an equation z=F(x)<br />
* [[Macro drawParametric2Dfunction|Macro DrawParametric2Dfunction]]: Based on the above macro, but for parametric and optionally polar equations.<br />
* [[Macro Solid Sweep|Macro Solid Sweep]]: creates a solid by sweeping a 2D profile along a trajectory previously selected in the 3D view. The 2D elements can be created through the regular tools in FreeCAD's GUI.<br />
* [[Macro Rectellipse|Macro Rectellipse]]: creates a parametric rectellipse<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro_Make_Circle_3_Points|Macro Make Circle 3 Points]]: creates a circle on 3 selected points, the points can be objects (this example brings together the two examples below, all parameters simply settle on a graphic window).<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points|Macro Draft Circle 3 Points]]: creates a circle from 3 selected points 2D orthogonal<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points 3D|Macro Draft Circle 3 Points 3D]]: creates a circle from 3 selected points in the space 3D<br />
* [[Macro screw maker1_2|Macro Screw Maker1_2]]: This macro creates a screw with or without thread, according to ISO standards ([http://forum.freecadweb.org/viewtopic.php?f=22&t=6088#p48519 screw_maker1_6.py.zip with Pyside support]). [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 (Screw Maker 1.7 - the best so far!)] <br />
* [[Image:Macro_BOLTS.png|16px]] [[Macro BOLTS|Macro BOLTS]]: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.<br />
* [[Macro Ellipse-Center+2Points|Macro Ellipse Center+2Points]] Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius<br />
* [[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]] : Imports and scales a .dat airfoil to desired chord length.<br />
* [[Macro 3D Parametric Curve|Macro 3D Parametric Curve]]: Draw a function described by parametric equations x(t), y(t) and z(t).<br />
* [[Macro Line Length|Macro Line Length]]: Create a line giving coordinate XYZ length and angle to plane X Y<br />
* [[Macro FCTexture|Macro FCTexture]]: Create a project from a bmp image to create a texture easily<br />
* [[Image:FreeCAD Doc.png|16px]] [[Macro PartsLibrary|Macro PartsLibrary]]: Starts the Parts library browser<br />
* [[Macro BoundingBox Tracing|Macro BoundingBox Tracing]] : This macro red trace (editable) around the BoundingBox with 6 rectangles<br />
* [[PartDesign_InvoluteGear|Involute Gear]]: allows you to create gear. See [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/PartDesign/InvoluteGearFeature.py InvoluteGearFeature.py] in FreeCAD_sf_master.<br />
* [[Macro FCCircularText|Macro FCCircularText]]: This macro create a text around a cylinder<br />
* [[Macro Geneva Wheel|Macro Geneva Wheel]]: Allows the user to create a Geneva wheel mechanism from scratch. Must edit values within the Macro to alter the size of the object.<br />
* [[Macro WireXYZ|Macro WireXYZ]]: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.<br />
<br />
=== Object transformation === <!--T:4--><br />
* [[Macro ArrayCopy|Macro ArrayCopy]]: copies the selected object several times, on an array grid<br />
* [[Macro FlattenWire|Macro FlattenWire]]: flattens draft wires that are not plane to their median Z coordinate<br />
* [[Macro MeshToPart|Macro MeshToPart]]: converts selected meshes to parts<br />
* [[Macro JointWire|Macro JointWire]]: allows to find and joint all non connected edge to the closest non connected one using a line<br />
* [[Macro Remove parametric history|Macro Remove parametric history]]: removes all parametric associativity from an object, leaving it as a "dumb" shape<br />
* [[Macro SuperWire|Macro SuperWire]]: Forces the creation of a Wire from lines and arcs that don't necessarily touch each other. Use this if normal wire operation fails<br />
* [[Macro HealArcs|Macro HealArcs]]: Sometimes arcs are transformed into BSplines, for example when scale operations have been applied to them. This macro recreates valid arcs from them. Useful before exporting to dxf<br />
* [[Macro FaceToSketch|Macro FaceToSketch]]: Converts the selected Face to a single Sketch without constraints.<br />
* [[Macro EdgesToArc|Macro EdgesToArc]]: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.<br />
* [[Macro CloneConvert|Macro CloneConvert]]: Creates a clone of the object and the converted in the chosen position and size (inch, mm, m, µm...). The base object is recognized in mm (FreeCAd base)<br />
<br />
=== 3D View operations === <!--T:5--><br />
* [[Macro Rotate View|Macro Rotate View]] This macro rotates the current view by 90° to the left. Only works if you are in Top view.<br />
* [[Macro View Rotation|Macro View Rotation]] Provides a GUI to permit rotation of view by precise amounts in all three directions.<br />
* [[Macro Texture Objects|Macro Texture Objects]] This macro allows you to temporarily put a texture image on the selected objects.<br />
* [[Macro Mouse Cross|Macro Mouse Cross]] This small macro turns the arrow of the mouse in a precision cross<br />
* [[Macro Align View to Face|Macro Align ViewToFace]] This macro aligns the current view to a selected face<br />
<br />
=== Wizards === <!--T:6--><br />
* [[Macro Automatic drawing|Macro Automatic Drawing]]: allows the user to get the view of his object in a drawing with 4 different position(front,top,iso,right). Needs some modification to be perfectly effective<br />
* [[Macro Corner shapes wizard|Macro Corner Shapes Wizard]]: pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece<br />
* [[Macro CartoucheFC|Macro CartoucheFC]]: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC Full|Macro CartoucheFC Full]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 1''' of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC 2|Macro CartoucheFC 2]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.<br />
* [[Macro unrollRuledSurface|Macro UnrollRuledSurface]]: allows to unroll ruled surfaces and to draw them on a page.<br />
* [[Macro unfoldBox|Macro UnfoldBox]]: allows to unfold the surfaces of a box of any shape and to draw them on a page.<br />
* [[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.<br />
* [[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]] A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.<br />
<br />
=== Utility === <!--T:7--><br />
* [[Macro MessageBox|Macro MessageBox]]: shows how to give information to the user through the GUI.<br />
* [[Image:FCInfo.png|16px]] [[Macro_FCInfo|Macro FCInfo]] : Gives a series of information about the selected shape and can display a conversion of length, inclination (degrees, radian, grade) shape, surface, volume and the weight of the form in the density selected in various international and Anglo-Saxon units<br />
* [[Image:FCInfo.png|16px]] [[Macro FCInfo Alternate Linux|Macro FCInfo Alternate Linux]] : same as above, but for Linux<br />
* [[Macro 3d Printer Slicer|Macro 3D Printer Slicer]]: Exports current design to slicer software or CAM software.<br />
* [[Macro Delta xyz|Macro Delta xyz]] : Gives the Delta values and the distance between 2 points<br />
* [[Macro CenterFace|Macro CenterFace]] : This macro red trace (editable) the center face (mass) with 1 point and print the coordinates<br />
* [[Macro ObjectInfo|Macro ObjectInfo]]: User-friendly "Info" module created by a FreeCAD user<br />
* [[Macro MacroMenu|MacroMenu]]: Add the macros found in the macros folder to the Macros menu of FreeCAD<br />
* [[Image:Force_Recompute.png|16px]] [[Macro_ForceRecompute|Macro ForceRecompute]] : Forces manual recompute of model<br />
* [[Macro Shake Sketch|Macro Shake Sketch]]: Shake a sketch in order to discover its unconstrained parts.<br />
<br />
=== Animation=== <!--T:22--><br />
* [[Macro_crank_simul|Macro Crank Simul]] : Rotation rod and piston<br />
* [[Macro_Spring|Macro Spring]] : simulation of one spring<br />
* [[Macro_hinge|Macro Hinge]] : Open and close hinge<br />
* [[Macro_Assembly|Macro Assembly]] : Assembly animate<br />
<br />
== How to use? == <!--T:8--><br />
The above macros can easily be plugged on any FreeCAD installation<br />
* Copy the macro python code from the corresponding macro page<br />
* In FreeCAD, Macro->Macros->Create new, and give it a name<br />
* Paste the python code you copied<br />
* Hit the Save button, and restart FreeCAD<br />
* Open the Macro manager, select your new macro and click "execute"<br />
* Section animated : create animated gif that represents the object in context. Create animated gif max 500 x 500 px the site does not accept resizing animated gif otherwise it stays dead.<br />
<br />
<!--T:9--><br />
Additionally, you can also add your new macro to a custom toolbar<br />
* In FreeCAD, go to Tools -> Customize<br />
* In the Macros tab, add a new macro, and, if you like, define an icon and a keyboard shortcut<br />
* In the Toolbars tab, create a new toolbar, and add your macro, taking it from the "Macros" category.<br />
<br />
== Adding new macros to this repository == <!--T:10--><br />
* Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this: </translate><nowiki>"[[Macro My Excellent Macro]]: My excellent macro"</nowiki>.<translate> <!--T:11--><br />
A new page (red link) will be created.<br />
* In that page, paste the following text:<br />
<br />
<!--T:12--><br />
(With the default icon)<br />
</translate><br />
<nowiki>{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:13--><br />
(With the icon custom)<br />
</translate><br />
<nowiki>{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:14--><br />
(Another language with the default icon (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:15--><br />
(Another language with the icon custom (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:16--><br />
*You can also [http://www.freecadweb.org/wiki/index.php?title=Special:Upload Upload ] a custom format icon'''.png'''<br />'''Note that the name of the icon must have the same name as the name of the macro'''.<br />
**example : " Macro_My_Excellent_Macro " '''without extension''' (the extension is given by the system), and, replace " Icon='''Text-x-python''' " by " Icon='''Macro_My_Excellent_Macro''' "<br />
**'''Text-x-python''' [[Image:Text-x-python.png|32px]] is the default icon of the page dedicated to the Macro.<br />
<br />
<!--T:17--><br />
* Paste your macro, and use the '''<nowiki><syntaxhighlight> your code ...</syntaxhighlight></nowiki>''' preformated text wiki tags to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.<br />
* If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)<br />
* Optionally you can add some more info on how to use your macro, tips, limitations and workaround.<br />
* It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro<br />
<br />
<!--T:19--><br />
Ex:<br />
<br />
<!--T:20--><br />
<syntaxhighlight><br />
#OS: Windows Vista<br />
#Platform: 32-bit<br />
#Version: 0.14.3389<br />
#Python version: 2.6.2<br />
#Qt version: 4.5.2<br />
#Coin version: 3.1.0<br />
#SoQt version: 1.4.1<br />
#OCC version: 6.5.1<br />
</syntaxhighlight><br />
<br />
<!--T:21--><br />
* Add it to the above categories, create a new category if needed.<br />
<br />
<!--T:18--><br />
[[Category:User Documentation]]<br />
[[Category:Repository]]<br />
[[Category:Macros]]<br />
[[Category:Python Code]]<br />
[[Category:Tutorials]]<br />
</translate><br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=Macros_recipes&diff=116016Macros recipes2014-10-24T17:56:52Z<p>Quick61: </p>
<hr />
<div><translate><br />
<!--T:1--><br />
This page contains macros to add functionality to your freecad installation<br />
<br />
== Macros == <!--T:2--><br />
<br />
=== Object creation === <!--T:3--><br />
* [[Image:Macro_makeCube.png|16px]] [[Macro makeCube|Macro MakeCube]] : creates a cube from 4 points<br />
* [[Macro draw2DFunction|Macro Draw2DFunction]]: draws a function described by an equation z=F(x)<br />
* [[Macro drawParametric2Dfunction|Macro DrawParametric2Dfunction]]: Based on the above macro, but for parametric and optionally polar equations.<br />
* [[Macro Solid Sweep|Macro Solid Sweep]]: creates a solid by sweeping a 2D profile along a trajectory previously selected in the 3D view. The 2D elements can be created through the regular tools in FreeCAD's GUI.<br />
* [[Macro Rectellipse|Macro Rectellipse]]: creates a parametric rectellipse<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro_Make_Circle_3_Points|Macro Make Circle 3 Points]]: creates a circle on 3 selected points, the points can be objects (this example brings together the two examples below, all parameters simply settle on a graphic window).<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points|Macro Draft Circle 3 Points]]: creates a circle from 3 selected points 2D orthogonal<br />
* [[Image:Macro_Draft_Circle_3_Points.png|16px]] [[Macro Draft Circle 3 Points 3D|Macro Draft Circle 3 Points 3D]]: creates a circle from 3 selected points in the space 3D<br />
* [[Macro screw maker1_2|Macro Screw Maker1_2]]: This macro creates a screw with or without thread, according to ISO standards ([http://forum.freecadweb.org/viewtopic.php?f=22&t=6088#p48519 screw_maker1_6.py.zip with Pyside support]). [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 (Screw Maker 1.7 - the best so far!)] <br />
* [[Image:Macro_BOLTS.png|16px]] [[Macro BOLTS|Macro BOLTS]]: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.<br />
* [[Macro Ellipse-Center+2Points|Macro Ellipse Center+2Points]] Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius<br />
* [[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]] : Imports and scales a .dat airfoil to desired chord length.<br />
* [[Macro 3D Parametric Curve|Macro 3D Parametric Curve]]: Draw a function described by parametric equations x(t), y(t) and z(t).<br />
* [[Macro Line Length|Macro Line Length]]: Create a line giving coordinate XYZ length and angle to plane X Y<br />
* [[Macro FCTexture|Macro FCTexture]]: Create a project from a bmp image to create a texture easily<br />
* [[Image:FreeCAD Doc.png|16px]] [[Macro PartsLibrary|Macro PartsLibrary]]: Starts the Parts library browser<br />
* [[Macro BoundingBox Tracing|Macro BoundingBox Tracing]] : This macro red trace (editable) around the BoundingBox with 6 rectangles<br />
* [[PartDesign_InvoluteGear|Involute Gear]]: allows you to create gear. See [https://github.com/FreeCAD/FreeCAD_sf_master/blob/master/src/Mod/PartDesign/InvoluteGearFeature.py InvoluteGearFeature.py] in FreeCAD_sf_master.<br />
* [[Macro FCCircularText|Macro FCCircularText]]: This macro create a text around a cylinder<br />
* [[Macro Geneva Wheel|Macro Geneva Wheel]]: Allows the user to create a Geneva wheel mechanism from scratch. Must edit values within the Macro to alter the size of the object.<br />
* [[Macro WireXYZ|Macro WireXYZ]]: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.<br />
<br />
=== Object transformation === <!--T:4--><br />
* [[Macro ArrayCopy|Macro ArrayCopy]]: copies the selected object several times, on an array grid<br />
* [[Macro FlattenWire|Macro FlattenWire]]: flattens draft wires that are not plane to their median Z coordinate<br />
* [[Macro MeshToPart|Macro MeshToPart]]: converts selected meshes to parts<br />
* [[Macro JointWire|Macro JointWire]]: allows to find and joint all non connected edge to the closest non connected one using a line<br />
* [[Macro Remove parametric history|Macro Remove parametric history]]: removes all parametric associativity from an object, leaving it as a "dumb" shape<br />
* [[Macro SuperWire|Macro SuperWire]]: Forces the creation of a Wire from lines and arcs that don't necessarily touch each other. Use this if normal wire operation fails<br />
* [[Macro HealArcs|Macro HealArcs]]: Sometimes arcs are transformed into BSplines, for example when scale operations have been applied to them. This macro recreates valid arcs from them. Useful before exporting to dxf<br />
* [[Macro FaceToSketch|Macro FaceToSketch]]: Converts the selected Face to a single Sketch without constraints.<br />
* [[Macro EdgesToArc|Macro EdgesToArc]]: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.<br />
* [[Macro CloneConvert|Macro CloneConvert]]: Creates a clone of the object and the converted in the chosen position and size (inch, mm, m, µm...). The base object is recognized in mm (FreeCAd base)<br />
<br />
=== 3D View operations === <!--T:5--><br />
* [[Macro Rotate View|Macro Rotate View]] This macro rotates the current view by 90° to the left. Only works if you are in Top view.<br />
* [[Macro View Rotation|Macro View Rotation]] Provides a GUI to permit rotation of view by precise amounts in all three directions.<br />
* [[Macro Texture Objects|Macro Texture Objects]] This macro allows you to temporarily put a texture image on the selected objects.<br />
* [[Macro Mouse Cross|Macro Mouse Cross]] This small macro turns the arrow of the mouse in a precision cross<br />
* [[Macro Align View to Face|Macro Align ViewToFace]] This macro aligns the current view to a selected face<br />
<br />
=== Wizards === <!--T:6--><br />
* [[Macro Automatic drawing|Macro Automatic Drawing]]: allows the user to get the view of his object in a drawing with 4 different position(front,top,iso,right). Needs some modification to be perfectly effective<br />
* [[Macro Corner shapes wizard|Macro Corner Shapes Wizard]]: pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece<br />
* [[Macro CartoucheFC|Macro CartoucheFC]]: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC Full|Macro CartoucheFC Full]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 1''' of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.<br />
* [[Macro CartoucheFC 2|Macro CartoucheFC 2]]: (Full field edition for this [[Misc_templates|Templates]]) This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.<br />
* [[Macro unrollRuledSurface|Macro UnrollRuledSurface]]: allows to unroll ruled surfaces and to draw them on a page.<br />
* [[Macro unfoldBox|Macro UnfoldBox]]: allows to unfold the surfaces of a box of any shape and to draw them on a page.<br />
* [[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.<br />
* [[Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI]] A GUI dialog that creates an Apothem, (inrasius) Based Prism from user input.<br />
<br />
=== Utility === <!--T:7--><br />
* [[Macro MessageBox|Macro MessageBox]]: shows how to give information to the user through the GUI.<br />
* [[Image:FCInfo.png|16px]] [[Macro_FCInfo|Macro FCInfo]] : Gives a series of information about the selected shape and can display a conversion of length, inclination (degrees, radian, grade) shape, surface, volume and the weight of the form in the density selected in various international and Anglo-Saxon units<br />
* [[Image:FCInfo.png|16px]] [[Macro FCInfo Alternate Linux|Macro FCInfo Alternate Linux]] : same as above, but for Linux<br />
* [[Macro 3d Printer Slicer|Macro 3D Printer Slicer]]: Exports current design to slicer software or CAM software.<br />
* [[Macro Delta xyz|Macro Delta xyz]] : Gives the Delta values and the distance between 2 points<br />
* [[Macro CenterFace|Macro CenterFace]] : This macro red trace (editable) the center face (mass) with 1 point and print the coordinates<br />
* [[Macro ObjectInfo|Macro ObjectInfo]]: User-friendly "Info" module created by a FreeCAD user<br />
* [[Macro MacroMenu|MacroMenu]]: Add the macros found in the macros folder to the Macros menu of FreeCAD<br />
* [[Image:Force_Recompute.png|16px]] [[Macro_ForceRecompute|Macro ForceRecompute]] : Forces manual recompute of model<br />
* [[Macro Shake Sketch|Macro Shake Sketch]]: Shake a sketch in order to discover its unconstrained parts.<br />
<br />
=== Animation=== <!--T:22--><br />
* [[Macro_crank_simul|Macro Crank Simul]] : Rotation rod and piston<br />
* [[Macro_Spring|Macro Spring]] : simulation of one spring<br />
* [[Macro_hinge|Macro Hinge]] : Open and close hinge<br />
* [[Macro_Assembly|Macro Assembly]] : Assembly animate<br />
<br />
== How to use? == <!--T:8--><br />
The above macros can easily be plugged on any FreeCAD installation<br />
* Copy the macro python code from the corresponding macro page<br />
* In FreeCAD, Macro->Macros->Create new, and give it a name<br />
* Paste the python code you copied<br />
* Hit the Save button, and restart FreeCAD<br />
* Open the Macro manager, select your new macro and click "execute"<br />
* Section animated : create animated gif that represents the object in context. Create animated gif max 500 x 500 px the site does not accept resizing animated gif otherwise it stays dead.<br />
<br />
<!--T:9--><br />
Additionally, you can also add your new macro to a custom toolbar<br />
* In FreeCAD, go to Tools -> Customize<br />
* In the Macros tab, add a new macro, and, if you like, define an icon and a keyboard shortcut<br />
* In the Toolbars tab, create a new toolbar, and add your macro, taking it from the "Macros" category.<br />
<br />
== Adding new macros to this repository == <!--T:10--><br />
* Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this: </translate><nowiki>"[[Macro My Excellent Macro]]: My excellent macro"</nowiki>.<translate> <!--T:11--><br />
A new page (red link) will be created.<br />
* In that page, paste the following text:<br />
<br />
<!--T:12--><br />
(With the default icon)<br />
</translate><br />
<nowiki>{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:13--><br />
(With the icon custom)<br />
</translate><br />
<nowiki>{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:14--><br />
(Another language with the default icon (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:15--><br />
(Another language with the icon custom (example "/fr" "/de" "/it"....))<br />
</translate><br />
<nowiki>{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=<br />
What my excellent macro does|Author=your username}}</nowiki><br />
<translate><br />
<!--T:16--><br />
*You can also [http://www.freecadweb.org/wiki/index.php?title=Special:Upload Upload ] a custom format icon'''.png'''<br />'''Note that the name of the icon must have the same name as the name of the macro'''.<br />
**example : " Macro_My_Excellent_Macro " '''without extension''' (the extension is given by the system), and, replace " Icon='''Text-x-python''' " by " Icon='''Macro_My_Excellent_Macro''' "<br />
**'''Text-x-python''' [[Image:Text-x-python.png|32px]] is the default icon of the page dedicated to the Macro.<br />
<br />
<!--T:17--><br />
* Paste your macro, and use the '''<nowiki><syntaxhighlight> your code ...</syntaxhighlight></nowiki>''' preformated text wiki tags to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.<br />
* If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)<br />
* Optionally you can add some more info on how to use your macro, tips, limitations and workaround.<br />
* It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro<br />
<br />
<!--T:19--><br />
Ex:<br />
<br />
<!--T:20--><br />
<syntaxhighlight><br />
#OS: Windows Vista<br />
#Platform: 32-bit<br />
#Version: 0.14.3389<br />
#Python version: 2.6.2<br />
#Qt version: 4.5.2<br />
#Coin version: 3.1.0<br />
#SoQt version: 1.4.1<br />
#OCC version: 6.5.1<br />
</syntaxhighlight><br />
<br />
<!--T:21--><br />
* Add it to the above categories, create a new category if needed.<br />
<br />
<!--T:18--><br />
[[Category:User Documentation]]<br />
[[Category:Repository]]<br />
[[Category:Macros]]<br />
[[Category:Python Code]]<br />
[[Category:Tutorials]]<br />
</translate><br />
<languages/></div>Quick61https://wiki.freecad.org/index.php?title=User:Quick61&diff=115783User:Quick612014-10-18T05:22:38Z<p>Quick61: /* Other Contributions */</p>
<hr />
<div>== Mark Stephen (AKA FreeCAD Forum Member quick61) ==<br />
<br />
United States, born in one of the several States of the union, spent most of my profesional life as an electronics technician and industrial craftsman. Currently semi-retired, I volunteer my time to the FreeCAD project. Not being a programmer by any stretch of the imagination, I try to contribute where I can in the forums helping out new users, testing development code, contributing to this Wiki when I can, and passively promoting FreeCAD when and where I can. <br />
<br />
I had looked at FreeCAD back in versions 0.11 and 0.12, and not getting much from those releases, kind of set it aside. That all changed when version 0.13 came out and 0.14 was in early development. Everything started clicking and from that point froward, FreeCAD has taken it's place front and center for all my 3D modeling needs. <br />
<br />
== Passive Promotion of FreeCAD ==<br />
<br />
What I call "passive promotion" is taking the opportunity, when presented, to make mention or post work done in FreeCAD on other forums that I belong to. Just a posting of a screenshot of a model relevant to the topic on the forum will bring questions of "what CAD program is that" or "what did you use to model that". These questions then open the door to provide FreeCAD links and offer a quick word or two about FreeCAD, what it is and what it isn't. This will often lead to a new user joining the ranks and one never knows when one of those new members might turn out to be a well accomplished programmer that will end up contributing ground breaking code to the FreeCAD project. So be kind, be polite, and go forth with you version of Passive Promotion!<br />
<br />
== Contributions ==<br />
=== Wiki Contributions ===<br />
<br />
*[[Basic Part Design Tutorial|Basic Part Design Tutorial]]<br />
*[[Drawing Template HowTo|Drawing Template HowTo]]<br />
*[[Macro Airfoil Import & Scale|Macro Airfoil Import & Scale]]<br />
*[[Macro Geneva Wheel GUI|Macro Geneva Wheel GUI]]<br />
*[[Drawing templates|Drawing templates]]<br />
*[[Svg Namespace|Svg Namespace]]<br />
*[[Release notes 0.14|Release notes 0.14]]<br />
*[[Glossary|Glossary]]<br />
<br />
=== Other Contributions ===<br />
<br />
*[http://forum.freecadweb.org FreeCAD Forum]<br />
*[https://www.youtube.com/channel/UCv62eT2AibxjX3SY5qZsTeA YouTube Channel]<br />
*[http://www.freecadweb.org/tracker/my_view_page.php Mantis Bug tracker]<br />
*[https://github.com/quick61/FreeCAD_VidKit FreeCAD VidKit]<br />
*[https://github.com/quick61/FreeCAD-Drawing-Templates FreeCAD Drawing Templates]</div>Quick61