Why ShortCurveTolerance?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I understand what ShortCurveTolerance means, I understand how to prevent warnings and error messages popping out because of it, I understand that Revit is designed to "manage stuff", not to create perfect geometries like Inventor.
I also understand that it is possible to get high quality drawings out of Revit without high quality 3D solids. The Revit way of doing that is to create a rough 3D representation so the big 3D model doesn't choke under the pressure of too many useless details, then use detail components and other tricks to create the views, rather than creating them out of a perfect 3D models, the way Inventor would do.
But I don't understand "why" ShortCurveTolerance is there.
I get it, Revit is never going to have a sheet metal module, mating constraints or other awesome things that were in Inventor since day one, because if I needed those I should use Inventor.
But Revit provides APIs that allow to create add-ins that do things behind what Revit already does. So, why throwing a wrench at the knee of the developers and telling them "sorry, the commands we ship with Revit don't create high precision geometries, and we don't want you to do it either"?
Right now I need to create a solid with a very small notch. It would be easy to create a few lines and extrude them, but I can't. Instead I can double the number of lines, create a form, then create a void, place them in the right position relative to each other, and end up with the solid I need, with the small notch. The result is much heavier than what I could create if I could use short liens. Here is an example of what I mean, with two 1/4" x 1/4" cubes next to each other, one is a void and cuts 0.001" out of the other (w=0.25, d=0.001):
I am getting at the point where I need to start sprinkling ugly workarounds like this all around my code, and it just doesn't sound right.
So, before I start working on the ugliest add-in that creates solids using workarounds like this, can someone please explain to me why I shouldn't, i.e. why ShortCurveTolerance exists, and convince me not to do it?