I was working on my presentation for SWx World 2007 tonight (the basics of loft) and I ran into a major, I believe undocumented, change in how lofts work.
Just to be sure, I upgraded to SP2.1, deleted the loft and recreated it with the same curves (those of you in the know will understand why) and the issue is still evident.
The issue is a little esoteric, though folks dealing with lofts will know right away what I am talking about and know it is HUGE. It has to do with how tangency is handled at the beginning and the end of a loft.
In previous versions, when executing a loft tangent to existing faces, the loft edges (or when merging tangent faces, the UV lines) would follow the vector of model edges adjacent to the profile (as long as that angle was greater than 60 deg - if it was less, the vector would be perpendicular)
So, for instance, if your start and end profiles each consist of two segments, but there is an angle between the junction of the two profile segments and the adjacent edges on the tangency face that created that junction, when using 'tangency to face' as a start and end condition the loft would follow that adjacent edge's angle and make a very pretty surface/face (respecting the undocumented 60 deg limit - over 60 deg it follows the adjacent edge, under 60 deg it just goes perpendicular).
However, it wasn't perfect yet - when using 'curvature' instead of 'tangent' as the start/end condition, the loft always starts perpendicular to the loft profiles regardless of the angle of adjacent edges, and that is one of the reasons we can so rarely use curvature as a tangency condition- in most cases that (at least I) run into, that initial vector causes self-intersection problems.
I have made this issue known to the developers at SWx in the past, and to their credit, they have addressed it in 2007... but only for 'boundary surfaces'!! There is an option in the dialog to 'align with other geometry' in the boundary surface PM.. However, in typical SWx fashion, they only got part of the message - it is a drop down option that is no option
- you can open the drop-down , but there is only one option to choose from (align with other geometry). So if you use boundary, it follows edges adjacent edges regardless, even when curvature is invoked. But it no longer obeys that 60 deg limit - I took one test down to 45 deg and it still followed the edges.
Boy, that will be hard to explain at SWx World
In the real world, as I tried to explain to the developers, there are times when you want your new curvy face to follow the vectors of adjacent edges, and there are times when you don't - that arbitrary
60deg limit was always crap, but at least it could be relied upon. Instead they left it for boundary and took it away for loft - instead of fixing the issue, tangency is always perp to the profiles unless you use boundary, where it is always tangent to adjacent geometry (at least in my initial tests)
So here's the summation - Short term: I now have to risk being that presenter 'bashing' the new version at SWx world, where I am ethically obligated to let folks know that there is an issue that they need to be aware of that is solved by not upgrading - using surfacing techniques is Ok because you can use boundary, but solid lofts I tested (or surface lofts) are simply FUBAR. In addition, I have to make the samples in 2006 and 2007 so I can show the difference, and take time to show that difference because of an inopportune change .Long term: I will have to continue to advise my clients not to upgrade to 2007. Always good advice before a few service packs get through, but here a mission critical functionality was lost when it comes to modeling curvy shapes.
Please let me know that I missed something. I really hope that htisis a f*** up on my part, and that the software I rely on didn't take an inoportune nose dive on something this important
Ed.
P.S. -why wasn't this caught in Alpha and beta? Simple - most folks just open existing models, CTRL+Q, and see if there are any issues. And I have to admit, SWx 2007 is exceptional - it rebuilt a
2006 database two weeks ago in a test that I ran that I would have never expected to pass through a version change. However, when it comes to lofts (and likely other features, but I only know for sure about lofts) when you upgrade SWx it still uses the old algorithms to calculate those lofts (with exceptions that I am sure Paul Salvador will provide). I will note this quirk in my presentation in New Orleans. For an example, if you open up a SWx 99 loft in 2007, it still uses the SWx 99 loft function - evident by the lack of options for start and end tangency and guide curve influence that have happened since. And I freely admit that this is smart on SWx part - it is a way to preserve legacy data, where tools have been cut and whatnot off of the legacy data Unfortunately, if you do alpha or beta testing and just rebuild existing parts, you won't find issues in how the features have fundamentally changed because if you just Ctrl+Q, you are still using the old stuff, not the new stuff. I'm a bit of a pain in the ass when I test because I always go 'off script' - if they ask me to test one thing, I try to jigger the test to what I would actually do. If I am testing a part I did before, I try to rebuild it sketch by sketch, using the new features. But I have to admit I missed this tangency issues - and this one is HUGE. Based on what I have seen, I cannot use 2007 nor recommend it for curvy modeling (even with the groovy new features)