Skip to content

Python binding for curve_network_to_surface #1250

@wattrg

Description

@wattrg

Hi,

Firstly thanks for maintaining this great software!

I have a question about the python bindings for curve_networks_to_surface. I'm attempting to run the example at examples/python_internal/example_gordon_surface.py. I'm on a new version of pythonocc and tigl (pythonocc-core 7.6.2 and tigl 3.5.0rc1, both from conda), so I had to make some modifications to the pythonocc imports. When I run the code I get the following error message. (I've added some print statements at the top to convince myself that the brep files are being read and converted to curvers correctly)

Guide shapes: <class 'TopoDS_Shape'; Type:Compound>
Profile shapes: <class 'TopoDS_Shape'; Type:Compound>
Profile curves: [<class 'Geom_Curve'>, <class 'Geom_Curve'>, <class 'Geom_Curve'>, <class 'Geom_Curve'>, <class 'Geom_Curve'>]
Guide curves: [<class 'Geom_Curve'>, <class 'Geom_Curve'>, <class 'Geom_Curve'>]
Traceback (most recent call last):
  File "/home/rob/Documents/00_code/sandbox/gordon_surface/gordon_surface.py", line 60, in <module>
    main()
  File "/home/rob/Documents/00_code/sandbox/gordon_surface/gordon_surface.py", line 56, in main
    surface = curve_network_to_surface(profile_curves, guide_curves, 1.e-4)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rob/.opt/miniconda3/envs/tigl/lib/python3.12/site-packages/tigl3/geometry.py", line 3049, in curve_network_to_surface
    return _geometry.curve_network_to_surface(profiles, guides, spatialTol)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Wrong number or type of arguments for overloaded function 'curve_network_to_surface'.
  Possible C/C++ prototypes are:
    tigl::curveNetworkToSurface(std::vector< opencascade::handle< Geom_Curve >,std::allocator< opencascade::handle< Geom_Curve > > > const &,std::vector< opencascade::handle< Geom_Curve >,std::allocator< opencascade::handle< Geom_Curve > > > const &,double)
    tigl::curveNetworkToSurface(std::vector< opencascade::handle< Geom_Curve >,std::allocator< opencascade::handle< Geom_Curve > > > const &,std::vector< opencascade::handle< Geom_Curve >,std::allocator< opencascade::handle< Geom_Curve > > > const &)

So my question is if anyone has used these bindings recently, or if maybe they are a bit stale, or if I am doing something wrong? I can see the standalone library, is using that preferable to the version within tigl itself? I was just hoping to use the tigl version because I already have it as a dependency.

Thanks for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions