Sure. I can discuss, conceptually, how it might work. I don’t yet know enough about Blender to flesh out all of the details though.
Although the manual interface could be duplicated by defining the observer’s position and the knife’s segments, I’m not sure that is the best API to offer through Python. If that were available, it is flexible enough that I could make it work for current needs.
The better solution for my current case, however, would be to define a plane which would cut intersecting faces. To make this more powerful and flexible, the API would accept the knife’s geometry along with a definition of which edges are cutting edges. Cutting edges would cut inward along the plane, and cuts would be limited to the planar region.
For instance, if only the “front” edge were a cutting edge, and cut-through was turned off, the the effect would be similar to manually using the knife with cut-though turned off. If all four edges were defined as cutting edges, then the cut would be equivalent to making four manual cuts, moving around the object 90 degrees between each cut. Except that manual cuts would not allow for the “limits” the API would provide.
An even more powerful version would allow the knife’s geometry to be defined as any planar complex polygon. Since cuts from each cutting edge would proceed “inward” along the plane until encountering another edge, a complex polygon would allow complex cuts. (No pun intended.)
Does this make sense to you? I’d have a Knife class, which would hold any options, such as cut-through, as well as the geometry and definition of cutting edges. I don’t have enough understanding of how the Blender API is laid out to specify how the geometry would be defined or how one would communicate which edges are cutting edges.