TODO / KNOWN bugs

-   {Installer} Link to changeLog added to yak manifest
-   Sometimes the sub-layers are not created properly under “Beam Calculation” layer which causes bugs
-   Undo a beam creation deletes its attached nodes
-   {RBT_Export} Sometimes axis are messed up when exporting to steel v3
-   Hard coded tolerance values are causing issues when the document is not in mm

Won’t fix

-   When a node is duplicated with rhino’s copy command, the new node will have the same label as the original.
-   Annotations’ font height is ignored in RH5

CHANGELOG

All notable changes to this project will be documented in this file.

[1.4.5] - 2021-11-12

Changed

-   Changelog will be written in markdown, then exported as plaintext and html+css

[1.4.4] - 2021-10-14

Fixed

-   {License} Former license system fallback broken - OnLoadBeforeLicenseValidation()
-   {Installer} Rhino was raising an exception because the toolbar was installed in a read-only folder
-   {License} Bug where several computers may have the same machine ID (Rhinocommons updated to v1.0.7)

[1.4.3] - 2021-09-09

Changed

-   Compilation system batch
-   {TomKodCommons} Code restructured to use TomKodCommons API (v1.0.5) instead of files shared between projects

Fixed

-   {Installer} Bug for Rhino6 package installation

[1.4.2] - 2021-06-11

Added

-   {Installer} New windows installer with update/uninstall features

Changed

-   Native compilation for rhino 7 [1]

Fixed

-   Random crashs “StackOverflowException” with GetRBTBeamData(), GetBeamLayer()
-   CheckIntersectBeams() was calling UpdateEveryBeamPositions() repeatedly
-   {RBT_IntersectBeams} command crashed in some particular cases (code has been rewritten)
-   {RBT_ImportLines} command created sometimes duplicates because of a bug in [RBT_IntersectBeams]
-   {Installer} should check Rhino’s availablility at start and disable options if needed

[1.4.1] - 2021-05-03

Changed

-   {TomKodCommons} Code restructured to use TomKodCommons API (v1.0.1) instead of files shared between projects

Fixed

-   {Installer} Yak package will be built with a “win” argument
-   ‘PlugInDescription’ tags in AssemblyInfo
-   Crash due to thread access with delay timer
-   {Installer} Yak package’s plugin description

[1.4.0] - 2021-04-22

Changed

-   {RBT Panel} “LabelAngle” control removed (not needed anymore) - Custom NumericUpDown will be used instead.
-   {User doc} Beam’s local axes definitions detailed in userdoc
-   {TomKod} Internal module “RhinoFunctions” reorganized

Added

-   {RBT Panel} Possibility to add a negative angle to a beam (The positive equivalent angle will be stored)
-   {RBT Panel} Tooltips
-   {License} Tooltips in license activation form
-   {RBT_Export} Nodes constraints for RDM7 export (Limited to RDM6-7 capabilities / See UserDoc)
-   Rhino Undo feature for ReverseBeams() & CreateRBTLayers() functions

Fixed

-   {TomKod} Internal RBT_Common and Common modules reorganized
-   {RBT Panel} A scrollbar should be added when the panel size is too small
-   {RBT Panel} Text Height and Offset values did not validate until another field was selected (Changed to real-time update)
-   {RBT Panel} TextHeight field should range from 2.6 to 30
-   {RBT Panel} Color pickers texts
-   {RBT Panel} {RH7} Colors buttons didn’t work properly on the settings’ tab because of RH7’s handling of the color’s alpha channel
-   {RBT_ImportLines} Straight portions of polylines were split while they remained properly unsplit for polycurves
-   {RBT Panel} The “Reverse Beams” button only reversed one beam in case of multiple selections, contrarily to the command
-   {RBT Panel} When selecting a beam with an angle set, then two others: the first selected did get the last selected angle value
-   {RBT Panel} When selecting a beam with no angle, then another one, then one with an angle, then another without: all of them did get the third’s angle value.
-   {RBT Panel} When a beam was deselected, the “Various” value was not refreshed
-   RBT’s beam orientation rules did not always match Steel’s, because GetLocalOrientedPlan() was based on Rhino’s default normal plane for lines. The new internal functions GetLocalVectorX(), GetLocalVectorY() & GetLocalVectorZ() will follow exactly Steel’s spec
-   Add a 300ms delay to UpdatePanelFrom() to avoid repetitive loops on multi-selection (A lot faster)
-   {RBT Panel} Selected Nodes/Beams labels replaced by read-only textboxes for a better display when many items are selected
-   {RBT Panel} Rhino’s undo feature enabled when editing the beams’ and nodes’ properties
-   {RBT_Export} Beam orientation angles were lost when exporting to steel 4 (Vector was unitized then rounded to 1)
-   {RBT_Export} RDM7 don’t use the same local axes: the beam’s axe Z should be Steel’s local axe Y
-   {TomKod} Help button text updated on activation form to target TomKod Server URL dynamically

[1.3.2] - 2021-02-19

Removed

-   {RBT_Export} scripted mode

Fixed

-   Userdoc paths changed to match the renamed & new commands
-   {RBT_Panel} Node tab buttons location
-   {RBT_Export} Culture issue in “.ToSteelString” conversion function - set to current culture (Steel4 export)
-   {RBT_Export} Bug with the preset export path
-   {TomKod} Toolbar with new command names

[1.3.1-BETA] - 2021-02-08

Fixed

-   Beam preview should be scaled depending on doc.modelunit

[1.3.0-BETA] - 2021-02-05

Added

-   {RBT_Panel} Beam’s local coordinate system display vectors
-   Beam’s orientation preview using its angle option and an ‘I’ beam form factor
-   {RBT_Panel} new “Display” tab with all display settings
-   {RBT_Export} IPN as default Steel4 BeamProperties (projectBeamPropertiesH)
-   {RBT_Export} Beam Orientation values interpreted for Steel V4 export
-   {RBT_Panel} Beam Z vector values display on rhino Beams tab
-   {RBT_Panel} Options to customize the nodes annotations
-   {ImportSteel4File} command (BETA)
-   Possibility to export to RDM7 files (*.por)

Changed

-   {RBT_Panel} Only one field kept for Node contraint values, instead of one for “Spring” and one for “Forced””
-   {RBT_Panel} Node constraint value field should use a NumericIpDown instead of a textbox
-   Rhino 6-7 set as main compilation target instead of Rhino5
-   {RBT_SteelExport} command renamed {RBT_Export} (Alias added for toolbar retro-compatibility)
-   {RBT_AnnotationsSettings} command renamed {RBT_DisplaySettings} (Alias added for toolbar retro-compatibility)
-   Yak keywords updated
-   {RBT_DisplaySettings} command should just open the settings tab in RBT_Panel

Fixed

-   Plugin crash on multiple selection (string to integer directcast error)
-   {RBT_Export} Steel4 values should be saved in meters instead of doc.modelunit
-   {TomKod} logo updated
-   {TomKod} Display error in commandline feedback “Online activation required before 00:00:00” (Date should be shown instead of Time)

[1.2.0-BETA] - 2021-01-19

Added

-   {RBT_SteelExport} Support for Steel v4 file format

Changed

-   Overall stability and speed improved

Removed

-   Old usertext system (not used anymore)

Fixed

-   GetRBTNodeData() and GetRBTBeamData() re-written with cleaner code and strongly-typed variables
-   Try-Catch method replaced by .containskey() to read dictionnaries safely

[1.1.2] - 2020-12-21

Added

-   Keywords for yak package

[1.1.1] - 2020-12-10

Added

-   {License} Possibility to desactivate a license from the license activation windows (License not tied anymore to the computer)
-   {License} Support for offline activation files (*.TkLic)
-   {License} Possibility to make the licenses floating - Enabled by default (License are disabled when Rhino is closed)
-   {TomKodCommons} Common template for every TomKod command (Abstract class)
-   {RBT_License} commandFixed: {TomKod} License validation form should not accept spaces (” “) in email textbox
-   Compatibility test with Rhino7

Changed

-   {License} Activation form UI revisited with tabs
-   {TomKodCommons} Use a common abstract class for TomKod plugins
-   {License} New version of the activation form, with more feedback and options.

Fixed

-   {License} Display refresh bug when a TomKod license certificate is picked
-   {License} Crash when there is no internet connexion and no TomKod license certificate (*.TkLic)
-   {TomKod} The waiting form should be closable, in case in fails to close itself
-   {License} Offline license certificate was not always read
-   {License} TomKod about template should give the actual license status and not every messages from the license system.
-   {License} CommercialLicenseStatus.data.expire_date is a string, CommercialLicenseStatus.ExpirationDate should be used instead
-   {License} Offline period should be based on “EncryptedOfflineLicense” class
-   {License} Bug with Unset plugin status, which was considered as a Beta instead of a commercial release
-   {License} Implement a plugin license status, and use it in _About abstract command
-   {License} Several license activation failure scenarii
-   {TomKodCommons} Waiting form (Floating progress bar) display should be refreshed on value update

[1.1.0] - 2020-10-22 [FIRST COMMERCIAL RELEASE]

[1] Target: Rhinocommon 7.5 + .net framework 4.8
