Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Bug when Creating Bars in ETABS21 #483

Closed
wants to merge 79 commits into from

Conversation

GCRA101
Copy link
Contributor

@GCRA101 GCRA101 commented Oct 28, 2024

Issues addressed by this PR

Closes #482

Push to ETABS - Success - VS View

Push to ETABS - Success - ETABS View

ETABS Toolkit now able to push bars to ETABS 21 by skipping not-working API function by using a new Debug21 Configuration.

Test files

Grasshopper File
https://burohappold.sharepoint.com/:u:/r/sites/BHoM/02_Current/12_Scripts/02_Pull%20Request/BHoM/ETABS_Toolkit/%23483-FixBugWhenCreatingBarsInETABS21/BHoM%207.3.1%20Test%20-%20Bar%20Object%20Push%20to%20ETABS%2021%201.gh?csf=1&web=1&e=LaeSMJ
ETABS File
https://burohappold.sharepoint.com/:u:/r/sites/BHoM/02_Current/12_Scripts/02_Pull%20Request/BHoM/ETABS_Toolkit/%23483-FixBugWhenCreatingBarsInETABS21/Test%20ETABS%20Model.EDB?csf=1&web=1&e=boM6fg

Changelog

  • Added new configurations Debug21 and Release21
  • Used new configurations to skip ETABS 21 API function not working

GCRA101 and others added 30 commits August 12, 2024 11:50
Since Area objects have the diffload defined in the 3-3 Axis, the corresponding
Type Number is 3...not 2.
In line with what already done with PierForce
Co-authored-by: Peter Nugent <Peter.Nugent@burohappold.com>
Co-authored-by: Peter Nugent <Peter.Nugent@burohappold.com>
Co-authored-by: Peter Nugent <Peter.Nugent@burohappold.com>
No Von Mises Flexural Moment gets extracted since it's not a direct output given by ETABS.
It could be possibly computed within the BHoM in case it's required.
The Von Mises Moment is not returned by ETABS natively and it must be computed directly in the BHoM from the Von Mises stresses diagram.
Duplication removed.
Thickness of panels is extracted differently depending on the type of deck/slab/wall section property assigned to the panel.
The ETABS API provides different functions for each of their types and they must be all called somehow until the correct one gets hit.
The control parameter is the integer ouput ret of the ETABS API functions (0=Worked Fine, 1=Failed)
Rather than moving each node one by one, all nodes are grouped into different buckets based on same movement in x/y/z direction.
In this way, it is possible to call the .move() method on multiple nodes rather than on a single node at the time.
This makes the algorithm much faster taking advantage of the pros of the Hash Tables data structure.
@GCRA101
Copy link
Contributor Author

GCRA101 commented Nov 5, 2024

@peterjamesnugent, I've added the new ETABS 21 Release to the Installer. Below the link to the Pull Request
BHoM/BHoM_Installer#227

@peterjamesnugent
Copy link
Member

@GCRA101 as discussed to add altconfigs to installer and update preprocessor directives to #if Debug21 || Release 21 etc.

@Chrisshort92
Copy link
Contributor

@BHoMBot check installer

Copy link

bhombot-ci bot commented Nov 25, 2024

@Chrisshort92 to confirm, the following actions are now queued:

  • check installer

@Chrisshort92
Copy link
Contributor

@BHoMBot Check Installer

Copy link

bhombot-ci bot commented Nov 25, 2024

@Chrisshort92 to confirm, the following actions are now queued:

  • check installer

Copy link

bhombot-ci bot commented Jan 9, 2025

@GCRA101 just to let you know, I have provided a check-installer result to this Pull Request as it was detected to be linked to other Pull Requests in a series. The comment which triggered this check came from @BHoMBot on BHoM_Installer

1 similar comment
Copy link

bhombot-ci bot commented Jan 10, 2025

@GCRA101 just to let you know, I have provided a check-installer result to this Pull Request as it was detected to be linked to other Pull Requests in a series. The comment which triggered this check came from @BHoMBot on BHoM_Installer

Copy link
Contributor

@IsakNaslundBh IsakNaslundBh left a comment

Choose a reason for hiding this comment

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

I had a look into this and although a separate build configuration could help resolve this problem, it is something I think we want to stray away from as much as possible. Ideally there should not be any separate build configurations at all except debug and release.

Reason it has been done before was out of neccesity though to different names of the ETABS api dlls, and change on method interfaces that required these directives to go everywhere, but as this is not the case now, I think we rather solve this runtime than compile time.

Instead of adding this additional configuration, and all compiler directives that comes with it, I think we can simply get out the version of the currently runnign ETABS model. Had a first check, and

                string modelVersion = "";
                double doubleVer = 0;
                m_app.SapModel.GetVersion(ref modelVersion, ref doubleVer);

Is giving back the version of the currently running model. We can extract this in the constructor of the ETABS adapter and store it, and then simply have a normal if statement at the position in the code that is causing the problem (think it was insertion points for Bars if I am not mistaken).

image

image

Also, not sure exactly what has happened to this branch, but it is currently looking like it is containing commits from more or less everything that has gone in to develop since the past 3 months which makes it impossible to review unfortunately, so would suggest starting fresh from a new branch from develop and get the code fix added to that branch, with the suggested chage from here as well, basically, start from scratch with a new PR and branch, lift over the parts you need, then delete this PR and branch.

Happy with a quick call about this if it helps.

@GCRA101
Copy link
Contributor Author

GCRA101 commented Jan 20, 2025

@IsakNaslundBh , @peterjamesnugent ,
thanks a lot for your comments and your inputs.

I've created the new branch incorporating the above at the following link: #487

@GCRA101 GCRA101 closed this Jan 20, 2025
@GCRA101 GCRA101 deleted the ETABS_Toolkit-#482-FixBugCreatingBarsETABS21 branch January 20, 2025 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Error or unexpected behaviour
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Bug when Creating Bars in ETABS21
5 participants