Four months in the making, this release is one that almost didn’t happen… At least not now and not like it is.
You might think that four months without a release would mean things have been quiet on the development front — you’d be wrong. Work was steadily progressing on a few big long-term projects when a few high-priority bugs came to light. Initially, I planned on quickly pushing out 3.40.2. However, when I stepped back, there were a lot of other things that were also ready to go out the door.
So this amounts to a pretty big release — with probably two big releases coming in the near future.
Even though this release is pretty large, most of it can be considered fixes and cleanups. So the ‘features’ list is going to be sparse this time around.
ParmIDs are now transferred when you change an XSecCurve type. So, if you’ve identified Height and Width on an Ellipse (in Advanced Linking, Linking, FitModel, Design Variables, Saved Parameter Settings, etc) and you change to a Rounded Rectangle, everything should ‘just work’.
The structures capability received quite a bit of attention by addressing issues identified by James Joseph and Bryan Sandoz. The structures mesher should be noticibly more robust. When things do fail, they should less frequently crash the whole thing. Parts (including trims) no longer extend across the symmetry plane to the other side. Mass of assemblies are now calculated. Assemblies can now be written to STL and GMsh files. Several lagging graphics update issues were fixed.
Note, a wing used in Structures should always be self-watertight. I.e. tip caps should be used in the model. However, if you don’t want to include the tip caps in the structural skin, there is now an option to turn them off.
ScreenGrab from the API should be fixed. Several issues with the new API facade have been resolved.
The Set Editor now has some online Help — thanks Jason W.
Many typo fixes across the code base — thanks Luzpaz. Lots of general code cleanups.
Fix CompGeomp when a subsurface line lies exactly on top of a tessellation line.
There are a number of build system improvements, it should be easier to build on Arch and Debian now.
Added VSP_NO_API_WRAPPERS and VSP_NO_HELP build options. So if you only want a bare-bones build, or are working around build problems, you have more options.
Several libraries were updated (Clipper2, Pinocchio, Triangle and Delabella). Consequently, the Libraries sub-project will need to be re-built. Most of this was to address cross platform build issues, but the Triangle updates also include fixes to avoid some crashes and an infinite loop.
So there you have it — a heap of stuff from all over the place. Everyone should update at least to make sure you still know how to download a new version for when the next big feature updates are ready.
Features:
- Re-map ParmID’s when changing XSecCurve type
- Add link loop breaking message to advanced links
- Write structure assemblies to STL and GMsh files
- Calculate structure assembly mass
Library Updates:
- Clipper2, better match packages available in Linux distributions
- Pinocchio, build fix for some platforms
- Delabella, build fix for some platforms
- Triangle, avoid crashes and infinite loops, avoid namespace issues
Fixes:
- Fix base airfoil scale when setting airfoil points via API.
- Make API ScreenGrab() and UpdateGUI() blocking.
- Fix ScreenGrab from API.
- Fix StopGUI behavior from GUI within facade.
- Fix GUI and Server shutdown from facade on MacOS.
- Fix need for sleep() on facade GUI API startup.
- Fix Conformal Component memory error identified by Jason Le.
- Fix Conformal Component update lag when parent symmetry changed.
- Fix bug of copying Parm instead of Parm value
- Fix Structures handling of symmetry for parts including trims
- Fix Structures meshing issues, should reduce crashes
- Fix Structures trimming at the center line