CHANGELOG
v 2.27.8 - 09-01-2025
Hotfix: Fix conda release pipelines when multiple packages are published at the same time (PyTWD) #3527
v 2.27.7 - 02-01-2025
Hotfix: PYT700 Bolt template warnings not printed in PDF / PYT400 incorrect tech note. #3501
v 2.27.6 - 16-12-2024
Hotfix: Pin kaleido version on Windows . #3463
v 2.27.5 - 11-12-2024
Hotfix: Fix incorrect profile drawings. #3444
v 2.27.4 - 03-12-2024
Hotfix: Removed kaleido pin to v0.1.0 and from conda recipe. #3412
v 2.27.3 - 27-11-2024
v 2.27.2 - 20-11-2024
v 2.27.1 - 13-11-2024
Add PYT601 Pin and hole tolerancing template to engineering library. #2938
Separate out templates from pytwd (PyTWD repo). #3242
Created custom warning logging system #3267
Workflow quality system improvements. #3333
Add new checksheets. #3229
Created jupyter notebook templates for some example reports #3153
Add technical responsible on most templates. #3335
Created a jupyter notebook template for project report #2978
Added 3 new materials to pin materials. #3295
Added UCPosition to imports snippet. #3326
Improved behaviour of database BoC method when no BoC is present #3298
Updated the allowable stress table in all templates #3151
PYT521: Fixed 1D buckling template from JLO. #3297
PYT611A: Fixed wrong thickness for full pen weld in a1 section and added a warning for weld thickness. #2970
PYT700 Updated load factor reference. #3327
PYT700: Updated bolt template connection opening warning trigger #3195
Fixed content is code arg in technical notes . #3325
Fix notebook tests in pipeline and remove hyperref usage. #3313
Fixed text display in technical notes #3310
HMC to TWD: Merge develop-merge-stack into develop #3271
HMC to TWD: Replaced pypdf2 & pymupdf with pypdf #3198
Release v2.27.1. #3353
v 2.27.0 - 13-11-2024
Release number skipped due to testing of release freezing this version number in Azure
v 2.26.2 - 23-09-2024
v 2.26.1 - 05-09-2024
v 2.26.0 - 04-09-2024
References table from Heerema. #2799
Made rev column in Reference table optional.. #3002
Removed unused packages ipynb and urllib3. #2928
Added MN to common units and import snippet. #2972
Copied code from Heerema/feature/compare_symbols. #2994
Updated jupyter starters wheel to version format recognized by pip. #3029
Fix for logging database reading in widgets. #2988
PYT521 added missing customization cell to the template. #2974
PYT530: New CLC Calc Template - > Buckling Check based on Eigenvalues. #2494
PYT400: Added block coefficient to the inputs. #2936
PYT600: Fixed padeye shackle warning.. #2992
PYT600: Hid cheekplate variables in pdf if no is cheekplate used. #2954
PYT700: Fixed a typo in the bolt template code.. #2991
Merge master into develop for version 2.25.1. #3042
Release V2.26.0. #3044
v 2.25.1 - 13-08-2024
Added a default value for elastic modulus for bolts. #2941
2.25.0 - 13-08-2024
Fixed HEB 100 profile database.. #2929
Updated the custom profiles snippet to have the same order as properies.py. #2813
Fixed bug showing incorrect latex for fractions inside nested D . #2791
Added default None to Optional args in Properties dataclass. #2721
Made ul database inputs compatible with None type widgets. #2617
Add micrometer to units and add sympy Abs to import snippet. #2766
Make notebooks tests run in parallel on the pipeline . #2729
Removed the cref for Ref code. #2716
Added doc.start_appendix() and doc.set_section_num_depth() methods from Heerema branch. #2635
Added test for LatexCode in template introduction widget. #2923
Added new greek symbol and made list in alphabetical order. #2702
Added test to check if notebooks exist in folder. #2613
Added colored symbols and text from Heerema branch. #2636
EDA: add elastic modulus to materials and bolts. #2639
EDA: Add profile drawings. #2651
PYT420: Wave and current - Fix graph label m/s^2. #2793
PYT521: cwarp for CHS changed to 0. #2717
PYT521: updated buckling1D intro text and variable color. #2704
PYT600: Reupdate padeye revision and fix shackle warning. #2860
PYT600: Fixed issue with padeye and pin template references. #2646
PYT600: Updated Padeye revisions. #2645
Update develop from master v2.24.1 to resolve conflicts. #2732
Merge V2.24.2 from master to develop. #2737
Merge V2.24.1 from master to develop. #2720
Merge V2.24.0 from master to develop. #2638
Release v2.25.0. #2934
v 2.24.2 - 09-07-2024
Hotfix: PYT600 Padeye - Synced Pin inputs are not updated when using database. #2723
v 2.24.1 - 04-07-2024
Hotfix: PYT600 Padeye – cheek plate thickness not considered in pin calc. #2718
v 2.24.0 - 12-06-2024
Release v2.24.0. #2622
Implemented user comments in padeye template. #2610
Change incorrect name in plate buckling temp. #2615
Bolt head bearing surface naming fixed. #2567
Added project number to reference snippet. #2604
New PyTWD academy videos: EDA and Database. #2559
Changed input widget row widths. #2564
Add unit kilometers [km] from UnitRegistry to PyTWD Common units. #2570
Fixed Existing_ref argument not referecing correctly. #2550
Added error raises for filename including '.' and double spaces. #2404
Stopper Calculation references and Introduction text. #2429
Removed warning when no customization has been done. #2536
Fixed sorting of calc code dropdown in input row widgets. #2394
Added functionality for people to view units and symbols in the EDA drawings. #2401
Improvements to get_calcs_from_dir. #2025
Fixed local jupyter folders not being empty before restart. #2408
Showing introduction in Platebuckling class. #2405
Extension of Bollar Pull calc.. #2015
Updated bump version setup. #2340
Implemented Snippet for reading/writing Excel and csv files. #2353
PYT510: Updated to have 3 load inputs instead of 1 generic load. #2551
PYT511: Corrected reference for effective deck width factor. #2511
PYT521: Fixed symbol in template. #2563
PYT531: Fixed symbols for transversal and combined load. #2504
PYT600: Completing tasks for padeye template. #2040
PYT600: Implementing MC and AC comments . #2553
PYT611: Updated moment acting on flange weld to distance to the web. #2573
PYT611: end plate / cut bottom flange under deck weld updated to maximum vertical force; fixed description text. #2501
PYT611A: Shifting location of l_cl in pdf. #2597
PYT700: Number of friction interfaces: change default value to 1.. #2497
Merge master into develop for V2.23.4, V2.23.5, and V2.23.6. #2548
Merge v2.23.3 from Master to Develop. #2496
Merge master to develop for hotfix v2.23.2. #2363
Merge master to develop for V2.23.0 and V2.23.1. #2345
Fix release v2.22.0 changelog. #2358
v 2.23.6 - 15-05-2024
Fixed contents of documentation page. #2517
v 2.23.5 - 15-05-2024
Updated FTP credentials for documentation upload. #2512
v 2.23.4 - 13-05-2024
Fixed Korean TWD (TWD-KR) and FTP server URL for PyTWD docs. #2454
v 2.23.3 - 03-05-2024
Hotfix for load factor not being used in PYT510 Beam equations template. #2464
v 2.23.2 - 08-04-2024
Fix PDF "save as" issue. #2361
v 2.23.1 - 28-03-2024
Hotfix for an error in beam template and another error in 1D buckling template #2329
v 2.23.0 - 27-03-2024
Support for vector and matrices. #703
Create custom profile visualizer. #2114
Added visualizer for EDA profiles. #2271
Add padeye 3d visualizer to padeye template. #2030
Add profile pictures for each EDA profile #2153
Auto-generate all notebooks again to get new format for the input data customisation section. #2216
Added ability to define text-only references that are not added to the document's reference list #2117
Project title is now read from the boc by default in the doc setup snippet and quickstart templates #2148
Put notebook run instruction and note in results section in a blue box. #2317
Update starter config generation and script to setup local environment. #2218
Allow DB from other directories with widgets. #2323
Brought documentation updates from Heerema branch . #2318
Update import snippets with imperial units #2220
Fixed run local Jupyter script. #2321
Fixed Sphinx documentation #2195
Fixed bug that ignored _extra_customization_method_to_title when auto generating notebooks #2157
PYT400: Motion criteria template is now widgetized. #2226
PYT486: Windage and current area calculation template is now widgetized. #2281
PYT510: Use new disabling/enabling widgets feature for beam equation template #2152
PYT511: Deck Strength, Widgets now use the new disabling dependencies class variable #2163
PYT521: Buckling 1D template is now widgetized. #2196
PYT531: Widgetizing plate buckling template #2181
PYT550: Fatigue life calc template is now widgetized. #2201
PYT611: Wingplate templates are now widgetized #2185
PYT615: improve the symbols for the custom material descriptions in stopper template #2151
PYT700: Pretensioned bolt calc template widgetized #2165
PYT960: Barge stability template is now widgetized. #2243
v 2.22.0 - 07-02-2024
Improved error for database writing with keyword arguments. #2146
EDA: return doc strings and extra information when used in jupyter. #2038
Fixed database usage in widgetized templates. #2145
Added more advanced BoC handling when multiple BoCs are present. #2144
Update FL and R in EDA profile library. #2078
Adjust formula to calculate height coefficient #1289
Changed calc revision table columns from IC, FC to MC, NC, AC #2074
Added comments to customize_class_method magic indicating where users can adjust the code #2054
Updated EDA docstring #2033
Global method to disable/enable widgets based on another widget. #2061
Create gitignored playground folder and add jupyter_notebook_config.json to gitignore #2071
FMT: fixed bug when column_widths and row_height are assigned from boc #2083
Fix figure handling in example template, improve BoC reading #1991
Fix figure link in python basics notebook #1877
Fix AssertRaises tests throughout the code base. #2100
Fix beam equation notebook auto generation #2052
Fixed changelog from previous release #2005
PYT200: Added Quickstart notebook with layout template based on Engineering Agreements v1. #2080
PYT510: Fix/improve bunch of bugs/features of the widgtized beam equation template. #2062
PYT510: Adding display plots function in the results section of widgetized deck strength template #2031
PYT511: Deck strength template - Added capability to specify double loads. #2086
PYT611: Fixed weld_type_web calculation enums in end plate template. #2056
PYT615: Adding customized material yield stress inputs to widgetized stopper template . #2139
PYT615: Add widgets to the stopper calculation template. #1669
PYT615: Compression check calculation now happens based on 4 separate load cases #2067
PYT700: Fixed typo in bolt pretension template. Course-> coarse #2053
v 2.21.2 - 08-12-2023
Fix for dependent dropdown widgets when kernel is restarted #1989
v 2.21.1 - 29-11-2023
Make predefined references collect in a tuple and _folders_to_template be defined in a tuple . #1956
Workflow improvement . #1857
Added new PyTWD academy video: Hand calculations - formatter. #1848
PYT510: Widgetizing beam equation template and adding customizing function . #1777
PYT511: Widgetizing Deck strength template. #1675
PYT600: Improved padeye starter icon - Tribute to PIN. #1841
PYT600: Main branch of padeye improvements by Pin. #1582
PYT600: Insert Pin class into Padeye to padeye template as a tab. #1796
Release 2.21.0. #1864
Merge v2.21.0 back to develop. #1871
v 2.21.0 - 15-11-2023
Workflow notebook added as starter and improvements. #1857
Added new PyTWD academy video: Hand calculations - formatter. #1848
Fixed issue with markdown headers in variable groups. #1849
Improved padeye starter icon - Tribute to PIN. #1841
Add image/table of available dimensions of bolts in EDA. #1799
Added templates from V2.20.1 to be tested for backwards compatibility. #1847
Add formatter to EDA. #1791
Edit layout for widgets tabs. #1705
Adding custom profile to snippets. #1793
Formatter improvements (D( ) inside equation, snippet name, keyboard shortcut). #1713
Moves all old templates to backwards compatibility folder and fixes the generating intro section. #1772
Fix for _document_inputs mutations, template version and cells tags. #1706
PYT531: Fixed length/width warning and improved notebook readability. #1800
PYT600: Main branch of padeye improvements by Pin. #1582
PYT600: Add advanced input calculation to the backend. #1779
PYT600: Add advanced input tab to the frontend. #1769
PYT600: Insert Pin class into Padeye to padeye template as a tab. #1796
PYT700: Update reference in bolted connection template . #1781
v 2.20.1 - 20-09-2023
Hotfix v.2.20.1 - Fixed Ref not working with unpickling. #1648
v 2.20.0 - 19-09-2023
Add the automatically generated notebooks to Jupyter Launcher. #1599
Automatically generate notebook files for engineering templates. #1295
Finalize automatic generation of WindForce and BollaradPull notebooks. #1516
Automatic generation of CLC template with widgets. #1515
Added EC3 and EN as possible codes for yield reduction. #1632
Improving the order of terms in equations. #1536
Fixed wrongly assigned stress to UC in beam equations for clampedclamped. #1624
Fixed min_var and max_var not accepting math expression for the first term. #1623
Fix cref bug with label placement. #1539
Merge master to develop v2.19.3. #1618
Change the marker of references to be based on docnum and description. #1565
JAP and USA Profiles/Materials added to PyTWD. #1217
Increase number of CHS profiles available in the library. #1323
Added new CHS Profiles to EDA. #1562
Added LatexCode class and changed NoEscape to LatexCode in source code. #1522
Update the DNV codes to the correct year. #1537
PYT420: Fixed reference location on minipage. #1533
PYT531: Correcting combined plate buckling transverse UC and descriptions of UC of combined case. #1579
PYT550 Fatigue Life template - updated DNV reference. #1545
PYT550: Fixed the inconsistency naming in normal stress direction between printed PDF and PyTWD code. #1637
PYT551: Removed starter due to template methodology issue. #1549
PYT611: Fixed incorrect implementation of throat size symbols . #1627
PYT700: Update hole size values for small bolts in bolt template. #1544
PYT960: Added 4 variables to template 'values' attribute. #1629
v 2.19.3 - 10-08-2023
Added extra check to the write function in the database #1535
v 2.19.2 - 25-07-2023
Fix references based on Codes object #1501
v 2.19.1 - 07-07-2023
Fix quality gifs not being included in PyTWD install. #1470
v 2.19.0 - 05-07-2023
Add natural logarithm (ln) to standard imports. #1455
Added more gifs in a quality section of EDA. #1456
PyTWD Academy - Added new Jupyter usage notebook and instruction video. #1452
Update password for sending changelog.rst to docs.twd.nl. #1457
Allow images and gives to be displayed in jupyter directly from a Path. #1451
Added label and marker to subfigures. #1391
Allow references to be added to the allowable stresses function. #1322
Allow displaying of only an equation in a var group. #1337
Add shackle properties to EDA. #1308
Add descriptions for profile dimensions. #1321
Fixed autocomplete includes all the calcs variables in the db. #1441
Fix the assigned yield stresses to the thicknesses for EN code. #1437
Add science = True for variables with units mm3 and mm4. #1439
Addition of introduction figure width widget and predefined figure option. #1282
Add BoC parameters database dropdown in 'Input' tab . #1225
Add DNV-ST-N001 to references. #1361
Fixed symbol from x to z in Accelerations. #1436
PYT400: Change error assertion to warning message #1392. #1392
PYT510: Fix the bracket display problem . #1320
PYT521: Fix the hardcode ref issue in the buckling template . #1402
PYT600: Fixes shackle loading being shown even when no shackle selected. #1414
PYT600: Fix cheek type in padeye template. #1360
PYT600: Fix the W_x_33 naming issue in padeye template. #1403
PYT700: Fix the blue input issue in bolt template. #1395
Fixed unwanted revert of a master merge . #1438
v 2.18.2 - 02-05-2023
Fix attribute-based access of database and read logging for workflow. #1313
v 2.18.1 - 25-04-2023
Fix references section when header is added to VariableGroup. #1292
v 2.18.0 - 24-04-2023
PYT360: Fixed the references in the wind load calculation widgetized notebook. #1286
PYT420: Tp update for wave and current sheet . #1186
PYT486: Windage area calculation. #1136
PYT521: Add references section to 1D buckling template. #1000
PYT600: New Padeye starter logo. #1270
PYT611: Updated wingplate template with extra moment and weld type. #1095
PYT700: Added YouTube video to pretensioned bolt template. #1274
PYT960: Barge stability template (NEW). #840
Fix the descriptions for yield reduction. #1285
Fix bearing stress safety factor DNV LRFD/WSD-A/WSD-B. #1271
Added new PyTWD academy category. #1238
Created Python Basics notebook in Getting Started (academy). #1222
New PyTWD intro video in new PyTWD Academy. #1283
Revert how-to-variables category change. #1275
Fixes hidden cells error in clean Jupyter file. #1252
Added attribute-based notation for database reading and simplified writing. #1212
Fixed pickling for equation bug. #1266
Added calculation revision table (incl. snippet). #1224
Added ability to provide a list of references to a variable. #1223
Refactor widget writing to backend. #1106
Add datagrid to template widget . #1187
Fix store_widget_values so it does not overwrite snippet magic in cell . #1195
v 2.17.1 - 28-02-2023
Fixed multiple minor issues (add_text corner case, vargroup getter, EDA formulas MOI). #1191
v 2.17.0 - 27-02-2023
Added missing mod argument to docstring of Var class. #1162
Allow triple-quoted strings for add_text and handle linebreak issue properly. #1184
Testing pipeline merges develop branch in current branch. #1182
PYT615 Stopper template fix: added n_pl to section modulus under deck formula. #1175
Change videos in Getting started to notebooks. #1170
Implemented __repr__ method for Var and StringVar. #1178
Improve formatter by adding a standard column width and row height . #1114
Implemented additional LaTeX compilation error analysis to help with undefined control sequence. #1179
Raises an error when the filename is left empty for add_figure method. #1117
Removed Jupyter / Linux related content from the repository. #1173
Adding a common material library and EDA prototype. #1102
Textual update PinSteelGrade. #1176
Row height argument in Var can now have Quantity as input. #1078
Update PYT510 - beam equations backend to the latest style. #992
Extended D() to handle equation properly. #1101
Changed the pipeline to test on build package. #1093
Update kaleido in requirements.txt. #1158
Adds sections method to template customization with nice instructions. #1099
PYT421: Changed sea water to water in bollard pull calculation template. #1116
v 2.16.1 - 21-12-2022
Added ipydatagrid to setup.py requirements and __init__ for Bollard pull calculation module #1088
v 2.16.0 - 21-12-2022
PYT421 Bollard pull calculation template including stateful datagrid widget. #1027
Improved table calculation snippets for ease of use. #1057
Update references (DNVGL to DNV) in PYT551 Fatigue per loadcase. #1026
Added extra conversion to formatter: _and_ becomes ampersand symbol (&). #1083
Improved error handling for LaTeX compilation failure, template customization and invalid equations. #1067
Fix for CalcTemplate to automatically pick up references if initial reference list is empty . #1054
If statement fix in strength.py for thickness above 150 mm. #1076
Fixes for making the new cloud instance work (Pint downgrade and grffile package removal). #1020
Improve PYT600 padeye template equivalent stresses. #1065
Fixes BlueD being ignored by formatter. #1055
Updated standard decimals for moments (kNm, kNmm, etc) and inertia values. #1046
Watermark feature . #1052
v 2.15.5 - 09-12-2022
Hotfix for PYT615 Stopper calculation. #1064
v 2.15.4 - 28-10-2022
Fix tests for the PyTWD build. #1015
v 2.15.3 - 28-10-2022
Changed cloned PyTWD path to /srv/PyTWD0 #1012
v 2.15.2 - 21-10-2022
v 2.15.1 - 04-10-2022
Updates for compatibility with both jupyter-cloud.twd.nl and jupyter.twd.nl. #977
Simplified wind template with widget. #974
Fix errors in PYT611 - End plate with respect to weld continuity. #979
Redirect get_ultimate_strength of steel to get_ultimate_strength of Pin for backwards compatibility. #983
Moved PYT350 - LCD to the deprecated section. #982
Improved Profile Property snippets w.r.t. handling of Tab key. #981
PYT615: Stopper calculation. #636
Removed cdsdashboards configuration from release script. #973
v 2.15.0 - 28-09-2022
Improved BoC part of project starter. #970
Final fixes and improvements from release test. #969
Refactored and improved tests and updated requirements to fix package building. #953
Refactored and improved Profile class (Pythonic (No CSVs), typed with dataclasses). #939
Replaced section-based snippets for doc-based snippets. #963
Persistent widgets in jupyter notebooks. #942
Added plus and minus symbols to formatter. #958
Improved formatted rounding for decimal format (replace banker's rounding for engineering rounding). #902
Raise informative error on duplicate reference labels in reference list. #956
Added snippet with standard column widths for convenience. #955
Simplified list added to RFEM readout. #817
BoC updated to a class for compatibility with the Database. #925
Fixed load factor ULS-B, category E (from 1.0 to 1.3). #952
Bug fix: Values from the db not working with export to rfem. #945
v 2.14.2 - 02-09-2022
Hotfix 2.14.2. #930
v 2.14.1 - 01-09-2022
v 2.14.0 - 13-08-2022
Major changes:
Codes class added as library for referring to codes
Minor changes:
0 Add imports: Added BlueD, SteelGrades, EquationRepresentations
Added date and revision to report front page.
Added option to put None as caption for add_figure function
Added reference to Plate buckling template
Changed wave and current inputs in the notebook to dictionaries
Updated formatter with BlueD and it now skips attributes such as add_section
Snippet added for using Codes as reference
Other changes:
Added test coverage report in pipeline.
Profile snippet updated (m -> mass to avoid conflict with m for meter)
All doctests run in azure pipeline
Bug Fixes:
Changed calculation in wave and current notebook to support dict inputs
Search function fixed to match new projects folder structure
Changed symbol of design tension load in PYT700 - Pretension bolt template
S460 and S690 can also be used for the flanges used in bolt calculation template.
Note that the ultimate_strength has been replaced with the limiting_surface_pressure in bolt calculation.
For getting yield reduction and limiting_surface_pressure from strength the thickness must be a quantity and unit change is not necessary.
Jupyter Hub:
Updated cheatsheet to include ctrl-shift-D
Updated cheatsheet to include tab for autocomplete
Created load snippet magic class
Updated settings: no view toggle on ctrl-shift-D
Updated settings: no autocomplete pop-up without tab
PyTWD:
Default setting to only run pipeline when manually triggered.
Dictionaries implemented as input for D
Added error when tuple/list does not have 10 cells in VariableGroup
Templates:
Added padeye plotly plot to padeye notebook
PYT511 Deck strength webframe and stiffener - First version
Updated templates with dynamic import snippet
PYT700: Pretension bolt calculation - hard coded reference is replaced by Codes library
PYT600: Pin - hard coded reference is replaced by Codes library
PYT600: Padeye - hard coded reference is replaced by Codes library
PYT600: Padeye - added padeye plotly plot
PYT551: Fatigue per loadcase - hard coded reference is replaced by Codes library
PYT550: Fatigue life calculation - hard coded reference is replaced by Codes library
PYT400: DNVGL default motion criteria - hard coded reference is replaced by Codes library
PYT521: Buckling of 1D element - hard coded reference is replaced by Codes library
Updated all templates with dynamic import snippet
v 2.13.1 - 22-06-2022
Minor changes:
Starter labels Academy updated (video links)
All input values for table calcs will automatically change to orange.
Combined all python tests under one folder
Added single row height feature for Var, Stringvar, EnumVar, UC and Eq
Other changes:
Improved notebook testing approach to also include testing of customization cells.
Bug Fixes:
Spaces in CSV files are now handled more robustly for table calculations.
Jupyter Hub:
Add function in jupyter hub util to retrieve all .ipynb files with the TWD naming convention
Academy video starters logos updated and tutorial videos starter added
Templates:
PYT700: Pretension bolt calculation - refactored to new structure
PYT600: Padeye and pin - updated DNVGL -> DNV, fixed eccentricity issue, corrected factor 2 for pin fit
Updated header for all templates to use back-end function.
v 2.13.0 - 01-06-2022
Minor changes:
D, BlueD and dict method added to the Ref class object
BlueD added to variables.py
Bug Fixes:
Fixed issue with formatter and column_widths / row_height argument
Jupyter Hub:
Updated permissions for Projects and Personal-Folders
Added starter to create new project folder and shortcut in home directory
Jupyter Hub Developer Guides: - Guide on permission updates for Projects and Personal-Folders
PyTWD:
- Upgraded the formatter
Header that can be made bold, italic or underline
Added empty row
Able to add db or boc references as variables to var group
Able to rename variable groups
Added a standard doc.add_section when first run occurs
# pytwd: skip will make the formatter skip that line
Column widths and row heights can be passed to variable group
Templates:
PYT360 Wind load calculations: fixed filename and updated header
v 2.12.3 - 18-05-2022
Hotfix:
Fixed broken Markdown display of VariableGroup with new Jupyter hub version
v 2.12.2 - 28-04-2022
Major changes:
Improved table calculations to be more robust and intuitive
Extended table calculations with function-based elements and 2D / nested table approach
Added guided quickstart notebook
Minor changes:
Value color changed for midship if the location is calculated
Other changes:
pyt400: Case check added for ASD weather unrestricted cases
Bug Fixes:
Make RFEM parameter connections easier by automatically removing /
Remove duplicated safety factors in plate buckling template
Jupyter Hub:
jupyter-archive setting update to avoid 500 internal server error
Reduce table calculation how to
Removed unused snippets
Removed assertions from username map script
Removed isort from formatter
Documentation/Examples:
Added "Cool stuff" notebook to academy
PyTWD:
Make get_yield_strength/get_ultimate_strength functionality more easily usable
Allow "2D" table calculations, matching different geometries with multiple load cases
Allow passing of own element type to table calculations
Make table calculations based on functions
Allow table calculation results to be written to csv files
Make RFEM scraper more general
Connect RFEM scraper to table_calculations
Catch illegal symbols upon creation of Vars
Auto escape symbols upon creation of Vars
Allow min/max/sum_var to take multiple vars as positional arguments instead of a single list
Templates:
Added guided quickstart notebook
v 2.12.1 - 14-04-2022
Major changes:
Add ensure_enum fix
Add extension for UC to have not available
Add extension for UC to have references
Bug Fixes:
Fixed unit conversion bug
Fixed double spacing issue for filenames
Jupyter Hub:
Added update_starters.sh
Notebooks open now automatically when starter is chosen.
Deactivated Python Black.
Disabled annoying automatic signature hint.
PyTWD:
Add more explicit error to export_parameters when variables have duplicate names
Added the VariableGroupTableSpec
Templates:
PYT521: Buckling of 1D element
PYT531 Plate buckling - import and figure fix
PYT611 Wing and End plate - fixed wrong function name in customization
v 2.12.0 - 21-03-2022
Major changes:
CalcTemplates can now easily store values in a separate values attribute
Created a PyTWD formatter to speed up coding of calculations
Create new define class D to simplify definition of Eq, Var, StringVar, EnumVar, etc.
Restructured launcher
Added PyTWD Academy
Other changes:
Logical grouping of starters
Updated colors of icons to match theme colors
Bug Fixes:
Added parents=True to setup_dev_environment
Fixed key bug in create_starters for table calculations
Fixed the problem when a sqrt function is passed over a variable
Jupyter Hub:
Tests for starters
Snippets for scraping RFEM support reactions
Documentation/Examples:
HowTo template customization and usage updated
Jupyter Hub Developer Guides:
Updated release.md
Added upgrade_jupyter_lab.md
Added pypi.md
Created a setup_dev_environment.py for automatic dev installation from PyCharm on Windows
PyTWD:
Scraper for RFEM support reactions
Made option to merge tables together.
Table calculation can be transformed into plot graphs
Option to get summarized tables from table calculation.
Created new shorthand method to automatically convert to Var, Eq etc
Templates:
PYT400: Default motion criteria - refactored for customizability
PYT200: quickstart notebook
PYT202: empty notebook
PYT530: CLC factor - Refactored for customizability
PYT530: CLC factor - Supports value storage
PYT531: Plate buckling - Refactored for customizability
PYT531: Plate buckling - Supports value storage
PYT600: Updated padeye template to ensure new inputs are colored blue
PYT600: Padeye and pin templates support value storage
PYT360: Wind load calculation supports value storage
PYT611: Wing and end plates templates support value storage
v 2.11.2 - 28-02-2022
Bug Fixes:
Fix S460 and S690 yield strength at nominal thickness calculation
Fixed Padeye pdf x to z axis
v 2.11.1 - 21-02-2022
Bug Fixes:
Fix wingplate bug
Fix Warning logging
Fix ensure_value() for the new template setup
v 2.11.0 - 10-02-2022
Major changes:
Changed CalcTemplate class to new setup to support customizability
Other changes:
Added GN to common units
Jupyter Hub:
Updated generate_pdf snippet to include quality page option
Added ability to append quality page to reports
Ran migrator to update 2.10.1 to this version
Added snippet for creating checksheets
PyTWD:
Upgraded starter creation code.
Added ability to append quality page to reports
Created function to generate separate warning code documents
Added capability to prepend checksheets to reports
Created migrator for migrating notebooks to new versions of PyTWD
Templates:
PYT420 Wave and current - Added help for input and automatic input determination
PYT360 Wind load calculations - Refactored for customizability
PYT600 padeye calculation - Refactored for customizability
PYT600 pin calculation - Refactored for customizability
PYT611 wing and end plates - Refactored for customizability
v 2.10.1 - 26-01-2022
Other changes:
TEST NOTEBOOK moved to correct directory (tests)
Ignore print check added to (safetyfactors, yieldreduction, PYT310, PYT400)
Bug Fixes:
PYT400: Vessel class update to allow dict as input for midship
Jupyter Hub:
Add display functionality to BasicTables
Display tables generated by TableCalculations
Improved matplotlib snippet with plt.clf()
Added bold, italics, Frac, SubEq to import snippet
Improved matplotlib snippet with colors, linestyles and label
Enabled git credentials manager and caching for jupyter hub
Documentation/Examples:
Release searchable docs on the N-drive and have a shortcut in the getting started
PyTWD:
Add clear warnings on TableData input
Added ability to use inline equations in min_var, max_var and sum_var
Templates:
PYT611 Wing and end plates implemented
Fixed typo in PYT420 (Min. -> Max. design wave period)
Fixed missing project title in PYT510 Beam equations
v 2.10.0 - 12-01-2022
Bug Fixes:
Fix RFEM import of re
Padeye notebook: Added file name to pdf creation and added caption_intro_fig to input list
Fix table calculations not returning all results
Make standard inputs for table_calculations immutable
Preventing failure of tests by adding a random code to test files
Prevent [None] from showing up in table calc units
Fix formatting in table calculations when keeping units in the table
Add check for get_doc_details preventing autosaves from causing issues
Prevent [None] from showing up in table calc units
Jupyter Hub:
Included new snippet containing link to pyLaTeX's API
Added UC snippets
Section with add-ons snippets added
Keep UC colours in tables when doing table calculations
Search snippets added
Added snippet with all imports that may be useful
Variables with integer values now have 0 decimals automatically
Added snippet for revision section
Disabled "Code diagnostics" to improve performance for big notebooks
Documentation/Examples:
Added tips and tricks for AutoDoc documentation
Added tests for documentation
Updated getting started with revision section tutorial
PyTWD:
Added requirement in checklist for PR - visual tests for back-end development
Update get_doc_details to also work when multiple files are returned
Made PyTWD compatible with latest versions of sympy, pylatex and pint
Change page numbering to pg x of y in CalcDoc
Added ability to add revision table and tc page with add_revision_and_tc_page()
Added AdjustWidth environment
v 2.9.1 - 02-12-2021
Bug Fixes:
PadEye template: Shackle_f comparison with load
Add parbox to title to allow it to span the whole width of the document.
Additional vertical space only gets added once for the first page header.
Fixed bug in add_vertical_space with integer input.
Jupyter Hub:
Added variable inspector starter
Documentation/Examples:
Specify target_dir for HowTo 07.
Add variable inspector instructions to Howto Cheatsheet
PyTWD:
Run tests in parallel
Added function to display text and figure together in collapsible markdown
Added optional to have a table of contents or not
Added option to put text on the equation and unit cell in StringVar and EnumVar for variable groups.
Templates:
PYT700 Pretensioned bolt calculation, Rev1
v 2.9.0 - 18-11-2021
Major changes:
Updated template header and footers to latest brand requirements
Added write to database function
Variable group can now span multiple pages.
Other changes:
Renamed CalcGroup to VariableGroup everywhere.
- Major clean-up of repository, removed from pytwd folder:
marine
structural (except for YieldReduction and SafetyFactors)
general.loadcases.py
reporting.figures
reporting.documents
tools
widgets
Bug Fixes:
Fix bug preventing display of the Database when opening it for the first time
Fixed section spacing in minipage environment
Fixed bug in table numbering with ltablex package
Jupyter Hub:
Added fillet weld snippet
Added snippet for merging of pdfs
Added header to Basis of Calculations to warn people not to change the .py file
Added Database snippets
Added calc-code and revision to get_doc_details snippets
Added Warning Prototype demonstration notebook
Added snippet for equivalent stress calculation
Added snippet for getting common cross section properties
Documentation/Examples:
Explained latex_kwargs for Eq class in Howto Equations
Explained equation grouping with SubEq in Howto Equations
Added multiple practical hints (find/replace, shareable links, multi-cursor selection)
Fixed Bowser typo in snippets link
Add UC section to the workflow example
PyTWD:
Added find functions to conduct searches based on given search conditions
clean_jupyter_files.py works now with tags
Added option to have equations on the side.
Added table calculations that allow integration with CSV files
Added PyTWD MiniPage environment that includes container methods.
Added Partials for BlueVar, HiddenEq and SideEq
Added options to modify look in pdf
Database now saves the variable specifications (decimals etc)
Added a UC section which summarizes the UCs in that calculation (or all calculations) based on UCs in the database
Added database resetting and deleting functionality
Added quality prototype system
Replaced all warnings and errors with PyTWD warning and error subclasses
Templates:
PYT400 Motion criteria update: fixed mistake in cargo figure and added additional notes in notebook to guide user
PYT420 Update: added additional solver starting points for low wave heights to increase template robustness
Updated template header and footers to latest brand requirements
Add functionality to specify the figure width in the motion criteria template
Pyt600 Padeye DNVGL - Fixed error thrown for cheekplate when cheekplate is not there.
PYT530 CLC correction factor for plates, final version
PYT531 Buckling of plates 2.0
v 2.8.0 - 20-10-2021
Major changes:
New implementation of Workflow prototype: version 2! Faster, more robust, more intuitive.
Other changes:
Added unit testing for calculation snippets
Bug Fixes:
Allow for cheekplate to be 0 radius and 0 thickness
Fixed representation of beta in beta padeye notebook
Resolved snippet deprecation warnings
Fixed representation of beta in beta padeye notebook
Fixed version bumping script
Added color to passed Var attributes
Added super init to both fatigue templates
Jupyter Hub:
Added reference, paragraph, template customization, basic table, jupyter notebook header and additional import snippets
Removed extraneous break snippets
Added Howto Jupyter Snippets link to YouTube
Added functionality to BasicTables to set width and a separate first column
- Keyboard shortcuts added:
Restart and run all: Ctrl - Alt - Enter
Run all cell above: Ctrl - Shift - ArrowUp
Run all cell below: Ctr - Shift - ArrowDown
Getting doc details locally also uses the calc code
Added option to create config file for starters based on local paths (for development)
Renamed default doc name for fatigue-per-loadcase template
Documentation/Examples:
Update 09 Howto Template Customization (PyG009) for clarity
PyTWD:
Added function to get number of pages in a pdf file
Added wrong file warning for RfemResults class
Added colorbox function
Templates:
PYT360 Wind load calculation - added technical notes and comments
PYT201 Hand calculation - updated template
Pyt400 DNV-GL default motion criteria, final version
Pyt600 Padeye DNVGL
v 2.7.2 - 04-10-2021
Fixes
Fixed the padeye sheet for w_shack
Fixed filename util with exception in if-statement
v 2.7.1 - 29-09-2021
Fixes
Changed padeye icon
Added fatigue to starters
Moved fatigue images to backend
Fixed failing user notebooks
v 2.7.0 - 28-09-2021
Major changes:
Added new approach for template customization
Other changes:
ref and cref functions also accept LatexObjects and list of objects (for cref)
Separated reference section and reference list for more flexibility
Improved the way references are shown in the notebooks
Bug Fixes:
Fixed unit bug in workflow notebooks
Added display markdown for tables in general
Change snippet RFEM results import to long table, to handle large datasets
Keep cell hiding for notebook clean-up script
Added unit testing for snippets
Fixed markdown and data access for CalcTemplate
Change name of python file generated by BoC not to start with a number
Jupyter Hub:
Snippet reorganization
Added functionality to import .py files from different folders
Added functionality to run .ipynb files from different folders
Include newest version of pad-eye template
Archive package added with direct zip and download button from the file browser functionality.
Added Fatigue life and Fatigue per loadcase templates
Documentation/Examples:
Create Howto references
Created Howto Template customization
Recreated demonstration documents from engineering meetings
Added shortcut tip ctrl + I (show contextual help)
Getting started presentation added
Updated Howto Variables, Equations, Mathematics, and Reporting
Templates:
Pyt600 Padeye DNVGL - beta
Updated Pyt700 Pretensioned Bolt calculation
Pyt400 DNV-GL default motion criteria, draft version
v 2.6.0 - 06-09-2021
Major changes:
Side references can now be string, NoEscape, or labeled LatexObjects
Calculation set added to handle multiple calculation of the same template
Improved reference system to be more robust by automatically propagating references and leaving the numbering up to the LaTeX compiler
Other changes:
Auto-labeling of common LaTeX items (figure, table)
Changed RVS material type (roestvrij staal) to SS (stainless steel)
TWDBasicTable (add_basic_table) has been updated with a Jupyter notebook display option
Automatic simplification of units based on their derived SI standard (MPa, kN, kNm, Hz, unitless)
Added unit and magnitude property on top level of Var
Deprecated:
add_refsection is deprecated and replaced for add_reference_section
calculation.py and its classes Result, Calculation,
Bug Fixes:
Fixed UC color bug.
Fixed string for target_dir bug (for generate_pdf)
Jupyter Hub:
Updated workflow example to make more structured workflow diagrams
Created RFEM parameters snippet
Created RFEM post-processing snippets
Created import snippet with reload for BoC
RFEM Excel updating for loads snippet
RFEM Excel table generator snippet
Improve get_doc_details to also work when notebooks are executed in a workflow
Added automatic copying of snippets with release script
Documentation/Examples:
Added basis of calculations (BoC) to gallery and starters
Snippet added to add a reference section
PyTWD:
Added option to change the color of the values.
Make EnumVar and String use Multicolumn in CalcGroup.
Templates:
PYT420 Wave and current - First version
PYT360 Wind load calculations - First version
v 2.5.1 - 20-08-2021
Other changes:
Optional argument to show a long equation over two rows in a CalcGroup
Optional argument to hide an equation in the CalcGroup for Eq and UC
Bug Fixes:
Check and keep unity checks (UC class) dimensionless.
Fixed missing file check with suffix mismatch.
Fixed Markdown and CalcGroup representations of references.
Check and keep unity checks (UC class) dimensionless
Fixed failing tests on Linux/Ubuntu.
Fixed messed up units for UCs and unitless values.
Jupyter Hub:
Updated configuration of LaTeX extension to run multiple times and with pdflatex command.
Templates:
PYT550 - Fatigue damage calculation
PYT550 - Fatigue per loadcase
v 2.5.0 - 12-08-2021
Major changes:
CalcGroup has been completely restructured - backwards compatible
Added notebook representations for commonly used objects (Var, Eq, UC, StringVar, EnumVar, CalcGroup)
Other changes:
Report and CalcDoc now support capital greek letters
Report front page now aligns with the latest TWD template
Header images replaced with vector files - higher quality
Updated tests to reflect latest PyTWD classes and functions
Removed style option for Equations
Var, Eq and UC descriptions will now, as a standard, not escape in latex
Improved handling and overwriting of attributes in variable objects (StringVar, EnumVar, Var, Eq, UC)
by passing dictionaries - Width of side values column (and whitespace column) can now be controlled in CalcGroup.
Bug Fixes:
Updated failing reporting tests for tabu and tabular
When using the latex option 'text' along with trailing underscores 'text{a_b}' python runs into an infinite loop. This
will now raise an error specifying that the correct syntax 'text{a_b}' is required. - Fixed Jupyter notebook print-out bug when user specifies output filename that is different than notebook name. - Fixed keyboard shortcuts to be persistent from Jupyter lab 3.1 onwards.
Documentation/Examples:
Added elaboration on how to use positioning for figures
v 2.4.1 - 12-07-2021
Hot fixes:
Fixed issue with references
Fixed issue with unicode character ^0.5
v 2.4.0 - 02-07-2021
Major changes:
Report and CalcDoc classes inherit from one container methods class allowing all methods to be used in both.
Other changes:
Text now supports LaTeX environment wrappers
LaTeX commands can now be used to cause breaks
Added Hertz (Hz) to common units.
Headers and footers are now controlled by code not by cls files
Text no longer relies on vertical spaces. Spacing is done properly by LaTeX
Included a standard nomenclature which can be added to reports or altered
Increased the size of the multiplication symbol (cdot -> bigcdot).
Allowable stress additional tag input to differentiate between set of allowable stresses
Overhaul decimal / scientific notation
Streamlined and improved signatures of Eq and Var classes
Included new visual tests for developers.
Deprecated:
add_pagebreak() deprecated to add_clearpage()
add_calculation_checksheet now named add_checksheet
Bug Fixes:
Yield reduction <= updated to the upper bound
Unit for Eq classes are not updated to the input unit
Jupyter Hub:
Improved user update script and fixed bug with users that have special characters in their name.
Installed ContainDS Dashboards to publish Voila, Dash, and Streamlit apps.
Documentation/Examples:
PyG008 - HowTo for LaTeX environments and Commands
Extended HowTo Reporting with Report class example
Jupyter Hub Developer Guides:
Guide for installation and configuration of ContainDS Dashboards.
Templates:
All templates can now add either a report checksheet or calculation checksheet
PyT382: Multiple layout adjustments
PyT383: Monopile stability
PYT600: Padeye GL version implemented and quality checked
v 2.3.3 - 16-06-2021
Hot fixes:
Fixed issue with margin alignment
v 2.3.2 - 15-06-2021
Hot fixes:
Jupyter notebook printout excluded pdf. Corrected to include all docs
Updated snippets
v 2.3.1 - 15-06-2021
Hot fixes:
Column widths in CalcGroups not forwarded correctly.
Basic table position change to H.
Templates:
PYT602 Pad eye and pin calculation: GL version implemented
v 2.3.0 - 11-06-2021
Major changes:
Report class is now fully latex compatible
CalcDoc class is now fully latex compatible
New class Value to add constants and quantified values in equations.
New class Frac to control fractions in equations better.
other changes:
Added additional common unit: kPa and tests for common units
Added more tests for the padeye sheet
Added full test coverage for latex compatibility
Deprecated:
write_pdf() of report has been renamed to generate_pdf()
Jupyter Hub:
Improved kernel creation script.
New keyboard shortcut to rename files: "F2"
Added snippets
Templates:
PYT602 Pad eye and pin calculation: Updated based on NC of new padeye Excel template.
PYT950 Friction Tests Notebook
v 2.2.0 - 26-05-2021
Major changes:
Reporting capability has been completely overhauled to be fully compatible with pylatex and to drastically reduce
PyTWD's code base (example: integrity_report.py is reduced by ~2000 lines).
Bug Fixes:
Periods and round brackets are now supported in symbol of Var
Jupyter Hub:
Fully automated the script to collect latest users with MS Graph.
Created scripts to create and manage shared folders.
Created script to create and manage starters.
Documentation/Examples:
Extended HowTo guides based on user feedback.
Uploaded getting started video and added link to video on hub.
Jupyter Hub Developer Guides:
New installation guide for full reinstallation.
Templates:
PYT801 Saddle settings tool - automatic determination of adjustable MP saddle settings
PYT350 LCD - first fully approved version for jackets and boxes, including 3- and 4-point support reactions
PYT382 Monopile integrity - Monopile integrity now based on new report layout
PYT510 Beam equations - final checked version of the template
Scripts for Jupyter hub including readme: delete_folder.sh, unzip_folder.sh, zip_folder.sh
v 2.1.1 - 06-05-2021
Hotfixes:
Changed token for notebook filename determination.
v 2.1.0 - 30-04-2021
Other changes:
Autodoc now possible - no need for manual wiki generation
Margin can now be removed for pdfs
Added additional common units: liter, minute, hour, joule, kJ, MJ, bar, rev, kW, MW, kgf, tonnef, percent
Added common numbers: g (gravitation acceleration) and pi
Added option to ignore variable for printing
Side margin can now be removed for calculation documents (CalcDoc)
UC class can now be put directly in a variable group
New EnumVar class to also end up nicely in variable group
Improved StringVar to also end up nicely in variable group
Added Enums LoadDistributions, PadeyeTypes, WeldTypes
MP integrities now support more user control for images and sections
Brought dev mode argument to write_pdf and removed it as CalcDoc class input.
Autodoc for Hub included - zip file will be generated and source files included.
Bug Fixes:
PYT600 Pad eye: Corrected W_y_w determination (mistake in original sheet).
Calculation flow: fixed handling of files with spaces in filename.
Jupyter Hub:
Support creation of shared folders
Documentation/Examples:
PyG007 - HowTo Reporting
Read The Docs
Jupyter Hub Developer Guides:
New guide: creation of shared folders (shared_folders.md)
Templates:
PYT203 Iteration - created prototype notebooks in Gallery
PYT382 Monopile Integrity - Updated to allow customization
PYT600 Pad eye: first implementation added, extended tests
PYT700 Pretensioned bolt calculation: beta version
v 2.0.0 - 09-04-2021
PyTWD has been overhauled to now run on Jupyter Hub. Users can access PyTWD through jupyter.twd.nl.
Major changes:
Jupyter Hub package added
iPython Notebooks host PyTWD templates on Jupyter Hub
PyTWD getting started/documentation are now Notebooks on Jupyter hub
Base template for all templates built on properties
CalcDoc, CalcSection etc. now inherit from LaTeX Mixer allowing for access
to all LaTeX functionality - All latex based functions use generate_latex() - Tables are now called variables_group() normal float, int, str tables can now be added easily
Other changes:
SubSubSections now supported
Vars and Eqs supports positional arguments
UC can be added without calling UC object
Decimals are automatically set for certain units (can be altered)
PyTWD maths created for min, max and sum
Write pdf allows for quality printout + jupyter printout
All LaTeX syntax supported
Refactoring of folder layout
Jupyter notebook tests included
More control over table layouts
Reports updated to new house style
Var and Eq printouts to screen available directly in Jupyter environment
References auto gather when using the new template structure
Multitude of error catching included to assist in report debugging
Footer included in report with version
Warnings included for printing, property overriding
Update to Project signature
All images and paths now use Path and no longer rely on str syntax
Deprecated:
MaterialFactors - New Yield Reduction can be found: pytwd.structural.materials.yieldreduction
SafetyFactors - New Safety Factors can be found: pytwd.structural.materials.safetyfactors
Bug Fixes:
ul (unitless) no longer needs to be specified
Dev option for write pdf will always write out tex even if pdf fails
Documentation/Examples:
PyG001 - ReadMe
PyG002 - Quickstart
PyG003 - Cheatsheet
PyG004 - HowTo Variables
PyG005 - HowTo Equations
PyG006 - HowTo Mathematics
Workflow Example
Mampaey Project Example
Jupyter Hub Developer Guides:
Azure Authentication
Change Root Directory
Culling Notebook Servers
Environment Variables
Git
Kernels
Keyboard Shortcuts
Launcher
Package Installation
Putty
Server Adjustment
Settings
Update Users
Update Versions
Package building
Templates:
PyT310 - Allowable Stress
PyT320 - Profile Library
PyT382 - Monopile Integrity
PyT510 - Beam Equations
PyT530 - CLC Correction Factor For Plates
PyT531 - Buckling of Plates
PyT630 - Welds
v 1.2.0 - 09-10-2020
Included monopile template reporting
Included examples to project reporting
Monopile integrity linked with Jupyter
DirConfig for configuring latex directories
PyEngineering project included
Container seafastening project included as example
Reporting now supports additional UCs
v 1.1.2 - 17-08-2020
Cross section stress support polar moment
Matplot for padeyes
Update to layout of engineering format
Bugs in iteration classes fixed
First run at JUPYTER
Min max now supports output: min{var1; var2}
Bugs fixed in UC
MP Integrity template added
New ReportDoc class created to support BoD's
Uplift clip template included
CLC Factor template included
v 1.1.1 - 11-05-2020
LCD Seafastening added to templates
Update to stress calcs - update to naming
Project example included
Added wingplate with bottom flange
Update to padeye - now supports materials, uc and is more generic
Shorthand notation for Vars and Eqs added
- Included iteration examples
Simple iteration
Iteration with iteration imbedded in calcflow
Loadcase iteration
v 1.1.0 - 23-03-2020
Bolt template inkscape images
Bolt template released
Imperial units conversion
Git moved to Azure
Material factor now supports connections
v 1.0.5 - 06-03-2020
Improved layout of 1D buckling
Improved bolt calculation
Included unittests
Stoppers now supports multiple backplates
Added single wingplate with flange
Temp files now copy over images as well
Temp folder to save all pdfs before pushing back to directory
v 1.0.4 - 26-02-2020
- Bug fixes:
PyTWD min and max now supports dimensionless element comparison
Fixed reference issue with cross sections - hollow sections working again
Side figure alignment possibility added
Added table layout for reporting
Added standard wing plate template
Added standard stopper template
Added standard angle bar (holding bar) template
Added standard 1D element buckling template
Added standard plate buckling template
Report now looks for duplicate figure and only prints one per calc sheet
Update to fillet weld class
Added LC example with overview table
v 1.0.3 - 07-01-2020
- Bug fixes:
Sqrt function now supports square roots which are not only the whole equation
; and , can now be used in equation names
References no longer display on all documents (display variable should be set)
Added loadcase example
Added triple span beams
Wiki installation procedure updated, added LaTeX symbols link to FAQ sheet
Var now inherits from the Dummy class
v 1.0.2 - 18-12-2019
Updated the Ref object to allow strings and automatically make reference list
Added the UC with three possible positions: sidemargin, below, inline
Added examples for both
v 1.0.1 - 13-12-2019
Updated warnings of used items which are not printed.
Ref addition to variables - table prints at the top of the report
Added padeye feature
Added material reduction factors
Added AISC addition to safety factors
Added Ameplmann motion analysis
v 1.0.0 - 06-12-2019
Added new cross-sections to library
Added beams to library
Added fillet-weld template
Added stress analysis for cross-sections
Added custom min/max for equations and variables
Added standalone unity check
Added a check to ensure units haven't changed from their original state
Update to installation documentation - Strawberry installation
Documentation for cross sections
Overhaul of API documentation layout
Square root replacement which supports the assignment of square roots to Eq and Var
Added UML documentation
All example calculations updated
Added unit testing to ensure passed units are of expected type
Added engineering notation for Var and Eq
Added template for padeye calculations
Added integration for cross-sections and beams
Reporting module updated to be more user friendly
v 0.1.4 - 15-08-2019
Removed the automatic import of marine
Fixed the import path for .cls and pictures of latex template
Fixed the overfull hbox error while generating latex files
Changed compiler from pdflatex to latexmk for running latex multiple times (page numbering)
Added pagenumbers
Added warning for none printed variables
Fixed header spacing
Added unity check in the reference column
v 0.1.3
Added all Marine tools to the PyTWD package
Added 1-layer to the documentation tree, to divide Structural / Marine.
v 0.1.2
Added a line break (n) and page break (sec.add_pagebreak()) functionality, see docs for more explanation
Changed the standard multiplication sign to dot
Added kg and tonne to the standard units
Added the option to specify the number of decimals to a Var(decimals=2) or Eq(decimals=5), default is 0.
- Added two functions to table to modify the dimensions:
table.set_row_height(2), default is 1.25
table.set_table_spec(name_width='35mm', symbol_width='5mm', unit_width='26mm', ref_width='36.5mm'), defaults as shown. You can specify one, more or zero.
Added the subsection (subsec = sec.add_subsection(‘Subsec welds’). All the functions for the sec are available for subsec as well (add_text, add_figure, add_table)
Added the dimensionless quantity to be automatically recognized. Can be added manually by multiplying with ‘ul’ ¬(unitless unit) as this is also common in Inventor.