How to modify Eta and XoC of a FEA_POLY_SPAR via API?

109 views
Skip to first unread message

aschrist

unread,
Apr 9, 2026, 1:28:38 PMApr 9
to OpenVSP

Good Afternoon,

I’m working with the OpenVSP API to create FEA structures for a wing, and I am able to add a polyspar using the following code:

front_spar = vsp.AddFeaPart(wing_id, fea_struct, vsp.FEA_POLY_SPAR)

However, I’m having trouble modifying its position. I tried using:

vsp.SetParmValUpdate(front_spar, "RelCenterLocation", "FeaPart", 0.5)

but this does not seem to have any effect.

What I would like to do is control the Eta and XoC of the polyspar points, similar to how it can be defined in the GUI.

In addition, in the GUI the polyspar currently has two points (start and end). I would like to add an additional point near the midsection (e.g., at section 2) and control its  Eta  and  XoC  via the API. I have attached an image where I manually added the additional (mid) point for reference.

How can I access and modify the Eta and XoC values for FEA polyspar points through the API, and how can I add and modify additional points?

Thanks in advance for any help!

1st.png

George Efrem

unread,
Apr 28, 2026, 5:40:21 AMApr 28
to OpenVSP

Hi all, 

I am facing the same issue and wanted to add some details in case it helps. I am trying to create an FEA_POLY_SPAR from the Python API for a two-section wing, where the spar needs to kink at the section break. A normal FEA_SPAR is not enough for this case. I am using OpenVSP 3.49.0 with the Python 3.11 build. The enum seems to be available correctly, and the part is created as the correct type:

poly_spar = vsp.AddFeaPart(wing_id, fea_struct, vsp.FEA_POLY_SPAR)

When I check it, I get:
Requested FEA_POLY_SPAR
requested enum = 9
actual type = 9

However, I cannot find a way to define or edit the actual poly-spar points from Python. I looked through the available API functions and I can see:

FEA_POLY_SPAR
POLY_SPAR_POINT_ETA
POLY_SPAR_POINT_U01
POLY_SPAR_POINT_U0N
NUM_POLY_SPAR_POINT_TYPES

but I do not see any function for adding or modifying the point table, such as AddPolySparPoint, SetPolySparPoint, or something similar.

Also, when I inspect the part using FindContainerParmIDs(poly_spar), I only see parameters under FeaPart and FeaSlice. I do not see exposed parameters for Eta, XoC, SpanMode, or the individual poly-spar points.

Is there currently a supported way to control the FEA_POLY_SPAR point table through the Python API, or is this functionality not exposed yet?

Any guidance would be very helpful!

Kind regards,
George

Rob McDonald

unread,
Apr 29, 2026, 2:16:40 PMApr 29
to OpenVSP
This was an oversight in the API coverage.  I'll try to add some things to cover this in the next release.

Rob

George Efrem

unread,
Apr 30, 2026, 4:02:36 AMApr 30
to OpenVSP
OK, thank you, Rob!

Kind regards,
George

Andreas Chris

unread,
May 3, 2026, 1:22:57 PM (11 days ago) May 3
to OpenVSP

Thank you, Rob. I appreciate the quick update and for including it in the API. That solves the issue on my side.

Kind regards,

Antreas.

Reply all
Reply to author
Forward
0 new messages