Goal amount for this year: 2500 USD, Received: 1627 USD (65%)

# Thread: Horizontal & Vertical Offsets

1. ## Horizontal & Vertical Offsets

Hi i'm new to all this so i don't know if i have the right thread... so if i do then i apologise! i need to horizontally offset some symbols that are place on top of each other so they appear next to each other on the floor plan. However when i try to offset them they move left and i need them to preferably move left or right. In the "Horizontal Plan Offset" I've tried entering a minus at the start to see if it will go the other way but as expected it didn't, has anybody got any idea how to fix this?

2. Welcome to the forum Jack!

Revit's not so fond on negative dimensional constraints, as you've discovered - but worry not, there's a "trick"...

Define an offset input - in your case <Horizontal Plan Offset>, but tie/manipulate the elements using "controls", so that:

<Horizontal Plan Offset> = O
OL=if(O>0,O,0)
OR=if(O<0,abs(O),0)

pay special mind to the difference between Os and 0s... (if only we had Consolas instead of Courier)

3. thanks for replying! i'm not sure i'm following.. how do i manipulate the elements exactly?

4. In other words, since labeled dimensions can only "push" (positive values), you create a pair of them (controlled by an input value) - one to "push" left (when the input value is negative), and one to "push" right (when the input value is positive). You connect these to reference planes so that the 'negative' pushes off the 'positive'. It makes more sense once you see it - this example should clarify.

5. Sorry, there is a bit more it, and it would help to see your family - but essentially your loaded symbolic elements would get locked to reference planes being controlled by OL and OR.

Check this blog post out for pictures: Strategy for Negative Values in Family Parameters. Revit - dp Stuff

6. I use a simpler approach that seems to work pretty well. Create a reference plane on the negative side set to "not a reference" and then dimension and lock it at some value that you know the negative offset will not exceed. Then create another reference plane to host your geometry and a calculated parameter that adds the desired offset to the dimension of the first reference plane. This lets the offset value entered be negative, but makes sure the dimension stays positive. It's the dimension going negative that is causing the error, not the parameter.

7. snowy, I love you man, but I have to strongly disagree with your parameter naming.
I would NEVER name a parameter "O", and I'm not sure Revit is even going to let you name one "OR".
Reasons being:
First all, there's an operator already named OR (as in AND, OR) and even if Revit doesn't get confused, I would it I ever needed to edit your family.
Second, I do not like short parameter names. Again, if anyone ever needs to edit the family, it's going to take them a lot longer to figure out what "O", or "OL" means than "Offset" or "OffsetLeft".
Third, what happens when you later need to add an "Occupant Load" parameter? Can't use "OL" again.

In summary, longer, more descriptive names have zero downside (except maybe more typing), and they make it a lot easier to understand and update things in the future.

8. Originally Posted by DaveP
snowy, I love you man,
awww!

(in my defence) t'was short-hand for the concept, not the finished formula.

But I am guilty (?) of using a lot of short-hand for non-shared, family controlling, 'rig' parameters.

Bite me.

9. Originally Posted by snowyweston
Bite me.
Sorry. Don't love you quite that much.

Since jack said he was new to all this, I just didn't want him to start off with bad habits.
Plenty of time to develop those once you know what you're doing!

10. I'm sorry but I have am trying these methods and I cannot get my light switch to work, please help.

Page 1 of 2 12 Last

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•