-
Notifications
You must be signed in to change notification settings - Fork 14
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
Completely refactor Revit Requests #364
Comments
Thanks @alelom , I would just add for clarity that everything that was stored inside the Equality dictionary now needs to be stored in its own property. This means you will likely have to create multiple IRequest classes. This also provides a better experience for the end user since the Request components will clearly indicate what inputs are expected. |
Hi @alelom, I am running couple of tests on implementation of Revt_Toolkit implements As you can see it only accepts Which method should be used to pull object via Adapter after implementation of IRequest? Should it be 'Pull' method ( |
Instead of overriding |
This issue has been parked after discussion with @alelom These BHoM Adapter issues have to be solved before: |
Workaround suggested by @alelom :
|
@alelom @IsakNaslundBh would you be fine with taking over this issue? |
Hey @pawelbaran, I remember I had a go in trying to make things compliant here but took me a while just to get oriented. I will have another go on this as part of Adapter Refactoring 04, but I will definitely need some help, especially on the testing side. |
@alelom you'll have all the support we can muster for testing, I think @pawelbaran is referring to writing the code to resolve the issue primarily 😄 |
@FraserGreenroyd is perfectly right - I am happy to support in testing and review, but would prefer the code to be written by someone with better understanding of the problem. |
Broken rules:
As discussed here: BHoM/BHoM_UI#121 (comment)
Requests in Revit are improperly implemented and cause compliance issues. Consequently the menu is not structured as it should and Requests are difficult to find.
Suggestions to restore compliance:
All Revit requests should not be of type
FilterRequest
. That is a misuse of theFilterRequest
type. They must be their own implementation of IRequest. So, for example, theSelectionFilterRequest
:Revit_Toolkit/Revit_Engine/Create/FilterRequests/SelectionFilterRequest.cs
Lines 37 to 44 in 003156a
must be rewritten as composed by two parts:
BH.oM.Revit
->SelectionRequest
classBH.Engine.Revit.Create
method that returns a newSelectionRequest
, much like the code above but without the use of FilterRequest.The previous point must be done for all Revit Requests until no FilterRequest is left.
Note that all Requests must live under the Revit namespace as specified in point 1, unlike the current location under the "Adapters.Revit" namespace:
Revit_Toolkit/Revit_Engine/Create/FilterRequests/SelectionFilterRequest.cs
Line 31 in 003156a
the "Adapters" part is wrong as we are in an Engine part of the code. You can't have both
Engine
andAdapter
in the namespace, only Engine is correct in this case.@adecler @al-fisher please correct me if wrong / see if I missed anything
The text was updated successfully, but these errors were encountered: