Is there some sort of bug in the "Foundation" Wall Function?
I'm trying to create an 8" concrete frost/foundation wall. The wall is of type "Basic Wall Foundation - 8" Concrete"; it is being placed on the "T.O. Footing" level which has an elevation of (-3'-2"). The wall needs to have a Top Constraint of "Main Floor" which has an elevation of (0'-0").
If I try to set the constraint on the Properties Palette, I get the error "Top Constraint is invalid for the Level". If I try to set the "Depth" on the Options Bar to "Main Floor", it gives me the error "The top of the Wall is lower than the base of the Wall."
If I hit the "Reset Consraints" button, it sets Base constraint to "T.O. Footing", Base Offset to (0' 0"), Top Constraint to "Unconnected", and Unconnected Height to (20' 0"). If I Try to change the Top Constraint after that, it does the same thing all over again.
I've found that if I edit the type and change Wall Function to something else (like "exterior"), it doesn't do this; it behaves normally.
I've tried deleting the level and associated plan views the re-creating them. It did not help.
What am I doing wrong, or is this a bug?
I did a search for "The top of the Wall is lower than the base of the Wall," and found the following threads that seem to answer your question:
The Top of the wall is lower than the base of the wall
How to cease Error "top of the wall is lowre than the base of wall"
So "Foundation" walls are drawn (for lack of a better term) upside down?
If I have the following levels:
and I want a wall to be resting on the Top of Footing level, I have to draw it on the Finish Floor level (the Base Constraint) with a Top Constraint of Top Of Footing?
I don't think they are created upside down. To create walls with the "Foundation" function from your T.O.Footing view, without getting errors, use these settings, in this case:
Base constraint = T.O. Footing
Base offset = 0'-0"
Top constraint = Up to level : T.O. Footing
Top offset = 3'-2"
Yes, it is a little strange, but it works. See illustration.
"Strange" is a nice way of putting it. I would rather be able to draw it like any other wall. What's the point of having a parametric drawing system if you can't take advantage of the parametric behavior? Sure, you can adjust the height, but if you can't link the top constraint to the level above, it's going to be static and won't move if the elevation difference between the levels changes.
What makes it really stupid is that if I draw the foundation wall then exit the command and re-select the wall, it will let me do it. Why not just let me do it in the first place instead of making me touch the wall twice?
The settings mentioned above let you create the wall in plan view, and this is not taking away any bit of the parametric behaviour. One thing does not relate to the other. Similar settings are used to create a ramp from "Level 1" to "Level 1" with a top offset. I don't see the problem.
If you see a problem with that, simply do not use the Foundation function before creating the wall, but afterwards, if you really need that function as a value for schedules. Otherwise, use other values such as Exterior, with more normal settings.
I'm not saying it isn't parametric, because it is. I'm saying that such functionality being the only possible way is a bad parametric implementation.
A wall is a wall is a wall. A foundation wall should behave like a wall.
Let's look at your ramp example:
If you have a floor that has multiple finished elevations, ideally you would have a Level for each elevation. Then, the ramp connects from the lower level to the higher level. That way, if you decide you want to change the elevation difference between the levels, the ramp will automatically adjust it's height to fit. If you don't connect the ramp to the level, you'll have to touch the ramp again, wasting time.
The same applies to any floors, walls, etc. that are affiliated with that elevated area. If they're not attached to the appropriate Level, you'll have to touch each of them again as well (unless you've specifically attached them to the floor slab).
A foundation should behave the same way. If you have to change the depth of a foundation, you should be able to do so without touching all of the foundation walls again. That's a big part of why parametric modelling exists...
I'm not trying to be feisty, I'm just calling it how I see it.
I understand your points, and I agree that there is something strange when one sets the function to be "Foundation" before placing the wall. Maybe it is a bug. But I would not worry about this at all, and I would just create my walls from the T.O.Footing view using the default function setting (exterior) that allows me to constrain the wall on the bottom to the T.O.Footing level, and on the top to the Level 1 level, as usual, so that if something changes in these levels later, my walls update, as you want. Why do you need this "function" for, anyway? For schedules? You can change that property of the walls after they have been created, if you need to. No need to worry about that, really.
I need to model an existing building condition where the T.O. Foundation Wall is right at F.F. elevation. This came up because I was trying to use the "factory-provided" wall type Basic Wall: Foundation - 8" Concrete to model this wall. This type has the function set to "Foundation" by default. Until I realized what was happening, I thought I was doing something wrong. Everything I was doing was SOP for any other wall, but everytime I turned around the program was blocking me.
I've noticed in the last few minutes that if I create another level called "Deep Footings" that has an elevation of -7'-0", I can select the T.O. Footings (now called "Minimum Footings") level as the top of wall and it will behave like any other wall. It will even let me pick the "Main Floor" level as the Top Constraint (producing a wall that is 7'-0" tall). Thus, it seems that it has something to do either with the finished height of the wall that it would produce (in the case of Min. Ftg. to Main Flr. it would be 3'-2") or either touching or crossing the plane defined by the site elevation.
So, if it's not a bug, it's some sort of artificial (and inaccurate) limitation. Not every foundation terminates exactly at grade or Finish Floor. A great many extend above.