Skip to content

Conversation

@GerjanDorgelo
Copy link
Contributor

@GerjanDorgelo GerjanDorgelo commented Nov 18, 2025

Description

Define internal forces class with coordinate system for all strength stability checks

Fixes #831

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist:

  • I have added tests that prove my fix is effective or that my feature works
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • New and existing unit tests pass locally with my changes

@GerjanDorgelo GerjanDorgelo self-assigned this Nov 18, 2025
Copilot AI review requested due to automatic review settings November 18, 2025 09:22
@github-actions
Copy link

Thank you so much for contributing to Blueprints!
Your contributions help thousands of engineers work more efficiently and accurately.

Now that you've created your pull request, please don't go away; take a look at the bottom of this page for the automated checks that should already be running. If they pass, great! If not, please click on 'Details' and see if you can fix the problem they've identified. A maintainer should be along shortly to review your pull request and help get it added!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces a new LoadCombination dataclass to represent load combinations for strength and stability checks with a well-defined coordinate system. The implementation establishes a standardized way to handle structural loads across different axes.

Key Changes:

  • New LoadCombination dataclass with 6 load components (normal force, shear forces, bending moments, and torsion)
  • Comprehensive coordinate system documentation with ASCII diagram and sign conventions
  • Complete test suite covering initialization, negative/zero values, equality, and hashability

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
blueprints/checks/loads/load_combination.py Defines the frozen LoadCombination dataclass with coordinate system documentation and type-annotated force/moment attributes
blueprints/checks/loads/__init__.py Adds package-level docstring for the loads module
tests/checks/loads/test_load_combination.py Implements comprehensive test coverage for LoadCombination functionality
tests/checks/loads/__init__.py Adds package-level docstring for test module

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Nov 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (0be46f2) to head (292345c).
⚠️ Report is 14 commits behind head on 840-feature-request-add-first-steel-check-to-blueprints.

Additional details and impacted files
@@                                    Coverage Diff                                    @@
##           840-feature-request-add-first-steel-check-to-blueprints      #834   +/-   ##
=========================================================================================
  Coverage                                                   100.00%   100.00%           
=========================================================================================
  Files                                                          393       395    +2     
  Lines                                                        12116     12155   +39     
=========================================================================================
+ Hits                                                         12116     12155   +39     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI review requested due to automatic review settings November 18, 2025 11:13
Copilot finished reviewing on behalf of egarciamendez November 18, 2025 11:16
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Nov 18, 2025

@egarciamendez I've opened a new pull request, #835, to work on those changes. Once the pull request is ready, I'll request review from you.

…lass-with-coordinate-system-for-all-strenthstability-checks


@dataclass(frozen=True)
class LoadCombination:
Copy link
Contributor

Choose a reason for hiding this comment

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

I like the idea of having a container for internal forces when performing trength or stability checks. 👍
As "naming things" is one of the hardest things in CS, I think that the name is misleading. Load combination has a different meaning in the context of civil / structural engineering and according to the Eurocode. Perhaps using the terminology of Scia would be a good idea. Here are some alternative suggestions:

InternalForces
InternalForces3D
BeamInternalForces (as opposed to plate internal forces)
...

Copy link
Member

@egarciamendez egarciamendez Nov 22, 2025

Choose a reason for hiding this comment

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

SCIA and other software company's have joined forces long before Blueprints to try and solve this problem. We shouldn't try to reinvent the wheel.
afbeelding

afbeelding https://www.saf.guide/en/stable/

In other words, I think we should follow SAF for this kind of things.

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh cool stuff! let me work on this then :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I kept the structure as a class as was done before, but now with all parameters as SAF guides us. Discussion point: SAF has many input as required. for us that could mean its just default 0 or empty string. I think from a user perspective its nice to be able to ResultInternalForce1D(N=4), without having to specifiy all other parameters. you can if you want to of course.

please note: result_for is now presented as string. in a future that should be connected to the LoadCase or LoadCombination class. But as that doesnt exist yet.. string it is.

@GerjanDorgelo GerjanDorgelo changed the title 831 feature request define loadcombination class with coordinate system for all strenthstability checks 831 feature request define internal forces class with coordinate system for all strenthstability checks Nov 23, 2025
@GerjanDorgelo GerjanDorgelo changed the title 831 feature request define internal forces class with coordinate system for all strenthstability checks 831 feature request define internal forces class with coordinate system for all strength and stability checks Nov 23, 2025
…1D class and tests, remove LoadCombination class and related tests
…oordinate-system-for-all-strenthstability-checks' of https://github.com/Blueprints-org/blueprints into 831-feature-request-define-loadcombination-class-with-coordinate-system-for-all-strenthstability-checks
Copilot AI review requested due to automatic review settings November 23, 2025 09:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…, add ResultInternalForce1D with updated structure and validation
Copilot AI review requested due to automatic review settings November 27, 2025 18:14
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@GerjanDorgelo GerjanDorgelo changed the base branch from main to 840-feature-request-add-first-steel-check-to-blueprints November 27, 2025 18:19
…' into 831-feature-request-define-loadcombination-class-with-coordinate-system-for-all-strenthstability-checks
@GerjanDorgelo GerjanDorgelo merged commit 2b5e218 into 840-feature-request-add-first-steel-check-to-blueprints Nov 27, 2025
6 of 7 checks passed
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.

[✨ Feature request]: define internal forces class with coordinate system for all strenth/stability checks

4 participants