BHoM / GSA_Toolkit

GSA tools and methods for use in other applications and repositories
GNU Lesser General Public License v3.0
5 stars 2 forks source link

Pull and push Rigid constraints #297

Closed TosteSkDa closed 1 year ago

TosteSkDa commented 1 year ago

Added feature to read, pull and push rigid constraints from/to GSA. RigidConstraints are treated by BHoM as a RigidLink but with a added Fragment that tells GSA that it is a RigCon instead. Previously added unique methods for RigCons have been removed and this is now an adjustment to existing Rigid Link methods.

NOTE: Depends on

Issues addressed by this PR

Closes #296

Test files

https://burohappold.sharepoint.com/:f:/r/sites/BHoM/02_Current/12_Scripts/02_Pull%20Request/BHoM/GSA_Toolkit/%23297-Pull%20and%20Push%20Constraints?csf=1&web=1&e=fDky6R

Changelog

Additional comments

peterjamesnugent commented 1 year ago

I have reviewed using the test script for 8.7 and 10.1, the Read works fine when the RigidLink (both Links and Cosntraints) have 1 node : 1 node relationships - the push also works for both.

However, when pushing a RigidLink (that is a GSA Link) with 1:n relationship, it needs to create several Rigid Links with the same name - this is problematic when pulling back as the Nodes are not pulled correctly.

Appears that the issue is pushing a RigidLink with 1 : n relationship, as it results as duplicates: image

This has been fixed with my changes.

Artem-Holstov commented 1 year ago

Review summary: No new issues found in tests. Rigid links and rigid constraints push and pull functions work as expected.

Comments: GSA8.7 does not start automatically when the adapter is activated. The start model needs to be open in GSA separately before activating the adapter. In the initial tests, pushed rigid constraints did not appear in GSA. After rerunning the same process, the push function worked as expected. GSA8.7 was generally very unstable and prone to crashing in the tests. Hence, the initial glitch with pushing the RCs may be attributed to GSA8.7 and not the updated BHoM code. None of the above issues were observed with GSA 10.1.

Features tested: Pull existing -> push/update -> pull updated functions tested for rigid links and rigid constraints with GSA 10.1 and 8.7 using test script. Pushed and pulled data was cross-checked between GH and GSA and logged in Excel. Note the location of rigid links in the starting models was different between the files tested in GSA10.1 and GSA8.7. The script functions as expected with both starting models.

FraserGreenroyd commented 1 year ago

@BHoMBot check compliance @BHoMBot check required

bhombot-ci[bot] commented 1 year ago
@FraserGreenroyd to confirm, the following actions are now queued: - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `branch-compliance` - check `dataset-compliance` - check `copyright-compliance` - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `core` - check `null-handling` - check `serialisation` - check `versioning` - check `installer`
bhombot-ci[bot] commented 1 year ago
The check `code-compliance` has already been run previously and recorded as a successful check. This check has not been run again at this time.
bhombot-ci[bot] commented 1 year ago
The check `documentation-compliance` has already been run previously and recorded as a successful check. This check has not been run again at this time.
bhombot-ci[bot] commented 1 year ago
The check `project-compliance` has already been run previously and recorded as a successful check. This check has not been run again at this time.
FraserGreenroyd commented 1 year ago

@BHoMBot check ready-to-merge

bhombot-ci[bot] commented 1 year ago
@FraserGreenroyd to confirm, the following actions are now queued: - check `ready-to-merge`
FraserGreenroyd commented 1 year ago

@BHoMBot check ready-to-merge

bhombot-ci[bot] commented 1 year ago
@FraserGreenroyd to confirm, the following actions are now queued: - check `ready-to-merge`