Parametric controls to a curve

Parametric controls to a curve

kgatzke
Collaborator Collaborator
4,049 Views
20 Replies
Message 1 of 21

Parametric controls to a curve

kgatzke
Collaborator
Collaborator

I swear, using Revit is like trying to drive a really expensive car you just bought only to find out it can't make left turns, but when you take it back to the dealer and ask them to fix it the mechanic tells you to make a bunch of right turns to go left instead.

 

I wanted to create a simple family with a sweep along an arc and have parametric control over the radius and the start and stop angles.  What I get at every turn is "Constraints are not satisfied".

 

Well I'm not satisfied.  I looked around at a couple of threads, posts and papers* on this and other websites about controlling curved things in Revit and the gist I got from them was that Revit likes straight lines and I would need to create really complex groups of nested families while controlling endpoints with intersecting planes and doing a lot of hellish math to run it all.  I don't understand why something so simple has to be this difficult, especially in a program that costs this much. 

 

*see this for an example of what you have to go through just to make some parametric arches at the top of doorways.

4,050 Views
20 Replies
Replies (20)
Message 2 of 21

Sahay_R
Mentor
Mentor

Try this - hopefully it solves SOME of your problems.

 

When you create Sweeps along an arc, you always constrain it in the sketch, not on the finished Sweep. Apply a Radius parameter to the sketch, lock each end of the sketch to the reference lines on each side, finish the Sweep.

 

 


Rina Sahay
Autodesk Expert Elite
Revit Architecture Certified Professional

If you find my post interesting, feel free to give a Kudo.
If it solves your problem, please click Accept to enhance the Forum.
0 Likes
Message 3 of 21

kgatzke
Collaborator
Collaborator

Your suggestion is what I tried in the first place.  I still get a “Constraints are not Satisfied” message when I close the sweep and try to change the radius parameter.  I can't tell from what you uploaded how you made it work.

0 Likes
Message 4 of 21

Sahay_R
Mentor
Mentor

Click on the Sweep and edit the path. That will show you how I have added the Parameter. Remember when you add a parameter to a Sweep you are actually adding a parameter to its sketch.

 

Works for me when I change the Radius.


Rina Sahay
Autodesk Expert Elite
Revit Architecture Certified Professional

If you find my post interesting, feel free to give a Kudo.
If it solves your problem, please click Accept to enhance the Forum.
0 Likes
Message 5 of 21

kgatzke
Collaborator
Collaborator

I saw that.  I did exactly the same thing in my family and got the“Constraints are not Satisfied” error.  There's some step you're leaving out of your explanation.

0 Likes
Message 6 of 21

Sahay_R
Mentor
Mentor

Please watch this Screencast.

 


Rina Sahay
Autodesk Expert Elite
Revit Architecture Certified Professional

If you find my post interesting, feel free to give a Kudo.
If it solves your problem, please click Accept to enhance the Forum.
Message 7 of 21

kgatzke
Collaborator
Collaborator

It looks like we're doing exactly the same thing and getting different results.  I got it working by dragging the arc in sketch away from the reference lines, breaking both constraints and then aligned the center mark to the origin planes and now it works for me, however I can't control the subtending angle of the chord because if I try to constrain either end of the arc to those reference lines a change in angle or radius results in a constraint error. 

0 Likes
Message 8 of 21

Sahay_R
Mentor
Mentor

Just use my file. Less frustration all around.

 

On second thoughts - did you remember to lock the ends of the Sweep sketch to the reference lines?


Rina Sahay
Autodesk Expert Elite
Revit Architecture Certified Professional

If you find my post interesting, feel free to give a Kudo.
If it solves your problem, please click Accept to enhance the Forum.
0 Likes
Message 9 of 21

ToanDN
Consultant
Consultant

@Sahay_R

 

Your family is almost there but it will break at some angle changing (see screencast at the bottom) and I don't know for what reason.

 

@kgatzke

 

Attached is my attempt.  To sum it up:

- get rid of the curve reference line

- assign Radius parameter to each of the linear reference lines

- edit the sweep sketch:  turn on center for the arc so that you can lock the center to the origin reference planes (optionally you could pin it but I have not tried).  Assign Radius parameter to the arc.  Lock each end to the end of the two linear reference lines.

- things with angle parameters are they may break when you get to 0 and 360 degree so I add a couple of controlling parameter to ensure you will never get to the breaking points.

 

Capture.PNG

 

I have tried several angles and radius and it seems to stay intact.  Let me know if you find it breaks some where.

 

 

 

 

 

Message 10 of 21

Alfredo_Medina
Mentor
Mentor

@kgatzke  Instead of struggling with a parametric family with angles and rotations, is it not easier to add the profile to the type properties of a wall as a sweep? Then, you create a wall as an arc, and modify the radius and the angles of the wall.

 

2017-06-08_18-21-46.jpg

 

 


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Profile on Linkedin
Message 11 of 21

ToanDN
Consultant
Consultant

@Alfredo_Medina wrote:

@kgatzke  Instead of struggling with a parametric family with angles and rotations, is it not easier to add the profile to the type properties of a wall as a sweep? Then, you create a wall as an arc, and modify the radius and the angles of the wall.

  


This is true.  Not sure what OP uses the family for, but it should be more flexible to use a system family such as Wall sweep or Railing.

0 Likes
Message 12 of 21

kgatzke
Collaborator
Collaborator

@ToanDN

 

The use is for an infilling panel on a railing, which is common enough element in construction for which Revit provides no tool.  Worse yet, it's a railing descending on a curved ramp above a wall with a level top which means each panel has a pitched top that will have to be cut with a void. I haven't considered how I'm going to control the position of the voids btw.  Also, each panel has a channel frame around it which means the top element of that will be following a helical path, something Revit is really ill equipped to handle, except perhaps with railings so my thought is having small independent railing families to create the frames.

 

@Alfredo_Medina

 

I like the idea of a wall, but then there's a wall.

0 Likes
Message 13 of 21

chrisplyler
Mentor
Mentor

Revit does provide tools for that. I've never done it myself, but I've seen several youtube videos wherein somebody makes panels in a railing. I guess they either use the rail family itself, or they use the baluster families, or something.

0 Likes
Message 14 of 21

ToanDN
Consultant
Consultant

Now I would definitely create it using Railing tool. One rail with the corrugated profile and done. You can host it on a sloped ramp, floor, or roof as well.

Message 15 of 21

kgatzke
Collaborator
Collaborator

I can see them being part of a baluster family with a post forming one edge and a blank space for the next post but this presumes exact knowledge of what the spacing will be.

 

This is a major fault with Revit's railing tool.  It assumes we know the exact spacing ahead of creating the rail and it forces us to create a railing family type for every conceivable spacing.  This is because they only gave us the ability to space balusters by a fixed dimension starting from one end.  NOBODY builds railings in this manner.  They typically space the balusters equally or by a fixed distance with two equal but lesser spaces at the ends to make up any difference between the true length and a multiple of the spacing.  

 

 

image.png

Neither option is available to us.

0 Likes
Message 16 of 21

ToanDN
Consultant
Consultant

@kgatzke wrote:

I can see them being part of a baluster family with a post forming one edge and a blank space for the next post but this presumes exact knowledge of what the spacing will be.

 

This is a major fault with Revit's railing tool.  It assumes we know the exact spacing ahead of creating the rail and it forces us to create a railing family type for every conceivable spacing.  This is because they only gave us the ability to space balusters by a fixed dimension starting from one end.  NOBODY builds railings in this manner.  They typically space the balusters equally or by a fixed distance with two equal but lesser spaces at the ends to make up any difference between the true length and a multiple of the spacing.  

 

 

image.png

Neither option is available to us.


Both of the options are available.

 

Capture.PNGCapture1.PNG

Message 17 of 21

Viveka_CD
Alumni
Alumni

Hi @kgatzke

I just wanted to follow up here, any progress on this issue?


Please mark any posts that help with "Accept as Solution" and thanks! This will help many other users looking for similar solutions.

0 Likes
Message 18 of 21

chrisplyler
Mentor
Mentor

I'm fine when people say, "Is this possible," or, "Can this be done," or, "I can't figure this out."

 

But it's kind of annoying - well only slightly but still - when people say, "Revit doesn't do this," but clearly there are tools/setting for exactly that thing.

 

So you say, "Yes, Revit does that, and here is how...," and then they never respond.

0 Likes
Message 19 of 21

kgatzke
Collaborator
Collaborator

I missed that feature.  I don't have any railings with regular spacing to try it on right now though.

 

If the panel is part of the baluster family will it control the width of the panel?  I don't see how that's possible unless there's a way to provide a width parameter in the baluster family with the value of the remaining gaps.

0 Likes
Message 20 of 21

ToanDN
Consultant
Consultant

The panel should not be a part of the baluster family if you want it to be a curve with flexible radius.  If you want to split a long panel then create the panel as separate railing type, draw one module and array it long the main railing.

 

Capture1.PNGCapture2.PNGCapture.PNG

0 Likes