FreeCAD Workbench Python Programming: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
 
(21 intermediate revisions by 2 users not shown)
Line 43: Line 43:
=Where to Learn=
=Where to Learn=
==Introduction to Scripting in FreeCAD==
==Introduction to Scripting in FreeCAD==
===Articles===
* [https://wiki.freecadweb.org/index.php?title=Python_scripting_tutorial FreeCAD Wiki - Python scripting tutorial]
* [https://wiki.freecadweb.org/index.php?title=Python_scripting_tutorial FreeCAD Wiki - Python scripting tutorial]
* [https://wiki.freecadweb.org/index.php?title=FreeCAD_Scripting_Basics FreeCAD Wiki - FreeCAD Scripting Basics]
* [https://wiki.freecadweb.org/index.php?title=FreeCAD_Scripting_Basics FreeCAD Wiki - FreeCAD Scripting Basics]


===Videos===
<html>
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_vpDwS4cMB4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_vpDwS4cMB4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</html>
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/A6DL3FL5YZo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</html>
</html>


Line 62: Line 68:
* [https://wiki.freecadweb.org/App_FeaturePython FreeCAD Wiki - App FeaturePython]
* [https://wiki.freecadweb.org/App_FeaturePython FreeCAD Wiki - App FeaturePython]
* [https://wiki.freecadweb.org/Scripted_objects FreeCAD Wiki - Scripted objects]`
* [https://wiki.freecadweb.org/Scripted_objects FreeCAD Wiki - Scripted objects]`
* [https://wiki.freecadweb.org/Property FreeCAD Wiki - Property]
* [https://wiki.freecadweb.org/FeaturePython_Custom_Properties FreeCAD Wiki - FeaturePython Custom Properties]
* [https://wiki.freecadweb.org/Scripted%20objects%20saving%20attributes FreeCAD Wiki - Scripted objects saving attributes]
* [https://wiki.freecadweb.org/Viewprovider FreeCAD Wiki - Viewprovider]


==Reference==
==Reference==
* [https://wiki.freecadweb.org/Placement FreeCAD Wiki - Placement]
* [https://wiki.freecadweb.org/Placement FreeCAD Wiki - Placement]
* [https://wiki.freecadweb.org/Command FreeCAD Wiki - Command]
* [https://wiki.freecadweb.org/Command FreeCAD Wiki - Command]
* [https://wiki.freecadweb.org/App_GeoFeature FreeCAD Wiki - App GeoFeature]
* [https://wiki.freecadweb.org/App_DocumentObject FreeCAD Wiki - App DocumentObject]
* [https://wiki.freecadweb.org/Embedding_FreeCAD FreeCAD Wiki - Embedding FreeCAD]
* [https://wiki.freecadweb.org/Matrix_API FreeCAD Wiki - Matrix API]
* [https://wiki.freecadweb.org/Category:API FreeCAD Wiki - API Documentation]


===GUI===
===GUI===
* [https://wiki.freecadweb.org/PySide FreeCAD Wiki - PySide]
* [https://wiki.freecadweb.org/PySide FreeCAD Wiki - PySide]
* [https://wiki.freecadweb.org/Dialog_creation FreeCAD Wiki - Dialog Creation]
* [https://wiki.freecadweb.org/Dialog_creation FreeCAD Wiki - Dialog Creation]
===Advanced GUI===
* [https://wiki.freecadweb.org/Scenegraph FreeCAD Wiki - Scenegraph]
* [https://wiki.freecadweb.org/Pivy FreeCAD Wiki - Pivy]


===Part===
===Part===
Line 76: Line 95:
* [https://wiki.freecadweb.org/Part_Module FreeCAD Wiki - Part Module]
* [https://wiki.freecadweb.org/Part_Module FreeCAD Wiki - Part Module]
* [https://wiki.freecadweb.org/Topological_data_scripting FreeCAD Wiki - Topological data scripting]
* [https://wiki.freecadweb.org/Topological_data_scripting FreeCAD Wiki - Topological data scripting]
* [https://wiki.freecadweb.org/Part_TopoShape FreeCAD Wiki - Part TopoShape]
* [https://wiki.freecadweb.org/TopoShape_API FreeCAD Wiki - TopoShape API]
* [https://wiki.freecadweb.org/Part_Feature FreeCAD Wiki - Part Feature]
* [https://wiki.freecadweb.org/Part_Primitives FreeCAD Wiki - Part Primitives]
* [https://wiki.freecadweb.org/Std_Part FreeCAD Wiki - Std Part]
* [https://wiki.freecadweb.org/Constructive_solid_geometry FreeCAD Wiki - Constructive solid geometry]
===Part Attachment===
* [https://wiki.freecadweb.org/Part_Attachment FreeCAD Wiki - Part Attachment]
* [https://forum.freecadweb.org/viewtopic.php?f=22&t=24794 FreeCAD Forum - Parametric attachment of scripted object]
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=18978&start=10 FreeCAD Forum - Port attachment to be an extension]


=Where to Get Help=
=Where to Get Help=
Line 83: Line 113:
=Links=
=Links=
*[[FreeCAD Workbench Programming 101]]
*[[FreeCAD Workbench Programming 101]]
*[[FreeCAD Programming]]
[[Category:FreeCAD]][[Category:Collaboration Architecture]]

Latest revision as of 21:03, 2 January 2021

Introduction

This page is meant as a comprehensive collection of resources for how to create a FreeCAD workbench using Python programming.

Target Audience

This page is meant for people who are comfortable with Python Programming already.

Please refer to other resources for Programming or Python, and do not include them here.

Environment Setup

1. Install FreeCAD

See FreeCAD for instructions.

2. Setting up a Modern Code Editor - VS Code

Related Blog Article: FreeCAD External Editor With Code – OSS

The above resources cover how to enable auto-completion and debugging features.

Where to Learn

Introduction to Scripting in FreeCAD

Articles

Videos

Getting Started with Workbench Programming

FeaturePython, Scripted, or Custom Objects

Reference

GUI

Advanced GUI

Part

Part Attachment

Where to Get Help

Links