Skip to content

Fix Connection modules design logic, report calculations, and input handling (IS 800:2007) - #4

Open
nishikantmandal007 wants to merge 1 commit into
osdag-admin:mainfrom
nishikantmandal007:fixes/connection_modules
Open

nishikantmandal007 wants to merge 1 commit into
osdag-admin:mainfrom
nishikantmandal007:fixes/connection_modules

Conversation

@nishikantmandal007

@nishikantmandal007 nishikantmandal007 commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

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.

…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
@AjinkyaDahale

Copy link
Copy Markdown
Collaborator

For future reference, this is related to osdag-admin/Osdag#486 (@nishikantmandal007 please correct if I'm wrong).

@nishikantmandal007

Copy link
Copy Markdown
Contributor Author

For future reference, this is related to osdag-admin/Osdag#486 (@nishikantmandal007 please correct if I'm wrong).

Yes

@AjinkyaDahale AjinkyaDahale left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 []

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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"
)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hover text is all GUI. However, it may be reused in web. Any opinion @parthckaria?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants