Issues with Parasolid integration, and frustrum registration

I’m encountering an exception when calling Parasolid APIs in my custom CAD application (C++ with CMake/Visual Studio on Windows, planning Linux port).

I’ve purchased a developer license, set up the environment per the documentation (e.g., P_SCHEMA, PARASOLID_BASE), and implemented the frustrum registration similar to the example app for memory, file handling, and delta functions.

Setup:
Parasolid version: [v37.0.118]

  • Implemented frustrum registration as per Documentation and tried to mimic behaviour similar to Parasolid’s Example app.
  • Added a call for API PK_SESSION_start() in a CSession class.
  • Frustrum stubs and registered via open_for_write.
  • CMake includes Parasolid libs/headers, copies schemas to output dir, sets environment variables.

Exception : During API calls like- receive body(PK_PART_receive), body creation(PK_BODY_create_solid_block), etc., despite no linker errors.

Tried:

  • Verified file placements(headers, libraries, schemas, etc.), paths, environment variables.
  • Re-installed the Parasolid Setup and .net dependencies
  • Rebuilt cache, checked error codes with documentation.

Note: Works in example app but not with my library.

Any ideas on common pitfalls, missing frustrum funcs, or config issues?

Code snippets or document available, if needed.

I understand that there could be a very basic missing link, but somehow I am not able to locate/identify it.

I would really appreciate any possible hints/inputs that could help me resolve above issue.

Thanks in advance!

Hi, welcome to the forum!

We’re here to answer questions about Rhino, Grasshopper and other related products, including development of plug-ins for Rhino and Grasshopper.

Can you say more about where Rhino comes in to what you’re developing? I’m only seeing questions about ParaSolid, and if you purchased a developer license, you’re probably better off asking the ParaSolid developer support.

Pretty sure that should say frustum