Commit Graph

101 Commits

Author SHA1 Message Date
wandererfan
07e26d3624 Initial working version Face Centerline 2019-06-06 19:58:15 -04:00
wandererfan
3f7570ad80 Initial version addCosmeticVertex 2019-05-24 19:38:02 -04:00
wandererfan
57d35a392c Fix Error when OCC projection returns nothing 2019-04-25 08:02:28 -04:00
wandererfan
64b85f3184 Fix OCC error handling
- GeometryObject.cpp used OCC "Raise" to signal error
  condition, but this is only caught in GuiDocument.cpp.
  Changed to catch exception locally.
2019-03-22 11:00:14 -03:00
wmayer
d7ec2b1368 Replace Base::Exception with appropriate subclass 2018-11-14 19:42:10 +01:00
wandererfan
957328ee18 Workaround for #3332 2018-10-26 00:49:52 +02:00
wandererfan
7f6be0a265 Change tool from cylinder to prism
- cutting with cylinder produced too many
  short bsplines from HLR.  Straight cut
  from prism reduces these and speeds up
  HLR significantly.
2018-10-17 11:25:49 +02:00
wandererfan
2c0d1d882b Fix Decoration positions on Views derived from DPG Base
- Section faces, detail highlights, center and section lines
  were wrong when the BaseView was a DPGI
2018-09-14 21:28:02 +02:00
wandererfan
95f95d54fb Use Face or 3D direction for View and ProjGroup
- use current 3D window direction as starting
  direction for DrawViewPart and ProjectionGroup
- if a Face is selected, use Face normal as
  starting direction.
2018-09-06 08:00:00 +02:00
wandererfan
2dd9e67887 Expose findCentroid to Python 2018-08-11 11:24:12 +02:00
wandererfan
77f389685e Fix Detail view orientation 2018-07-23 12:45:32 -03:00
WandererFan
d7544b4223 Prevent Loop in BRepBuilderAPI_Transform
- if a scale transform with scale = 0 is passed to
  BRepBuilderAPI_Transform, it will loop forever.
  If Page.keepUpdated is false, and Views have not yet
  been executed (ex at load time), Views will have a
  0.0 x 0.0 bbox and if Autoscale is true, a scale of
  0.0 will be used in fit-to-page.
2018-02-01 17:01:12 -05:00
TeroK
61b202992c TechDraw: Add option to use polygonal HLR algorithm
Now on property panel there is option 'Coarse View' which allows to set
selected drawing view's Hidden Line Removal to utilize polygonal algorithm.
This should be faster on same cases (complex models).

When this option is set for a view there is known limitation with dimensions not
working on this experimental mode. At least currently this is best utilized on
view with no dimensions.

Also the vertices' 'black dots' are not drawn on this mode view to avoid
cluttering.  Face hilite is avoided, to gain speed. All curves are represented
by short linesegments in this mode.

Previously TechDraw always used OCC's exact HLR algorithm to generate views,
which produces good quality and continous shape lines but is sometimes
slower to generate than with polygonal approach.

Additionally now there is bool 'CoarseView' Parameter Editor setting, if anyone
wants to set this as their default.
2018-01-22 19:31:30 +01:00
WandererFan
60e43253f7 Fix Section Line Wrong Position
- Section cut line Y coord needs to be mirrored to
  be position correctly on Page.
2018-01-11 11:21:25 -02:00
WandererFan
622d91f743 Implement option for perspective drawing views 2017-12-03 19:17:53 -02:00
WandererFan
3b8c240f89 Rotate DrawViewPart around part centroid 2017-11-12 19:08:32 -05:00
WandererFan
cd79ae2d5e Add viewPartAsDxf function in App 2017-06-23 08:14:46 +02:00
WandererFan
5cef451f95 Prevent ghost centre marks in ViewDetail 2017-05-10 17:43:48 +02:00
Peter Lama
fa4bebf2e0 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
Kunda
a7414e5789 source typo fixes pt1 (only on py3 merged code)
issue 0002914
2017-02-27 11:32:47 +01:00
WandererFan
dd8eefc057 minor fixes: debug message/tooltips/etc 2017-01-29 19:40:34 -05:00
WandererFan
33479bd4e3 Initial working version of geometric crosshatch/PAT files 2017-01-29 19:40:34 -05:00
WandererFan
c3fd7a8c12 Prevent DetailView crop circle marker 2017-01-29 19:40:33 -05:00
WandererFan
09f701786f Working proof of concept for DPG rots & dirs 2016-12-29 14:43:00 +01:00
WandererFan
d14cfa415f getViewAxis -> DVP virtual method 2016-12-29 14:42:46 +01:00
WandererFan
082045456f Initial DrawingViewDetail 2016-11-24 14:44:37 -02:00
wmayer
2d8e70085e rename 2d tool classes to be consistent with 3d classes 2016-11-21 14:29:51 +01:00
WandererFan
dd13cb2534 Fix handling of BezierCurves
Replace custom bbox code with OCC/Base code
Refactor duplicate code Geometry/DrawProjectSplit
2016-11-20 10:06:00 +01:00
wmayer
d2d927e760 performance improvements
+ use const-reference as argument to avoid tmp. copy
+ use prefix incremation operator instead of postfix increment operator
2016-11-08 13:51:22 +01:00
WandererFan
9ad177915d Create outline of 3D shape 2016-11-07 17:20:19 -05:00
WandererFan
6b175cc0c9 Section Rebuild subproject
new dialog
new Section/SectionLine logic
remove XAxisDirection property
2016-10-31 11:06:15 -02:00
WandererFan
4a9778e230 Fix XAxis orientation
Remove need for XAxisDirection property
2016-10-31 11:06:15 -02:00
WandererFan
bc2ac76fc5 Rename properties to fit PropertyEditor window 2016-10-06 11:00:35 -03:00
WandererFan
af9a6950e2 Fix #2707 hidden seam/smooth lines 2016-10-06 11:00:35 -03:00
WandererFan
e0ca83d5cc Performance Ph2 2016-10-06 11:00:35 -03:00
WandererFan
c216da56d5 Performance improvements Ph1 2016-09-29 17:37:20 -04:00
WandererFan
cdf64a212c Coverty changes:
** CID 152490:  Control flow issues  (DEADCODE)
** CID 152492:  Null pointer dereferences  (FORWARD_NULL)
** CID 152493:  Null pointer dereferences  (FORWARD_NULL)
** CID 152494:  Null pointer dereferences  (FORWARD_NULL)
** CID 152495:  Null pointer dereferences  (FORWARD_NULL)
** CID 152496:  Null pointer dereferences  (FORWARD_NULL)
** CID 152497:  Null pointer dereferences  (FORWARD_NULL)
** CID 152502:  Null pointer dereferences  (REVERSE_INULL)
** CID 152507:  Uninitialized members  (UNINIT_CTOR)
** CID 152508:  Uninitialized members  (UNINIT_CTOR)
** CID 152508:  Uninitialized members  (UNINIT_CTOR)
** CID 152510:  Uninitialized members  (UNINIT_CTOR)
2016-09-11 13:12:24 -04:00
WandererFan
c4551e2727 Handle degenerate edges in face detection 2016-09-08 16:18:52 +02:00
WandererFan
928856ec3a Minor performance improvements 2016-09-01 12:14:42 -04:00
WandererFan
0805e7c854 Add centermarks for circles in Views 2016-08-16 14:29:15 +02:00
WandererFan
1038630eeb Remove superfluous OCC includes 2016-07-14 14:39:06 +02:00
WandererFan
27aafada9c Include file cleanup per cppclean analysis 2016-07-14 14:39:06 +02:00
WandererFan
a843759f29 Basic Face detection using BGL 2016-07-11 15:32:16 +02:00
WandererFan
0319adeec7 wmayer patch for Win & OCC7 compat 2016-07-11 15:32:16 +02:00
WandererFan
a3592a201c remove obsolete 3D reference code 2016-07-11 15:32:16 +02:00
WandererFan
8019841c4f Fix Hatch path fp math
Fix section face painting
2016-07-11 15:32:16 +02:00
WandererFan
60acf69557 Section face positioning/display 2016-07-11 15:32:16 +02:00
WandererFan
8de536c0e1 HLR looses Shape for some ProjGroupItems 2016-07-11 15:32:16 +02:00
WandererFan
599e957813 Fix issue 7 Projection Results 2016-07-11 15:32:16 +02:00
WandererFan
2fbc4025cd ProjectionAlgo & DrawingExport renames 2016-07-11 15:32:16 +02:00