Draft: implement new get_param functions (step 1)

See #11677
This commit is contained in:
Roy-043
2023-12-11 19:31:34 +01:00
parent 6d0db27bd9
commit 59753260c9
21 changed files with 99 additions and 102 deletions

View File

@@ -31,10 +31,10 @@ See also the `upgrade` function.
## \addtogroup draftfunctions
# @{
import FreeCAD as App
import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
import draftfunctions.cut as cut
from draftfunctions import cut
from draftutils import utils
from draftutils import params
from draftutils import gui_utils
from draftutils.messages import _msg
from draftutils.translate import translate
@@ -119,9 +119,8 @@ def downgrade(objects, delete=False, force=None):
def splitFaces(objects):
"""Split faces contained in objects into new objects."""
result = False
params = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
preserveFaceColor = params.GetBool("preserveFaceColor") # True
preserveFaceNames = params.GetBool("preserveFaceNames") # True
preserveFaceColor = params.get_param("preserveFaceColor")
preserveFaceNames = params.get_param("preserveFaceNames")
for o in objects:
if App.GuiUp and preserveFaceColor and o.ViewObject:
voDColors = o.ViewObject.DiffuseColor

View File

@@ -28,12 +28,13 @@
## \addtogroup draftfunctions
# @{
import FreeCAD as App
import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
import draftutils.groups as groups
import draftfunctions.join as join
import draftmake.make_copy as make_copy
import draftmake.make_line as make_line
from draftfunctions import join
from draftmake import make_copy
from draftmake import make_line
from draftutils import groups
from draftutils import gui_utils
from draftutils import params
from draftutils import utils
def move(objectslist, vector, copy=False):
@@ -150,7 +151,7 @@ def move(objectslist, vector, copy=False):
if utils.get_type(parent) == "Layer":
parent.Proxy.addObject(parent ,newobj)
if copy and utils.get_param("selectBaseObjects", False):
if copy and params.get_param("selectBaseObjects"):
gui_utils.select(objectslist)
else:
gui_utils.select(newobjlist)

View File

@@ -31,8 +31,9 @@ import math
import FreeCAD as App
import DraftVecUtils
import draftutils.gui_utils as gui_utils
import draftutils.utils as utils
from draftutils import gui_utils
from draftutils import params
from draftutils import utils
from draftmake.make_rectangle import make_rectangle
from draftmake.make_wire import make_wire
@@ -238,7 +239,7 @@ def offset(obj, delta, copy=False, bind=False, sym=False, occ=False):
elif utils.get_type(obj) == 'Part':
print("unsupported object") # TODO
newobj = obj
if copy and utils.get_param("selectBaseObjects",False):
if copy and params.get_param("selectBaseObjects"):
gui_utils.select(newobj)
else:
gui_utils.select(obj)

View File

@@ -31,12 +31,13 @@ import math
import FreeCAD as App
import DraftVecUtils
import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
import draftutils.groups as groups
import draftfunctions.join as join
import draftmake.make_line as make_line
import draftmake.make_copy as make_copy
from draftfunctions import join
from draftmake import make_copy
from draftmake import make_line
from draftutils import groups
from draftutils import gui_utils
from draftutils import params
from draftutils import utils
def rotate(objectslist, angle, center=App.Vector(0, 0, 0),
@@ -154,7 +155,7 @@ def rotate(objectslist, angle, center=App.Vector(0, 0, 0),
if utils.get_type(parent) == "Layer":
parent.Proxy.addObject(parent ,newobj)
if copy and utils.get_param("selectBaseObjects", False):
if copy and params.get_param("selectBaseObjects"):
gui_utils.select(objectslist)
else:
gui_utils.select(newobjlist)

View File

@@ -29,11 +29,12 @@
# @{
import FreeCAD as App
import DraftVecUtils
import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
import draftfunctions.join as join
import draftmake.make_copy as make_copy
import draftmake.make_line as make_line
from draftfunctions import join
from draftmake import make_copy
from draftmake import make_line
from draftutils import gui_utils
from draftutils import params
from draftutils import utils
def scale(objectslist, scale=App.Vector(1,1,1),
@@ -129,7 +130,7 @@ def scale(objectslist, scale=App.Vector(1,1,1),
if copy:
gui_utils.format_object(newobj,obj)
newobjlist.append(newobj)
if copy and utils.get_param("selectBaseObjects",False):
if copy and params.get_param("selectBaseObjects"):
gui_utils.select(objectslist)
else:
gui_utils.select(newobjlist)

View File

@@ -33,10 +33,10 @@ import lazy_loader.lazy_loader as lz
import FreeCAD as App
import DraftVecUtils
import WorkingPlane
import draftutils.utils as utils
import draftfunctions.svgtext as svgtext
from draftfunctions import svgtext
from draftfunctions.svgshapes import get_proj, get_circle, get_path
from draftutils import params
from draftutils import utils
from draftutils.messages import _wrn, _err
# Delay import of module until first use because it is heavy
@@ -50,15 +50,14 @@ DraftGeomUtils = lz.LazyLoader("DraftGeomUtils", globals(), "DraftGeomUtils")
def get_line_style(line_style, scale):
"""Return a linestyle scaled by a factor."""
param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
style = None
if line_style == "Dashed":
style = param.GetString("svgDashedLine", "2,2")
style = params.get_param("svgDashedLine")
elif line_style == "Dashdot":
style = param.GetString("svgDashdotLine", "3,2,0.2,2")
style = params.get_param("svgDashdotLine")
elif line_style == "Dotted":
style = param.GetString("svgDottedLine", "0.2,2")
style = params.get_param("svgDottedLine")
elif line_style:
if "," in line_style:
style = line_style

View File

@@ -33,8 +33,8 @@ import lazy_loader.lazy_loader as lz
import FreeCAD as App
import DraftVecUtils
import WorkingPlane
import draftutils.utils as utils
from draftutils import params
from draftutils import utils
from draftutils.messages import _msg, _wrn
# Delay import of module until first use because it is heavy
@@ -90,8 +90,7 @@ def getProj(vec, plane=None):
def get_discretized(edge, plane):
"""Get a discretized edge on a plane."""
param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
pieces = param.GetFloat("svgDiscretization", 10.0)
pieces = params.get_param("svgDiscretization")
if pieces == 0:
pieces = 10

View File

@@ -32,17 +32,17 @@ import re
import lazy_loader.lazy_loader as lz
import FreeCAD as App
import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
import draftfunctions.draftify as ext_draftify
import draftfunctions.fuse as fuse
import draftmake.make_line as make_line
import draftmake.make_wire as make_wire
import draftmake.make_block as make_block
from draftfunctions import draftify
from draftfunctions import fuse
from draftgeoutils.geometry import is_straight_line
from draftmake import make_block
from draftmake import make_line
from draftmake import make_wire
from draftutils import gui_utils
from draftutils import params
from draftutils import utils
from draftutils.messages import _msg, _err
from draftutils.translate import translate
from draftgeoutils.geometry import is_straight_line
# Delay import of module until first use because it is heavy
Part = lz.LazyLoader("Part", globals(), "Part")
@@ -216,9 +216,8 @@ def upgrade(objects, delete=False, force=None):
def makeShell(objectslist):
"""Make a shell or compound with the given objects."""
params = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
preserveFaceColor = params.GetBool("preserveFaceColor") # True
preserveFaceNames = params.GetBool("preserveFaceNames") # True
preserveFaceColor = params.get_param("preserveFaceColor")
preserveFaceNames = params.get_param("preserveFaceNames")
faces = []
facecolors = [[], []] if preserveFaceColor else None
for obj in objectslist:
@@ -424,7 +423,7 @@ def upgrade(objects, delete=False, force=None):
"makeFusion" : makeFusion,
"makeShell" : makeShell,
"makeFaces" : makeFaces,
"draftify" : ext_draftify.draftify,
"draftify" : draftify.draftify,
"joinFaces" : joinFaces,
"makeSketchFace" : makeSketchFace,
"makeWires" : makeWires,
@@ -484,7 +483,7 @@ def upgrade(objects, delete=False, force=None):
# only one object: if not parametric, we "draftify" it
elif (len(objects) == 1
and not objects[0].isDerivedFrom("Part::Part2DObjectPython")):
result = ext_draftify.draftify(objects[0])
result = draftify.draftify(objects[0])
if result:
add_list.append(result)
_msg(translate("draft","Found 1 non-parametric objects: draftifying it"))
@@ -523,7 +522,7 @@ def upgrade(objects, delete=False, force=None):
# only one object: if not parametric, we "draftify" it
# elif (len(objects) == 1
# and not objects[0].isDerivedFrom("Part::Part2DObjectPython")):
# result = ext_draftify.draftify(objects[0])
# result = draftify.draftify(objects[0])
# if result:
# _msg(translate("draft","Found 1 non-parametric objects: draftifying it"))
elif (len(objects) == 1 and len(edges) == 1
@@ -532,7 +531,7 @@ def upgrade(objects, delete=False, force=None):
edge_type = DraftGeomUtils.geomType(e)
# currently only support Line and Circle
if edge_type in ("Line", "Circle"):
result = ext_draftify.draftify(objects[0])
result = draftify.draftify(objects[0])
if result:
add_list.append(result)
_msg(translate("draft","Found 1 object: draftifying it"))