diff --git a/src/Mod/Draft/CMakeLists.txt b/src/Mod/Draft/CMakeLists.txt index e53eab9e95..55ef74ffd9 100644 --- a/src/Mod/Draft/CMakeLists.txt +++ b/src/Mod/Draft/CMakeLists.txt @@ -67,13 +67,14 @@ SET(Draft_functions draftfunctions/fuse.py draftfunctions/heal.py draftfunctions/join.py - draftfunctions/mirror.py - draftfunctions/move.py - draftfunctions/offset.py - draftfunctions/rotate.py - draftfunctions/scale.py - draftfunctions/split.py - draftfunctions/upgrade.py + draftfunctions/mirror.py + draftfunctions/move.py + draftfunctions/offset.py + draftfunctions/rotate.py + draftfunctions/scale.py + draftfunctions/split.py + draftfunctions/upgrade.py + draftfunctions/README.md ) SET(Draft_make_functions diff --git a/src/Mod/Draft/draftfunctions/README.md b/src/Mod/Draft/draftfunctions/README.md new file mode 100644 index 0000000000..afb419f644 --- /dev/null +++ b/src/Mod/Draft/draftfunctions/README.md @@ -0,0 +1,16 @@ +2020 May + +These modules provide supporting functions for dealing +with the custom "scripted objects" defined within the workbench. + +The functions are meant to be used in the creation step of the objects, +by the "make functions" in `draftmake/`, but also by the graphical +"Gui Commands" modules in `draftguitools/` and `drafttaskpanels/`. + +These functions should deal with the internal shapes of the objects, +or other special properties. They should not be very generic; +if they are very generic then they are more appropriate to be included +in the modules in `draftutils/`. + +For more information see the thread: +[[Discussion] Splitting Draft tools into their own modules](https://forum.freecadweb.org/viewtopic.php?f=23&t=38593&start=10#p341298) diff --git a/src/Mod/Draft/draftfunctions/__init__.py b/src/Mod/Draft/draftfunctions/__init__.py index 50ec599a5b..a36bc56577 100644 --- a/src/Mod/Draft/draftfunctions/__init__.py +++ b/src/Mod/Draft/draftfunctions/__init__.py @@ -1,3 +1,41 @@ -"""Generic functions of the Draft Workbench. +# *************************************************************************** +# * (c) 2020 Carlo Pavan * +# * (c) 2020 Eliud Cabrera Castillo * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * FreeCAD is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with FreeCAD; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** +"""Modules that contain functions for use with scripted objects and commands. +These functions provide support for dealing with the custom objects +defined within the workbench. +The functions are meant to be used in the creation step of the objects, +by the functions in the `draftmake` package, but also by the graphical +GuiCommands in the `draftguitools` and `drafttaskpanels` packages. + +These functions should deal with the internal shapes of the objects, +and their special properties. They should not be very generic; +if they are very generic then they are more appropriate to be included +in the `draftutils` package. + +These functions, together with those defined in the `draftmake` package, +represent the public application programming interface (API) +of the Draft Workbench, and should be made available in the `Draft` +namespace by importing them in the `Draft` module. """