Part: Rearrange inheritance not to use ArcPy
============================================ Inheritance: Geometry - GeomPoint - GeomCurve (GeometryCurvePy) - - GeomBoundedCurve (BoundedCurvePy) - - - GeomBezierCurve (BezierCurvePy) - - - GeomBSplineCurve (BSplineCurvePy) - - - GeomTrimmedCurve (TrimmedCurvePy) - - - - GeomArcOfConic (ArcOfConicPy) - - - - - GeomArcOfCircle (ArcOfCirclePy) - - - - - GeomArcOfEllipse (ArcOfEllipsePy) - - - - - GeomArcOfHyperbola (ArcOfHyperbolaPy) - - - - - GeomArcOfParabola (ArcOfParabolaPy) - - - - GeomLineSegment (LineSegmentPy) - - GeomConic - - - GeomCircle - - - GeomEllipse - - - GeomHyperbola - - - GeomParabola - - GeomLine - - GeomOffsetCurve * Note: ArcPy is also a twinclass of c++ GeomTrimmedCurve, Python ArcPy derives from Python TrimmedCurvePy. Same functionality as before: >>> geometries = ActiveSketch.Geometry >>> line = geometries[1] >>> arc = geometries[2] >>> line <Line segment (-97.4389,42.4463,0) (-80.7887,44.5569,0) > >>> arc ArcOfCircle (Radius : 19.3111, Position : (-74.6914, -23.2165, 0), Direction : (0, 0, 1), Parameter : (1.82335, 2.71597)) >>> line.FirstParameter 0.0 >>> line.LastParameter 16.783437032695776 >>> line.setParameterRange(0,20) >>> line.LastParameter 20.0 >>> arc.StartPoint Vector (-79.51683708894876, -4.517938119394778, 0.0) >>> arc.EndPoint Vector (-92.27963885411512, -15.243140671641918, 0.0) >>> arc.setParameterRange(1.5,3) >>> arc ArcOfCircle (Radius : 19.3111, Position : (-74.6914, -23.2165, 0), Direction : (0, 0, 1), Parameter : (1.5, 3)) >>> geometries[1] = line >>> geometries[2] = arc >>> ActiveSketch.Geometry = geometries >>> ActiveSketch.solve() 0 >>>
This commit is contained in:
@@ -197,31 +197,6 @@ int ArcPy::PyInit(PyObject* args, PyObject* /*kwd*/)
|
||||
return -1;
|
||||
}
|
||||
|
||||
PyObject* ArcPy::setParameterRange(PyObject * args)
|
||||
{
|
||||
Handle(Geom_Geometry) g = getGeomTrimmedCurvePtr()->handle();
|
||||
Handle(Geom_TrimmedCurve) c = Handle(Geom_TrimmedCurve)::DownCast(g);
|
||||
try {
|
||||
if (!c.IsNull()) {
|
||||
double u,v;
|
||||
u=c->FirstParameter();
|
||||
v=c->LastParameter();
|
||||
if (!PyArg_ParseTuple(args, "|dd", &u,&v))
|
||||
return 0;
|
||||
getGeomTrimmedCurvePtr()->setRange(u,v);
|
||||
Py_Return;
|
||||
}
|
||||
}
|
||||
catch (Base::CADKernelError& e) {
|
||||
PyErr_SetString(PartExceptionOCCError, e.what());
|
||||
return 0;
|
||||
}
|
||||
|
||||
PyErr_SetString(PartExceptionOCCError, "Geometry is not a trimmed curve");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
PyObject *ArcPy::getCustomAttributes(const char* /*attr*/) const
|
||||
{
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user