getParameterAtPoint returning incorrect value
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I am working on a script to process some geometry so I started with a script to iterate through the edges of the outer loop of a selected surface. I use approximate each edge as a polyline using the Evaluator3D getStrokes method. I need the parameter values for each stroke so I call getParametersAtPoints with the points returned by getStrokes. The points look correct for all the edges, but some of the edges give the same parameter value for every point. The code and output are below.
Thanks,
Marc
truncated cone
sel0 = input0.selection(0); face = sel0.entity faceEval = face.evaluator loops = face.loops outerLoop = loops[0] fitTolerance = .01 # database units, cm # coEdges are 2D in parameter space of the face # use edge instead but direction might be reversed for iedge in range(outerLoop.coEdges.count): print ("--------------- edge " + str(iedge) + "---------------") ce = outerLoop.coEdges.item(iedge) reversed = ce.isOpposedToEdge e = ce.edge eval = e.evaluator (ret, t0, t1) = eval.getParameterExtents() tstep = (t1 - t0) / 2. if reversed: t0, t1 = t1, t0 tstep = -tstep (ret, lineFit) = eval.getStrokes(t0, t1, fitTolerance) for ifit in range(len(lineFit)): p = lineFit[ifit].asArray() (ret, tFit) = eval.getParameterAtPoint(lineFit[ifit]) if not ret: ui.messageBox('getParameterAtPoint_NG') return print(str(p) + " @ " + str(tFit))
Output from code for truncated cone pictured above:
--------------- edge 0---------------
(-5.0, 0.0, 0.0) @ 0.0
(-2.0, 0.0, 3.0) @ 4.242640687119285
--------------- edge 1---------------
(-2.0, 4.898587196589413e-16, 3.0) @ -3.141592653589793
(-1.9615705608064606, 0.39018064403225744, 3.0) @ -3.141592653589793
(-1.847759065022573, 0.7653668647301808, 3.0) @ -3.141592653589793
(-1.6629392246050894, 1.111140466039206, 3.0) @ -3.141592653589793
(-1.4142135623730934, 1.4142135623730967, 3.0) @ -3.141592653589793
(-1.1111404660392021, 1.662939224605092, 3.0) @ -3.141592653589793
(-0.7653668647301768, 1.8477590650225746, 3.0) @ -3.141592653589793
(-0.3901806440322531, 1.9615705608064615, 3.0) @ -3.141592653589793
(3.908665341092488e-15, 2.0, 3.0) @ -3.141592653589793
(0.3901806440322608, 1.96157056080646, 3.0) @ -3.141592653589793
(0.7653668647301839, 1.8477590650225717, 3.0) @ -3.141592653589793
(1.1111404660392088, 1.6629392246050876, 3.0) @ -3.141592653589793
(1.414213562373099, 1.4142135623730911, 3.0) @ -3.141592653589793
(1.6629392246050938, 1.1111404660391995, 3.0) @ -3.141592653589793
(1.847759065022576, 0.7653668647301736, 3.0) @ -3.141592653589793
(1.9615705608064622, 0.3901806440322498, 3.0) @ -3.141592653589793
(2.0, -7.350356717430472e-15, 3.0) @ -3.141592653589793
--------------- edge 2---------------
(5.0, 6.123233995736766e-16, 0.0) @ 0.0
(2.0, 2.4492935982947064e-16, 3.0) @ 4.242640687119285
--------------- edge 3---------------
(-5.0, 1.2246467991473533e-15, 0.0) @ -3.1415926535897927
(-4.960573506572389, 0.6266661678215234, 0.0) @ -3.1415926535897927
(-4.8429158056431545, 1.2434494358242767, 0.0) @ -3.1415926535897927
(-4.648882429441255, 1.8406227634233931, 0.0) @ -3.1415926535897927
(-4.381533400219316, 2.4087683705085805, 0.0) @ -3.1415926535897927
(-4.045084971874735, 2.9389262614623703, 0.0) @ -3.1415926535897927
(-3.644843137107054, 3.4227355296434485, 0.0) @ -3.1415926535897927
(-3.1871199487434434, 3.852566213878951, 0.0) @ -3.1415926535897927
(-2.679133974894977, 4.22163962751008, 0.0) @ -3.1415926535897927
(-2.128896457825356, 4.524135262330102, 0.0) @ -3.1415926535897927
(-1.5450849718747288, 4.755282581475772, 0.0) @ -3.1415926535897927
(-0.9369065729286133, 4.911436253643446, 0.0) @ -3.1415926535897927
(-0.3139525976465562, 4.990133642141359, 0.0) @ -3.1415926535897927
(0.31395259764657846, 4.990133642141358, 0.0) @ -3.1415926535897927
(0.9369065729286356, 4.9114362536434415, 0.0) @ -3.1415926535897927
(1.5450849718747497, 4.755282581475765, 0.0) @ -3.1415926535897927
(2.128896457825376, 4.524135262330092, 0.0) @ -3.1415926535897927
(2.6791339748949956, 4.2216396275100685, 0.0) @ -3.1415926535897927
(3.1871199487434607, 3.8525662138789367, 0.0) @ -3.1415926535897927
(3.6448431371070695, 3.422735529643432, 0.0) @ -3.1415926535897927
(4.045084971874747, 2.9389262614623526, 0.0) @ -3.1415926535897927
(4.381533400219327, 2.408768370508561, 0.0) @ -3.1415926535897927
(4.648882429441264, 1.8406227634233727, 0.0) @ -3.1415926535897927
(4.842915805643161, 1.2434494358242554, 0.0) @ -3.1415926535897927
(4.960573506572392, 0.6266661678215013, 0.0) @ -3.1415926535897927
(5.0, -2.1040427052676556e-14, 0.0) @ -3.1415926535897927