EDIT: I have fully misunderstood your post, (if you have read the unedited post, sorry) in Sketcher addGeometry() has some sense.
But as chrisb has told you in another thread, not every thing has a geometry meaning.
topology is a layer above geometry curves (circle, line, ellipse, Bezier, ...) and surfaces (sphere, plane, toroid, bezier, bspline, ...)
So they are some other thing are simply as found in:
https://dev.opencascade.org/doc/occt-7. ... _data.html
Computation of the coordinates of points on 2D and 3D curves
Those "computed points" are not necessarily an Edge, (FreeCAD could have also edges that are "portions of a curve"), but if this "portion of a curve" is simply a "descriptions of the points" it ihas no "topological meaning" and have to be "promoted" to became a proper "topological data".
From what arise many errors like "object is not and Edge" as example when the method is expecting an "Edge".
as told by chrisb:
So the 3 BASE topology object always has an underlying geometry :
- a Part.Vertex is the topological wrapper of a FreeCAD.Vector (myVertex.Point)
- a Part.Edge is the topological wrapper of a Geometry Curve (myEdge.Curve) between 2 bounds (myEdge.ParameterRange)
- a Part.Face is the topological wrapper of a Geometry Surface (myFace.Surface) bounded by a outerWire and maybe some hole wires (myFace.Wires)
Note the expression "underlying geometry", and "topological wrapper".
maybe if you inspect the code using:
As when dealing with Part things there is a method
toShape() maybe there is a way to transform a
Part.Edge in a
Geometry objects.
EDIT2:
Maybe this page is new, and some thing are improving in documentation.
https://wiki.freecadweb.org/Sketcher_scripting
And chrib has done a very good introduction to sketcher as pdf document, I've download it and I'm studying.
Regards
Carlo D.