From ccc4151b3020969450325466e385850783795325 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 30 Apr 2021 16:44:20 +0200 Subject: [PATCH] Draft: Added a 'solid faces' projection mode to shape2dviews to treat individual faces --- src/Mod/Draft/draftobjects/shape2dview.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/draftobjects/shape2dview.py b/src/Mod/Draft/draftobjects/shape2dview.py index 6cf5167ce8..8c6848f2c5 100644 --- a/src/Mod/Draft/draftobjects/shape2dview.py +++ b/src/Mod/Draft/draftobjects/shape2dview.py @@ -99,7 +99,7 @@ class Shape2DView(DraftObject): obj.Projection = App.Vector(0,0,1) obj.ProjectionMode = ["Solid", "Individual Faces", - "Cutlines", "Cutfaces"] + "Cutlines", "Cutfaces","Solid faces"] obj.HiddenLines = False obj.Tessellation = False obj.VisibleOnly = False @@ -200,8 +200,13 @@ class Shape2DView(DraftObject): cuts = [] opl = App.Placement(obj.Base.Placement) proj = opl.Rotation.multVec(App.Vector(0, 0, 1)) - if obj.ProjectionMode == "Solid": - for sh in shapes: + if obj.ProjectionMode in ["Solid","Solid faces"]: + shapes_to_cut = shapes + if obj.ProjectionMode == "Solid faces": + shapes_to_cut = [] + for s in shapes: + shapes_to_cut.extend(s.Faces) + for sh in shapes_to_cut: if cutv: if sh.Volume < 0: sh.reverse()