pythonocc-core icon indicating copy to clipboard operation
pythonocc-core copied to clipboard

How to get the point of intersection with isoparametric curve and Geom_Surface ?

Open Rennngw opened this issue 2 years ago • 1 comments

Hello together, I'm rgw.

I want to get the point of intersection with isoparametric curve and Geom_Surface.

I created an isoparametric curve on a surface and use it to intersect with the surface.

Now I want to know the intersections of a certain isoparametric curve (yellow curves) and the surface.

The intersection result i think is two points and one segment. Take one "long" isoparametric curve for example, it intersects the edge twice and the intersection points should be where as shown below.

schematic diagram1

schematic diagram2

First I use UIso to get the isoparametric curve. Then I use GeomAPI_IntCS to get the intersection result.

But the result I got only has many points and the result as shown below.

result

Any hints, suggestions, corrections, help? Thanks very much!

Rennngw avatar Mar 24 '23 13:03 Rennngw

I also have the same problem. And I plan to use Geom2dAPI_InterCurveCurve, but don't known how to convert an iso_curve into 2d。@tpaviot

# get a iso curve
iso_curve = surface.UIso(0.5) 

# convert iso_curve into 2d

iso_curve_2d = ???

# for each edge of the surface

curve_on_surface, first_param, last_param = BRep_Tool.CurveOnSurface(edge, face)
                
intersector = Geom2dAPI_InterCurveCurve(iso_curve_2d, curve_on_surface, 1e-6)

xiaotaw avatar Jun 04 '25 07:06 xiaotaw