Hi Charles,

I'm not sure what you mean by segments? But I am interested in an example!

The leak is indeed in BrepExtrema_DistShapeShape.
My current approach is to calculate a midpoint for each of the blue
edges, which is fast even for 6000 edges. Then I use
scipy.spatial.KDTree for a nearest neighbour search.
In cases where two or more edges are found, I still use
BRepExtrema_DistShapeShape to select the edge closest to that node.

https://dl.dropboxusercontent.com/u/32772/pythonOCC/findverticesnearedge.png

Uwe

On 07/08/13 06:44, Charles Sharman wrote:
> Hi Uwe,
> 
> Are your edges segments?  It seemed like they might be from the edgeScaling 
> and edgeDirection lines.  If so, there are closed-form methods you could use 
> with numpy to calculate this very, very fast.  (Just dig up an old parametric 
> calculus book.)  I can write a quick example for you if this is indeed the 
> case.
> 
> If not, BrepExtrema_DistShapeShape looked like a good choice to me.  (I'm not 
> aware of alternatives.)  Have you profiled your program to find where the 
> time and memory sink occurs?  Is it in the BrepExtrema_DistShapeShape routine 
> or the math at the bottom?  I would assume it's in 
> BRepExtrema_DistShapeShape.  If so, since your edges are short, couldn't you 
> prefilter many of the edges out before BrepExtrema_DistShapeShape is called 
> by putting a bounding box around the edge and see if the bounding box points 
> are close to the vertex with numpy?
> 
> - Charles
> 
> 
> 
> 
> _______________________________________________
> Pythonocc-users mailing list
> Pythonocc-users@gna.org
> https://mail.gna.org/listinfo/pythonocc-users
> 

-- 
INTALES GmbH Engineering Solutions
Uwe Schlifkowitz -- Software Engineer
Innsbrucker Str. 1, A-6161 Natters
Phone: +43 512 54611120 -- schlifkow...@intales.com

_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to