View Issue Details

IDProjectCategoryView StatusLast Update
0001713SketcherFeaturepublic2014-08-26 11:42
Reporterickby Assigned Towmayer  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformWindowsOSWindows OS Version7
Product Version0.14 
Target Version0.15 
Summary0001713: Allow Part.Arc to be used as Sketcher geometry
Descriptioncurrently Part.ArcOfCircle is used to add circular arcs to the sketcher. As the part workbench also provides the Arc geometry type it should be posible to use it also. If not at least a message should apear that it is not supported. Currently the geometrie counter increases when Part.Arc is added but nothing is displayed.

OS: Windows 7
Word size: 64-bit
Version: 0.14.3700 (Git)
Branch: releases/FreeCAD-0-14
Hash: 32f5aae0a64333ec8d5d160dbc46e690510c8fe1
Python version: 2.7.6
Qt version: 4.8.5
Coin version: 4.0.0a
SoQt version: 1.6.0a
OCC version: 6.6.0
Steps To Reproduce>>> App.ActiveDocument.Sketch.addGeometry(Part.Arc(App.Vector(33.0,66.5,0.3),App.Vector(32.85857864376269,66.44142135623731,0.3),App.Vector(32.8,66.3,0.3)))
0
>>> App.ActiveDocument.Sketch.addGeometry(Part.Arc(App.Vector(33.0,66.5,0.3),App.Vector(32.85857864376269,66.44142135623731,0.3),App.Vector(32.8,66.3,0.3)))
1
>>> App.ActiveDocument.Sketch.addGeometry(Part.Arc(App.Vector(33.0,66.5,0.3),App.Vector(32.85857864376269,66.44142135623731,0.3),App.Vector(32.8,66.3,0.3)))
2
TagsNo tags attached.
FreeCAD Information

Activities

wmayer

2014-08-26 11:24

administrator   ~0005012

Theoretically it works to check in Sketch::addGeometry whether the underlying curve of "GeomTrimmedCurve" is a circle and temporarily create a GeomArcOfCircle and add it to the sketch.

However, it appears that there is much more to do than this: the ViewProvider needs special adjustments (otherwise you get a recursive traversal error from Coin), you need to handle with the icon, all I/O methods of GeomTrimmedCurve must be implemented, ...

And since it's preferred to use GeomArcOfCircle I simply handle the use of GeomTrimmedCurve inside SketchObjectPy::addGeometry and convert a GeomTrimmedCurve to GeomArcOfCircle.

And there is also a check to add only supported geometries and raise an exception for all other types.

Related Changesets

FreeCAD: master d974d689

2014-08-26 13:09:37

wmayer

Details Diff
+ fixes 0001713: Allow Part.Arc to be used as Sketcher geometry Affected Issues
0001713
mod - src/Mod/Sketcher/App/SketchObjectPyImp.cpp Diff File

Issue History

Date Modified Username Field Change
2014-08-26 05:47 ickby New Issue
2014-08-26 07:16 ickby OS all => Windows
2014-08-26 07:16 ickby OS Version all => 7
2014-08-26 07:16 ickby Platform all => Windows
2014-08-26 07:16 ickby Description Updated
2014-08-26 07:16 ickby Steps to Reproduce Updated
2014-08-26 11:24 wmayer Note Added: 0005012
2014-08-26 11:42 wmayer Changeset attached => FreeCAD Master master d974d689
2014-08-26 11:42 wmayer Assigned To => wmayer
2014-08-26 11:42 wmayer Status new => closed
2014-08-26 11:42 wmayer Resolution open => fixed