Announcement

Collapse
No announcement yet.

Room Name, Room Name Abbreviation - If/Then

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Room Name, Room Name Abbreviation - If/Then

    Revit Faithful,

    Long time, no post,

    I have an issue where we have tags that can report the 'revit standard' 'Room' parameter or 'Room Abbreviated', a shared parameter associated with rooms. I want these to be the same 'Name' text string unless the 'Room Abbreviated' parameter is altered, in which case I want the new text to reign supreme.

    'Room' is what will appear in our schedules and will be the full name of the room. Room Abbreviated will be on the plans and used as needed to truncate long room names. This is born of some of the school districts we work with needing to see the full proper space name in the schedules that are simply too long and unworkable in plan.

    I am a recovering Excel junky but completely green in terms of Revit Formulea and the correct approach here. I think it may be a bit of a circular problem but I would like your thoughts.

    I tried to make a calculated value (call it 'Calc Name') that evaluated the 'Room Abbreviated' parameter. If 'Room Abbreviated' had nothing in it, it would simply duplicate the 'Name' Parameter into 'Calc Name'. Then I would make the 'Room Abbreviated' match 'Calc Name'. If a user wanted/needed to change the value there, they could override the 'Calc Name' and 'Room Abbreviated' would match the user input. On closer inspection that is definitely chicken and egg territory.

    I think I may have to break out a yes/no parameter or something considering i can't evaluate a text based parameter in the IF function...learned that a bit too late. Maybe there has to be a separate check-box or user-choosable item that says 'Yup, I want 'Room Abbreviated''. Either way, even when I tried to dumb it down I was getting pop-ups about what a dumby I am...lol.

    Any direction here, either on the actual problem and its solvablity or on a good resource for getting the syntax right, would be great.

    Thanks,
    Drew

    PS....is there a way to get 'Room' and 'Room Abbreviated' to be the same from the start. Originally I wanted to just put ='Room' as like the default value for Room Abbreviated, and if anyone need to abbreviate, they would just overwrite ='Room' with their alternate text.

    #2
    I would recommend adding the checkbox (shared parameter), and having the tag read all 3 values (Name, Room Abbreviated, and the checkbox) and determine which value to show based on the checkbox. Sounds like the tag is the only place you need it to display the abbreviation.
    Chris Ellersick

    Comment


      #3
      Chris,

      I only need to show the abbreviation in the tag, and only if its necessary. It's a bit of a cluster, I am not even sure if the approach here...as in needing both in the first place...is even needed. Thanks for your help

      Drew

      Comment


        #4
        Originally posted by The Dropper View Post
        only if its necessary
        That's why you need the checkbox - the easiest method is to use a person to make that determination. You can't evaluate text in an expression within Revit (unless someone discovers a fantastic hack).

        I'm curious why you're not looking at Dynamo for this.... Dynamo could evaluate and automate the checkbox.
        Chris Ellersick

        Comment


          #5
          Thanks Chris, I will look into the checkbox and Dynamo. I have very lightly kicked the dynamo tires...maybe this will push me over the edge

          Thanks,
          Drew

          Comment


            #6
            I wouldn't do anything to the room, I'd just add a label to the tag controlled by a visibility checkbox and have 2 different tag types. One for normal names and one abbreviated. That also gives you the option of using the full room name on enlarged plans.

            Comment


              #7
              I'm with Chris, tag types with different labels. A room only needs a value for abbreviation if it has a really long name. Each room gets a tag and if the name is too long, choose the other tag type.

              I also recommend that schedules include the abbreviation column next to full name so people can see what abbreviations mean if they aren't immediately obvious. I've seen some acronyms used that don't mean something to every reader right away.
              Last edited by Steve_Stafford; March 9, 2017, 05:01 PM.

              Comment


                #8
                My preference for the checkbox is to centralize control at the Room object. Tag Types are view dependent and the user(s) must remember to manually coordinate ALL appropriate tags in ALL views where they are tagged. I prefer to use the same tag and let the shared checkbox (shared, so the Tag has access to it) control it from one place - if the name is too long for the tag in one view, chances are it's too long for other views as well.
                Chris Ellersick

                Comment


                  #9
                  The problem is going to be to get a yes/no parameter in the room to actually control something in the tag. You can add is as a label and show the Yes/No, but as far as I can tell you can't actually link it to the visibility of anything else in the tag. One of the big issues is going to be that tags can't have instance parameters, so you'd have to point it at a third parameter in the room that's somehow switched based on your rules, and then how do you determine when a name is too long to fit? going from 1/8" scale to 1/4" scale effectively makes the tag half the size, so I think you'd want a bit more control view to view. There might be some way to do this via Dynamo, and maybe it's worth it for you, but I think you're overcomplicating things.

                  Comment


                    #10
                    Originally posted by chris.macko View Post
                    The problem is going to be to get a yes/no parameter in the room to actually control something in the tag.
                    In the tag, in Edit Label, add your (3) parameters: Name (native parameter), Abbreviated Name (shared), and Checkbox (shared). Add a calculated value with this formula: if(Checkbox, Abbreviated Name, Name)

                    Make sure you also have the shared parameters in your project and assigned to Rooms.

                    edit:
                    In the example below, I used shared parameters I already had set up for different uses: "Means of Egress" is a Yes/No, and "Section Note" is a Text.
                    Attached Files
                    Last edited by cellersick; March 9, 2017, 11:39 PM. Reason: add images
                    Chris Ellersick

                    Comment

                    Related Topics

                    Collapse

                    Working...
                    X