Change log


spatix v021.008 (2021-08-18, expires 2022-12-31)


  • New feature: Restored support for TrueType fonts to be used for ELM_TEXT elements in Spatix
  • Works fine only if the same-named TT font is installed on all computers where same SPX-file is opened, otherwise degrades to fastfont
  • FontID to font name and font-style map yet to be stored within SPX-file settings to improve SPX-files portability
  • New feature: Filled elements in onDynamics() draw now look semitransparent (allowing user to control the vertexes placement over background in Place tools and Manipulate tools)
  • New feature: New spaccels to set up active element styles: lr=, co=, ls=, wt=, fill=, fillco=, th=, font= (se Spatix manual for more details)
  • New feature: Preserving toolbars state on Spatix restart (partially) even if appropriate IxApps are not loaded on startup or are loaded in different order
  • If toolbar is floating then its global position on the screen will be restored
  • If floating toolbar is not visible with current display set (e.g. when one of monitors was disconnected between Spatix sessions) then toolbar will be moved to the display on which main window is currently located
  • If toolbar is in a group (pinned to another toolbar to form an island), it will be restored in that group
  • If toolbar is docked to one of the toolbars docking area then it will be restored at this toolbar docking area (left/top/right/down)
  • Upon show, floating toolbar would readjust themselves to fit the display area that is currently visible
  • Position of toolbar inside particular toolbar docking area is still unpredictable (both for "docking line" and "ordering within a docking line")
  • New feature: New IsHidden=true setting per IxApps in the [MiniAppsSettings] INI-file section would hide IxApp from menu. In case all IxApps of one group are hidden — no group menu is shown
  • IsHidden=true was embedded by default for build-in IxApps for new clean installations of Spatix
  • New feature: New Spatix command line options --log-fatal, --log-error, --log-warning, --log-info, --log-state, --log-debug, --log-more, --log-evenmore, --log-signal to override the current debug level which was set up in DebugTools
  • New feature: DXF import using DXF import/export tool would not reuse existing layers, unless the layer name matches. Unique layers imported from DXF would go under the common header layer named as this DXF file.
  • New feature: Now DXF_ReadHatch() would read Hatches with polyline boundaries (there was a support request for that)
  • New feature: Automatically open log window on any fatal error message instead of modal message box (useful for tracking failed spaccels)
  • Fix: less strict rotation matrices comparison — to add Std rotation names more likely into view window captions
  • Fix: Std view rotation names now have priority over saved view presets when choosing view caption text
  • Fix: hide Main Tools Place Raster tool from GUI in case no --feature-showdebugelems command line option was specified
  • Fix: Measure Element tool to attribute 0-length lines as points
  • Fix: ColorTable export into ASCII 0-255 *.pal files format is made compatible with JASC-PAL color table files format
  • Fix: Menu items for IxApps that are unloaded from sub-menu group no longer disappear (allowing to load them back again later)
  • Fix: Memory leak in EtiText_TextGetGeometry(), DXF_ImportHatch(), publishIndentifier(), in Dimensioning tools while calling FntGetRegisteredFontNames() and a huge one in fnt_glyph_geom.cpp
  • Fix: Proper clipping of ELM_BSPLINE2 by view window boundaries
  • Fix: Incorrect extend segment towards snap point by Extend Segment tool
  • Fix: Rare case when Spatix toolbar may stay condensed (too small) when dragged off the docking area into the floating state. There was no way to enlarge it.
  • Fix: Rare case when floating Spatix toolbar would not glue into island since overlaps to toolbars being docked nearby
  • Fix: Trimming arc to arc in some cases could fail (reduced accuracy when comparing coefficients of the "arcs intersection equation" to zero)
  • Fix: Curve being a part of big line can't be chosen in Extend Segment tool (since ELM_CURVE has no means to be extended yet)
  • Fix: Now polygon can be trimmed only if intersection point is lying on it's segment
  • Fix: Order of saving/loading view state settings from SPX-files was broken. Now view windows geometry and indexes should be correctly saved/restored (there was a support request for that)
  • Fix: Added support for ELM_ARC when extending big line element ends using Extend Segment tool
  • Fix: Several fixes that probably address problems from crash-reports:
  • exception in LyrCreate()
  • exception in DXF_WritePolyline()SCadDocument::ActiveDocument()
  • exception in DXF_Import()SCadDocument::setColorTable()SPubIdentifier::data()
  • Fix: All toolbars now have proper names (so that could be referred to)
  • Fix: Intermediate rendering in stereo mode caused crashes of TS software in stereo windows
  • Fix: Element Information tool — transient highlight of element was not cleared off upon switch to another command
  • Fix: SpatixStartupWidget dialog box that asks which file to re-open on startup no longer blinks
  • Fix: Invalid warning message about CadCommand not started appeared in the log while starting up CadCommands from C-based IxApps
  • Refactor: More accurate definition of hit point in Trim to Element tool
  • Refactor: Simplify the generalized geometry needed for simplified rendering of zoomed-out-too-far text elements
  • Refactor: Speed up FntGetGeometryU8() and FntOutlineToEld()

API changes

  • Fix: Move DUMP_MEMORY_LEAKS() to the latest step of atexit() processing, so that to properly catch destructions of static variables in the debug Spatix build
  • Refactor: Font typeface names are now handled as UTF8 string throughout the API