Wished tools

I begin this page as an attempt to gather end-user wishes on specific tools they would like to find in FreeCAD. Several cad users already chatted with me about cad tools, about what they use most, what they would like to see in FreeCAD, what they couldn't live without, etc... Although FreeCAD is not meant to specifically become a replacement for any other famous CAD software (especially the one that begins with Auto and ends with CAD), I think this can become a good reference to know about end-users expectations, and maybe to prioritize things over others in development.

If you are a CAD user and would like to add stuff here, feel free to edit, we would be glad to have your opinion here.

2d drawing

 * Line: Draws a line - see Draft Line.
 * Construction Line: Draws a line at any angle infinitely - should be easy if possible in coin. To be investigated
 * Polyline: Line with as many points as you like until command is ended - see Draft Polyline.
 * Polygon: dependant on no. of sides
 * Rectangle - see Draft Rectangle.
 * Arc - see Draft Arc.
 * Circle - see Draft Circle.
 * Hatch: Be able to fill an area with technical-style pattern (oblique lines, etc...) - Under investigation
 * Make and insert Blocks: That is in FreeCAD two things: be able to group elements in one object (compound?) - see Draft Upgrade - and be able to instantiate those objects (several documents objects share same shape?)
 * Text - see Draft Text. To be extended to more complex stuff...
 * Display Order: That is showing coplanar objects in desired order. Not sure this is possible, though... Maybe, in a 3D world, we should rethink the way we draw 2D objects, and consider those "overlapping" objects differently (= draw them differently). To be discussed...
 * Erase - see Std Delete.
 * Copy - see Draft Move.
 * Copy with base point - see Draft Move.
 * Multiple copy: Copy an object several times from same base point
 * Paste
 * Paste as Block
 * Offset - see Draft Offset.
 * Move - see Draft Move.
 * Rotate - see Draft Rotate
 * Array: interesting, could be merged with copy tool...
 * Stretch
 * Trim - see Draft Trimex, but could be extended
 * Extend - see Draft Trimex, but could be extended
 * Chamfer
 * Fillet (with angle input) - implemented in Fold module
 * Explode: Explodes blocks/lines - see Draft Downgrade.
 * Dimension - see Draft Dimension
 * Angle Dimension - planned in Draft module
 * Arc Length - planned in Draft module
 * Diameter - planned in Draft module
 * Radius - planned in Draft module
 * Continue Dimension: continues a running dimension - planned in Draft module
 * Views: Top, Bottom, Right, Left - see Std ViewXX.
 * View: Isometric views - see Std OrthographicCamera.
 * Model Space and Paper space: Model space = Where the model is drawn, Paper space = tabs with different setups that can be plotted. (tab can be drawn in and has viewports made by closed polylines or shapes that view into the model space.) you need to be able to click in and out of model space so you can set up the paper with boders and title boxes. The view needs to be scaled as needed ie. 1:50 or 1:100 - planned in Drawing module
 * Drawing units: All drawing units should be mm - this is a quite special topic, there are many things to be considered. To be discussed further.

Mesh modeling

 * Primitives: Cubes, spheres etc. - present but no toolbar button
 * Convert Part objects into meshes - present but no toolbar button
 * Flip mesh normals - present but no toolbar button
 * Close holes in meshes - present but no toolbar button
 * Remove faces of meshes - present but no toolbar button
 * Boolean operations: Union, subtract and intersect meshes - present but no toolbar button

Part modeling

 * Primitives - present but no toolbar button
 * Mesh conversion to Part shapes
 * Boolean operations: union, subtraction, intersection of shapes - present but no toolbar button
 * Extrude flat shapes - present but no toolbar button
 * Fillet edges of shapes - present but no toolbar button

Parametric modeling

 * Custom properties for all objects: so scripts and exporting to other software can carry additional information
 * Python objects : 100% python-scripted objects - see Scripted objects.