Fix Connection modules design logic, report calculations, and input handling (IS 800:2007) - #4
Open
nishikantmandal007 wants to merge 1 commit into
Conversation
…andling (IS 800:2007) - Butt Joint (Bolted & Welded): - Correct cover plate thickness formula (double cover 5/8 x Tmin, single cover 9/8 x Tmin) - Show explicit Ag and An calculation steps in Base Metal Capacity report - Remove incorrect shear lag factor (beta=0.7) for flat plates in Tdn calculation per IS 800:2007 Cl. 6.3.1 - Fix effective weld length formula in report (2s deduction per Cl. 10.5.4) - Restore and enforce packing plate detailing preference per Cl. 10.3.3.3 - Override refresh_input_dock to prevent missing child widget errors - Lap Joint (Bolted & Welded): - Fix fub display and shear capacity reporting (400 MPa for property class 4.6) - Correct Tdn formula to remove shear lag factor for flat plates and scale units to kN - Fix beta_lg formula parentheses precedence and enforce beta_lg <= beta_lj - Enforce bolt revalidation after applying capacity reduction factors - Remove legacy 70s maximum weld length limit per IS 800:2007 Cl. 10.5.7.3 - General: - Add safe dictionary access (.get()) in design_type/main.py - Safely parse mu_f with default fallback in component.py
Collaborator
|
For future reference, this is related to osdag-admin/Osdag#486 (@nishikantmandal007 please correct if I'm wrong). |
Contributor
Author
Yes |
AjinkyaDahale
requested changes
Sep 3, 2026
AjinkyaDahale
left a comment
Collaborator
There was a problem hiding this comment.
The aim of osdag-core is to be independent of any GUI elements, and serving as the core for both desktop and web interfaces. So towards this, ensure that no GUI assumptions are made.
| def refresh_input_dock(self): | ||
| # Butt joint has no section-designation fields; skip Connection's default refresh | ||
| return [] | ||
|
|
Collaborator
There was a problem hiding this comment.
This seems GUI related.
Comment on lines
413
to
418
| self.hover_dict["Cover Plate"] = ( | ||
| f"<b>Cover Plate</b><br>" | ||
| f"Length: {round(float(self.platec.length), 2) if flag and self.platec.length else ''} mm<br>" | ||
| f"Width: {round(float(self.platec.height), 2) if flag else ''} mm<br>" | ||
| f"Thickness: {round(float(self.platec.thickness_provided), 2) if flag and self.platec.thickness_provided else ''} mm" | ||
| ) |
Collaborator
There was a problem hiding this comment.
Hover text is all GUI. However, it may be reused in web. Any opinion @parthckaria?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The major problems were related to unsupported or incorrectly implemented formulas, unclear calculation details for parameters such as Ag, An, and lw, incorrect weld effective-length notation, inappropriate shear-lag and weld-length limitations, and improper treatment of HSFG bolt inputs. In addition, several Additional Input options caused application crashes due to missing or empty dictionary values and unbuilt tabs. The implemented resolutions focused on adding safe input handling and defensive checks, correcting calculation logic to align with IS 800:2007, removing unsupported assumptions, and improving the design report by explicitly showing the relevant calculations and formulas.