strusoft / femdesign-api

FEM-Design API
https://femdesign-api-docs.onstrusoft.com/
Apache License 2.0
38 stars 20 forks source link

Personalised settings reset during serialisation/deserialisation of .str #520

Open andosca opened 1 year ago

andosca commented 1 year ago

Related cases:

https://strusoft.fogbugz.com/f/cases/97299/StruXML-Update-str-file-with-partial-struxml-data


By ”settings” I mean eg. Display settings, like below: Personalised settings are not saved to .struxml and thus reset during serialisation/deserialistion. This is a major issue for users working with modifying existing models using C# or Grasshopper.

Eg Load display Object settings (in quick tools)

image image

Or the color schema:

image

Also the calculation settings under Analysis>Calculations>Calculation options are reset, which potentially can cause errors in the model:

image

Also color graduation on eg surface color palate, are changed back to default:

image

It seems to me that none of the user defined settings live through the API, I don’t even think the settings are saved to the .struxml – as they are reset when we open a newly generated .struxml in FEM-design.

andosca commented 1 year ago

Partial updates would solve all of the above.

We would have to keep track of:

last_change - timestamp of modification action - added or modified

We would need a command to force merge a partial .struxml with a base .str that can be sent either to fd3dstruct.exe (using .fdscript) or to an "open pipe".

There is a new feature for FD22 called compare files which should have extended the older Update model features.

xRadne commented 1 year ago

We would need a command to force merge a partial .struxml with a base .str that can be sent either to fd3dstruct.exe or to an "open pipe".

Command in .fdscript and/or command in open pipe is prefered I would say.

andosca commented 1 year ago

Implement method to set status (added or modified) with timestamp.

When to call this method --> The user can call manually.

BP needs to implement fdscript command.