InnovationDesignConsortium / revit_standards_addin

Other
1 stars 0 forks source link

Categorization Hierarchy #14

Open estimmel opened 5 months ago

estimmel commented 5 months ago

Following up on our brief conversation this morning, here's what I was thinking about regarding a categorization hierarchy and how I've tried (and failed) to create this with the existing rules. (Apologies for the split video - file size limitations 🤦‍♂️ I'll pay closer attention next time)

https://github.com/InnovationDesignConsortium/revit_standards_addin/assets/1373088/0b4c2bc8-8ba9-4b4a-89f7-470a69ac8618

https://github.com/InnovationDesignConsortium/revit_standards_addin/assets/1373088/b8e85d36-d7a2-42d0-8db9-9ea24ca3650b

https://github.com/InnovationDesignConsortium/revit_standards_addin/assets/1373088/53415f9c-0b2e-48a5-9179-b92bde4e9033

https://github.com/InnovationDesignConsortium/revit_standards_addin/assets/1373088/113dcee0-d209-4e51-9ae9-1e3acea16ddc

gschleusner commented 2 months ago

@harrymattison we never addressed this one correct?

harrymattison commented 2 months ago

@gschleusner It is a nice suggestion. It has not been implemented

harrymattison commented 2 months ago

also, the "description" field is not currently used

harrymattison commented 2 months ago

Adding a "condition" to the List Option class is one way we could do this. In this example, when evaluating if each SubCat option is valid for a given wall, it would check that same element's Cat property. Does this meet the requirement? We can do something more flexible (i.e. if you want to be able to evaluate a Global Parameter or something else to determine which list options to show) but I don't want to add complexity that you don't need/want at this point. @estimmel @gschleusner

  [
   {
      "Categories": ["Walls"],
      "Parameter Name": "Cat",
      "List Options":
      [
        {"name": "1"},
        {"name": "2"},
      ]
    },
    {
      "Categories": ["Walls"],
      "Parameter Name": "SubCat",
      "List Options":
      [
        {"name": "1.1", "condition": "Cat=1"},
        {"name": "1.2", "condition": "Cat=1"},
        {"name": "2.1", "condition": "Cat=2"},
        {"name": "2.2", "condition": "Cat=2"},
      ]
    },
  ]
gschleusner commented 2 months ago

I think we'd want to include it in the external CSV some how. They are basically the same request, as the external list with a filter ... its just a question if the filter is Revit wide on the object.

gschleusner commented 2 months ago

How about this. Both examples included. lookuplist.zip

harrymattison commented 2 months ago

Something like that could work. Are the only allowed prefixes in Column A either "Global" or the name of the same category used for the rule?

On Mon, Sep 16, 2024 at 5:12 PM gschleusner @.***> wrote:

How about this. Both examples included. lookuplist.zip https://github.com/user-attachments/files/17019894/lookuplist.zip

— Reply to this email directly, view it on GitHub https://github.com/InnovationDesignConsortium/revit_standards_addin/issues/14#issuecomment-2354043626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAROBGCXPDZ7TMZXA2ZEDA3ZW5CUHAVCNFSM6AAAAABI7QYS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGA2DGNRSGY . You are receiving this because you were mentioned.Message ID: <InnovationDesignConsortium/revit_standards_addin/issues/14/2354043626@ github.com>

harrymattison commented 2 months ago

Do you want to be able to have different parameters used to filter different elements in the list? Like should the same rule be able to filter some options based on the global parameter State_Code and others use a different global parameter City_Code, while others are based on a parameter of the element (Wall, etc).

On Tue, Sep 17, 2024 at 4:49 PM Harry Mattison @.***> wrote:

Something like that could work. Are the only allowed prefixes in Column A either "Global" or the name of the same category used for the rule?

On Mon, Sep 16, 2024 at 5:12 PM gschleusner @.***> wrote:

How about this. Both examples included. lookuplist.zip https://github.com/user-attachments/files/17019894/lookuplist.zip

— Reply to this email directly, view it on GitHub https://github.com/InnovationDesignConsortium/revit_standards_addin/issues/14#issuecomment-2354043626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAROBGCXPDZ7TMZXA2ZEDA3ZW5CUHAVCNFSM6AAAAABI7QYS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUGA2DGNRSGY . You are receiving this because you were mentioned.Message ID: <InnovationDesignConsortium/revit_standards_addin/issues/14/2354043626@ github.com>

harrymattison commented 2 months ago

@estimmel @gschleusner To me, this defines the options for three different rules in a single CSV, a Cat rule, a SubCat rule, and SubSubCat rule.

image

I feel like it is cleaner to have one CSV file per rule. So there would be Cat.csv

image

SubCat.csv - the second column defines the value of the filter parameter which is defined in the rule's JSON definition. If the filter parameter is global or if it comes from the element itself can be specified in the JSON rule definition either with an explicit field "Use Global Filter: Y/N" or there can be different fields "Filter Parameter" or "Global Filter Parameter"

image
    {
      "Categories": ["Walls"],
      "Parameter Name": "SubCat",
      "List Source": "SubCat.csv",
      "Filter Parameter": "Cat"
    },

SubSubCat.csv

image
gschleusner commented 2 months ago

Yes. Agree 1 csv per rules.. it was just an example. CSVs can't have more then one tab.

Sent from my mobile


From: Harry Mattison @.> Sent: Tuesday, September 17, 2024 5:36:16 PM To: InnovationDesignConsortium/revit_standards_addin @.> Cc: Greg Schleusner @.>; Mention @.> Subject: Re: [InnovationDesignConsortium/revit_standards_addin] Categorization Hierarchy (Issue #14)

To me, this defines the options for three different rules in a single CSV, a Cat rule, a SubCat rule, and SubSubCat rule. image.png (view on web)https://github.com/user-attachments/assets/2d7340a2-a4dc-418c-ab31-3d505d9e647e

I feel like it is cleaner to have one CSV file per rule. So there would be Cat.csv image.png (view on web)https://github.com/user-attachments/assets/81ff0321-20b2-45a5-b7b7-b11ca055f1e7

SubCat.csv - the second column defines the value of the filter parameter which is defined in the rule's JSON definition. If the filter parameter is global or if it comes from the element itself can be specified in the JSON rule definition either with an explicit field "Use Global Filter: Y/N" or there can be different fields "Filter Parameter" or "Global Filter Parameter" image.png (view on web)https://github.com/user-attachments/assets/85911a55-bbcf-4165-adb8-2183b78cd065

{
  "Categories": ["Walls"],
  "Parameter Name": "SubCat",
  "List Source": "SubCat.csv",
  "Filter Parameter": "Cat"
},

SubSubCat.csv image.png (view on web)https://github.com/user-attachments/assets/13c035aa-f68e-4a38-bd07-96a5cd3c3529

— Reply to this email directly, view it on GitHubhttps://github.com/InnovationDesignConsortium/revit_standards_addin/issues/14#issuecomment-2356978465, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRUVEQMOSPQOZPQRIPRGQDZXCOFBAVCNFSM6AAAAABI7QYS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJWHE3TQNBWGU. You are receiving this because you were mentioned.Message ID: @.***>

gschleusner commented 2 months ago

Sorry I misread. I am ok with that..

Sent from my mobile


From: Greg Schleusner @.> Sent: Tuesday, September 17, 2024 5:50:13 PM To: InnovationDesignConsortium/revit_standards_addin @.>; InnovationDesignConsortium/revit_standards_addin @.> Cc: Mention @.> Subject: Re: [InnovationDesignConsortium/revit_standards_addin] Categorization Hierarchy (Issue #14)

Yes. Agree 1 csv per rules.. it was just an example. CSVs can't have more then one tab.

Sent from my mobile


From: Harry Mattison @.> Sent: Tuesday, September 17, 2024 5:36:16 PM To: InnovationDesignConsortium/revit_standards_addin @.> Cc: Greg Schleusner @.>; Mention @.> Subject: Re: [InnovationDesignConsortium/revit_standards_addin] Categorization Hierarchy (Issue #14)

To me, this defines the options for three different rules in a single CSV, a Cat rule, a SubCat rule, and SubSubCat rule. image.png (view on web)https://github.com/user-attachments/assets/2d7340a2-a4dc-418c-ab31-3d505d9e647e

I feel like it is cleaner to have one CSV file per rule. So there would be Cat.csv image.png (view on web)https://github.com/user-attachments/assets/81ff0321-20b2-45a5-b7b7-b11ca055f1e7

SubCat.csv - the second column defines the value of the filter parameter which is defined in the rule's JSON definition. If the filter parameter is global or if it comes from the element itself can be specified in the JSON rule definition either with an explicit field "Use Global Filter: Y/N" or there can be different fields "Filter Parameter" or "Global Filter Parameter" image.png (view on web)https://github.com/user-attachments/assets/85911a55-bbcf-4165-adb8-2183b78cd065

{
  "Categories": ["Walls"],
  "Parameter Name": "SubCat",
  "List Source": "SubCat.csv",
  "Filter Parameter": "Cat"
},

SubSubCat.csv image.png (view on web)https://github.com/user-attachments/assets/13c035aa-f68e-4a38-bd07-96a5cd3c3529

— Reply to this email directly, view it on GitHubhttps://github.com/InnovationDesignConsortium/revit_standards_addin/issues/14#issuecomment-2356978465, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRUVEQMOSPQOZPQRIPRGQDZXCOFBAVCNFSM6AAAAABI7QYS2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJWHE3TQNBWGU. You are receiving this because you were mentioned.Message ID: @.***>