Draft: move arc_3points to the make package

Also import it in the `Draft` namespace so that is available
as `Draft.make_arc_3points`.

Use this new function in the unit test `drafttests.test_creation`,
in the GuiCommand `draftguitools.gui_arcs`, and in the
`draft_test_objects` script.
This commit is contained in:
vocx-fc
2020-05-08 17:29:21 -05:00
committed by Yorik van Havre
parent 9a2aa39538
commit d3d52c57b4
6 changed files with 22 additions and 16 deletions

View File

@@ -79,6 +79,7 @@ SET(Draft_functions
SET(Draft_make_functions
draftmake/__init__.py
draftmake/make_arc_3points.py
draftmake/make_bezcurve.py
draftmake/make_block.py
draftmake/make_bspline.py
@@ -112,7 +113,6 @@ SET(Draft_objects
draftobjects/facebinder.py
draftobjects/orthoarray.py
draftobjects/polararray.py
draftobjects/arc_3points.py
draftobjects/draft_annotation.py
draftobjects/label.py
draftobjects/dimension.py

View File

@@ -232,6 +232,9 @@ from draftviewproviders.view_base import _ViewProviderDraftPart
from draftmake.make_circle import make_circle, makeCircle
from draftobjects.circle import Circle, _Circle
# arcs
from draftmake.make_arc_3points import make_arc_3points
# ellipse
from draftmake.make_ellipse import make_ellipse, makeEllipse
from draftobjects.ellipse import Ellipse, _Ellipse

View File

@@ -32,15 +32,16 @@ from PySide.QtCore import QT_TRANSLATE_NOOP
import FreeCAD as App
import FreeCADGui as Gui
from FreeCAD import Units as U
import Draft
import Draft_rc
import DraftVecUtils
import draftguitools.gui_base_original as gui_base_original
import draftguitools.gui_base as gui_base
import draftguitools.gui_tool_utils as gui_tool_utils
import draftguitools.gui_trackers as trackers
import draftobjects.arc_3points as arc3
import draftutils.utils as utils
from FreeCAD import Units as U
from draftutils.messages import _msg, _err
from draftutils.translate import translate, _tr
@@ -553,13 +554,13 @@ class Arc_3Points(gui_base.GuiCommandSimplest):
# proceed with creating the final object.
# Draw a simple `Part::Feature` if the parameter is `True`.
if utils.get_param("UsePartPrimitives", False):
arc3.make_arc_3points([self.points[0],
self.points[1],
self.points[2]], primitive=True)
Draft.make_arc_3points([self.points[0],
self.points[1],
self.points[2]], primitive=True)
else:
arc3.make_arc_3points([self.points[0],
self.points[1],
self.points[2]], primitive=False)
Draft.make_arc_3points([self.points[0],
self.points[1],
self.points[2]], primitive=False)
self.tracker.off()
self.doc.recompute()

View File

@@ -110,6 +110,9 @@ def make_arc_3points(points, placement=None, face=False,
The new arc object.
Normally it returns a parametric Draft object (`Part::Part2DObject`).
If `primitive` is `True`, it returns a basic `Part::Feature`.
None
Returns `None` if there is a problem and the object cannot be created.
"""
_name = "make_arc_3points"
utils.print_header(_name, "Arc by 3 points")

View File

@@ -32,11 +32,11 @@ Or load it as a module and use the defined function.
import os
import datetime
import math
import FreeCAD as App
from FreeCAD import Vector
import Draft
from FreeCAD import Vector
from draftutils.messages import _msg, _wrn
import draftobjects.arc_3points
if App.GuiUp:
import DraftFillet
@@ -172,9 +172,9 @@ def create_test_file(file_name="draft_test_objects",
_msg(16 * "-")
_msg("Circular arc 3 points")
draftobjects.arc_3points.make_arc_3points([Vector(4600, 0, 0),
Vector(4600, 800, 0),
Vector(4000, 1000, 0)])
Draft.make_arc_3points([Vector(4600, 0, 0),
Vector(4600, 800, 0),
Vector(4000, 1000, 0)])
t_xpos += 600
_t = Draft.makeText(["Circular arc 3 points"], Vector(t_xpos, t_ypos, 0))
_set_text(_t)

View File

@@ -133,8 +133,7 @@ class DraftCreation(unittest.TestCase):
_msg(" a={0}, b={1}".format(a, b))
_msg(" c={}".format(c))
import draftobjects.arc_3points as arc3
obj = arc3.make_arc_3points([a, b, c])
obj = Draft.make_arc_3points([a, b, c])
self.assertTrue(obj, "'{}' failed".format(operation))
def test_ellipse(self):