BHoM / BHoM_Adapter

GNU Lesser General Public License v3.0
7 stars 5 forks source link

Added description of PushTypes in the enum to be visible in UI's tooltip #195

Closed alelom closed 4 years ago

alelom commented 4 years ago

Issues addressed by this PR

Closes #194

Test files

Not needed

alelom commented 4 years ago

Does this mean that if I have 2 columns and 1 floor in a model, I push one column, then both columns will be deleted and one created, resulting in one column and one floor?

Correct.

Shouldn't it delete only the objects that exist both in the Push set as well as in the model?

That would be the FullCRUD, as it would require the Read to check which column exist in the model.

pawelbaran commented 4 years ago

Does this mean that if I have 2 columns and 1 floor in a model, I push one column, then both columns will be deleted and one created, resulting in one column and one floor?

Correct.

Maybe my perspective is limited to Revit, but I do not see the use case for that. Why would I need something that always deletes all objects of a type I am trying to push? In practice this means replacing the whole model, one could equally open an empty document and push all again.

What would be nice is to delete only the elements that exist both in the push set as well as in the model and then create everything that sits in the push list.

alelom commented 4 years ago

Maybe my perspective is limited to Revit, but I do not see the use case for that. Why would I need something that always deletes all objects of a type I am trying to push?

As we already discussed, I agree, I don't think it's useful for Revit - but it's useful for other software. Structural Adapters can make use of this quite often actually.

In practice this means replacing the whole model, one could equally open an empty document and push all again.

No, if you are interested in replacing a category of objects only. It's an automation: of course you could do that manually, but it does not mean it's not nice to have. Again, it's not useful for Revit, agreed.

What would be nice is to delete only the elements that exist both in the push set as well as in the model and then create everything that sits in the push list.

As we said, agreed, but that requires Reading the model in order to know what's there, so you can determine what to Create (or Update, for what matters) – which would make this a "FullCRUD" type of Push.

pawelbaran commented 4 years ago

After a chat with @IsakNaslundBh, it looks like I did not fully understand the mechanics of FullCRUD (it deletes only the objects that carry specific tags, not all of them). Following that and the whole discussion above, could I ask you to share some documentation that would explain each action in some more detail (e.g. diagrams)? That would be really helpful. Thanks!

alelom commented 4 years ago

After a chat with @IsakNaslundBh, it looks like I did not fully understand the mechanics of FullCRUD (it deletes only the objects that carry specific tags, not all of them). Following that and the whole discussion above, could I ask you to share some documentation that would explain each action in some more detail (e.g. diagrams)? That would be really helpful. Thanks!

Apologies, I didn't explain that correctly. Please find the complete set of diagrams below: Adapter Diagrams

alelom commented 4 years ago

/azp run BHoM_Adapter.CheckInstaller

azure-pipelines[bot] commented 4 years ago
Azure Pipelines successfully started running 1 pipeline(s).