Hello,
I am trying to create an if/then formula in my family types. I do not have experience in doing this and researched quite a bit but still having no luck. I'm trying to create a formula:
when Point "A" moves, than Object "B" automatic moves with it.
I have created visibility instance parameters with each. Point "A" parameter is "L_Ref_Point" while Object "B" parameter is "WWT_L". In my family types (see attached pic) how do i initially set up these formulas. Like I've said i have researched but do not know the exact text to add. Thanks!
Gelöst! Gehe zur Lösung
Gelöst von RDAOU. Gehe zur Lösung
hi,
I don't quite get what you are trying to figure out. But if you want to make a point dependent to another, you can just tie them up with a locked dimension.
anyways the formula for an IF statement is: if(condition, true, false)
each are seperated by a comma.
e.g.
condition: Length>100mm
true: Width*2
falss: Width/2
more info here
If you could detail how would you like the parameter to function maybe we could help you more.
Regards,
Z
HI @Anonymous
when you say A move along with B, it has nothing to do with visibility.
you need the IF only when it is conditional...ie: element B will move with A ONLY IF A moves more than 10cm (example) THEN ... U enter the remainder of the condition... The format is as follows
IF( Condition, Action 1, Action 2)
condition: example A > 10cm
Action 1: Revit executes this action if the condition is true example: Parameter A = Parameter B
Action 2: Revit executes this if the contrition is false example: 0 or any other value or nested formula
Parameter B = If(Parameter_A > 100mm, Parameter_A, 0mm)
if you attach the family maybe someone can help you or assist you with a screencast
YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION
So if i just lock the dimension in the family, than when one point moves the other will automatically move with it? Its that simple?
@Anonymous
From what you have described and from what I could understand or visualize (what u r trying to do) Yes it can be as simple as that
I personally prefer to lock elements to reference planes and constrain with locked dimensions (not directly to elements)
YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION
Yes you need to tie them up to reference planes and not on the elements. you might want to add an instance length parameter to one of ref plane to enable the drag points when you load them to the project.
Please see attached picture. I am still trying to figure out how to make these ref. points, ref. lines and the arrows (created from Autocad) move in both directions, left to right.
@Anonymous
YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION
Attached is the file I attempted to fix.
In all honesty, I don't understand why you need to use an adaptive family for this. You don't even have any adaptive points in the family. If you want to control the movement of elements via reference planes and parameters, there is no need for an adaptive family. A regular family will work just fine.
Maybe others can have different insights.
The model you sent is exactly what i am looking for. Thank you for your help.Could you briefly tell me how you were able to create the L1 & L2=2'-0" parameter and link the arrows with it? I really i just need to know the steps.
This family needs to be adaptive because it will be pushed through a work program into a wire frame coordinate system project. It's for a complex curtain wall system. This family will multiply 2,000x and the reason for the arrows is to be able to pin point certain locations on the project.
@Anonymous
Below are my steps:
@Anonymous @ToanDN
I still do not understand the purpose of this family and what it is supposed to do...besides that the generic 2D model with symbol inside isn't somethin which I really dig or encourage. They wont break but when you start rotating and flipping a 2D element in 3D space it will look pretty much awkward... so imagine 2000 of these!!!
You know the sun dial? how its shadow shrinks and grows with respect to the angle of the sun? 2D element in 3D models are the same!!!
So good luck ![]()
Below is just an example of how I would handle control of elements in an adaptive family...Again this is just an example there are other ways to do so depending on the purpose of the family and how it is supposed to function...
Cheers
YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION
Thank you so much for your screen cast. Very helpful. I do have, hopefully one last question, at minute 8:09, i see that we are trying to insert my generic model symbol WWT_L & WWL_R. I am not able to select a placement (Place on Face/Place on work plane) for these symbols. If you see below, 809.png is a screenshot of your screen cast and Revit Pic 4.png is a screen shot of mine. The ribbons are different. I made sure to also change the work plane for this reference point and nothing is seeming to do the trick. I will also attach my model if you need more information. Thanks again.
I actually just figured it out. IN that block family, i have to check Work Plane-Based in the properties! Thanks
if(Check box, 1000 mm, **Retain typed value**)
Is there a way we can fix a certain dimension if condition meets but retain the typed value if it fails, or similarly vice versa. I know it can be done by creating a new parameter for the failure part but maybe we could do it directly (as in Excel)?
No, but you can simply make that value be equal to another value, if Check box is not true, such as:
if(Check box, 1000 mm, Another value)
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.