One opinion- Do NOT use 2007 for curvy models

Dec 28, 2006 23 Replies

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)

Oh Geeze,this is embrassing - after my angry tirade, I didn't make clear what the issue was. Here it is- at least in my tests, all 'tangent' lofts in 2007 behave like 'curvature lofts' in that edges and UV lines are perpendicular to the profiles. Tangent lofts no longer follow adjacent edges, which was critical to loft quality and preventing 'self-interstion'. Only 'Boundary' seems to have this important code in 2007

Oh Geeze,this is embrassing - after my angry tirade, I didn't make clear what the issue was. Here it is- at least in my tests, all 'tangent' lofts in 2007 behave like 'curvature lofts' in that edges and UV lines are perpendicular to the profiles. Tangent lofts no longer follow adjacent edges, which was critical to loft quality and preventing 'self-interstion'. Only 'Boundary' seems to have this important code in 2007

Hello Ed,

I'm trying to get my pea brain around the problem, but I'm at a loss. As I do a LOT of curvy stuff, is there anyway you can send me a simple model of the condition that you are talking about? I would like to try it for myself and get some understanding.

Thanks, Muggs

muggs

828 @ comcast . net

Edward T Eat> I was working on my presentation for SWx World 2007 tonight (the basics

Thanks Muggs... this is something that is hard to describe with words. I got up early this morning to make a simple side-by-side loft to send to SWx, but I still suspect that the 'simple' sample won't completely communicate the significance of the problem. But I will be happy to send the model to you later after a meeting I have (and Ken too - I think I have your new email). My weekend is booked, but next week/weekend I will likely come up with more substantial samples. Man, i hope I jsut f***ed something up, because if I didn't I will have to use boundary for just about everything that requires start/end tangency to multiple faces. Ed

It is more than possible I f**ed comething up.

I still need to root through old models, but this mornings simple tests show that this IS NOT an issue particular to 2007. I withdraw my warning about 2007, with great chagrin

But, boy will this will be an interesting topic in new orleans.

It has to do with UV lines and what happens when you model one face at a time vs what happens when you try to get a few faces out of the same loft (be it surface or solid).

At this point it looks like I was completly blind to how much I rely on modeling one face at a time. Just flat-out blind to it, and blinded by it..

Too much to go into with words in a post - it will be worked out intensely next weekend and what I learn will be (hopefully) distilled into a few clear samples in my presentation (and of course posted on our website) in February.

Ed 'stupid egg on face' Eaton

I read something once regarding lofts in the API documentation that was a bit unnerving...

There was a note that said that SW has changed the algorithm to interpolate lofts in nearly every release, and that part of the data included in a loft feature is the version in which it was made, so that SW can use the correct year-specific algorithm to regenerate the loft.

What's disturbing is that one can loft between identical sections with identical guides in different versions of SW and get different results in each version.

Yup, we hammer on SW about this. Makes it hard to edit or revise work done in a previous version.

a lot of famous people have died recently LOL (tease,tease) :o)

Hey, quick question... Is there any mention in the documentation about the algorithms being preserved when a service pack makes a big change? I know that it is preserved between releases, and plan to make a few points about that in this years presentation. But I do not know if this caching is restricted to just 'major releases'. If you have any insight that you could share, it will be helpful (credit to you if you want it). If not, no big deal - I will only talk about what I can prove with samples, and mention that I have no evidence about service packs. Thanks, Ed

BTW - I am torn on what to think about this issue. If they had to use the same algorithm for ever and ever, they could not improve. If they used the current one on every rebuild, legacy data could be fouled up. On the flip side, the unacknowledged use of old algorithms can lead to a lot of frustration - you expect things to work one way because of current experience, but when editing older models they work in unexpected ways because they use the old algorithms. I will point out some things that will tell you if the old one is in use, but it is not definitive.

This (and similar issues between releases) is also why I have adopted the habit of saving a parasolid copy of my models when released on the assumption that we lock in time a geometrically exact copy of what was sent out the door, regardless of when it is reopened down the line - I don't think that parasolids can change when opened in new versions (but am not even sure about that) Ed

Ed,

Is something wrong here when you have to spend hours experimenting with the software just to figure out how to get it to do what you want it to do? Is it possible that SW doesn't even know what it is doing?

Huh? You don't want to have to redo a model using and logging subtle variations of input geometry to see their effects on the result? And of course constructing as both solid and surface geometry, and when doing the surface version doing it all in one surface or breaking into individual faces and multiple features, then log all of those results against variables like guide curve influence, start and end tangency magnitude, then redo everything again as a boundary surface and surface fill to see what happens with those? Then repeat the process on a completely different model to be sure you aren't being misled by a red herring in any of the above (as I was earlier int his thread)? And repeat everything again when a new version comes out because anything might have changed?

Man... some people... :)

Funny thing Ed, I was in a cave this last week and had just that desire to explore all the nuances of being inside one of the biggest examples of 3D modeling ever created.

Fortunately the park Ranger wouldn't let me do that because we only paid for the two hour tour. The two hour tour.

Happy New Year Gilligan.

Ed,

NURBS mathematics, and the algorithms for sweeps, lofts, etc., have been "perfected" for well over a decade. They are pretty much standards, and are available as C++ source code libraries. Some even for free. Solidworks has been reinventing the wheel, and as a result, we can't rely on our shapes being consistent from one release to the next. As a kluge fix, they incorporate the previous stuff, but in some versions, (2001+ to 2003 comes to mind) a simple CNTRL-Q rebuilds to the new algorithims. I nearly ruined a $200K tool because of that one. The only thing that saved me was I compared the Parasolid, sent to the tool maker, to the new model. I had to use 2001+ to model the additions because the difference in local curvature, in the area in question, was over .010" when resolved in 2003. This means the data has to stay in 2001+ format until they build a new tool. If I have to do any further work, and I just might, I have to reload 2001+ to do it. This is so ridiculous it's laughable. Because I've learned that I can't trust it, every curvy project that goes out for tooling remains in the original format. This is unbelievably clumsy to administer, and adds up to alot of non value added labor.

I don't know of any other system that has "this" type of problem at this magnitude. It's been going on for years, and we just bite the bullet and put up with it.

Mark

This phenomenon has so little to do with development it would be laughable if it wasn't so irritating, not to mention costly. Just like removing the curvature comb trace curves instead of adding a $5 option button. Next release will have the curvature comb option button and the one after that a loft side curve influence option button. What we have here is deliberate, sometimes not very well thought out milking excercises. At least Solidworks has managed to stay on course instead of changing direction every few years and calling that development. Functional Design. What a hoot. Maybe that's the problem. If Solidworks had someone nipping at their heels they'd have put the buttons in.

This issue cropped up in this forum a few weeks ago and I commented back then that it doesn't have to be this way. I was a long-time I_DEAS user, and it allowed you to explicitly migrate each individual feature to the latest algorithm if you wanted to take advantage of new functionality. All old algorithms are still incorporated in the software, so that old parts will always rebuild correctly if you choose not to migrate.

I think this and many other "failings" of SWX are a function of the corporate mindset of Solidworks. It was created on the basis of "forget about those expensive unix based systems used by big organisations, here's our new cheap offering to be used at home and by one-man jobbing shops". I doubt they ever expected it to be so successful as a mission-critical system in larger organisations, and everything about it smacks of a lack of rigour in this regard. It very much reminds me of the differences between Windows and *nix OS's - look how hard it is for Microsoft to now make Windows a stable and secure platform, where they end up releasing patches for patches.

John H

messagenews:Fzxlh.1294$ snipped-for-privacy@newssvr12.news.prodigy.net...

up in this forum a few weeks ago and I commented back

Hey Ed,

Honestly, I'm not sure exactly what you're referring other than past issues with how algorithms change per sp/release. Have you any examples of your lofts which failed doing a ctrl-q in 2006 or 2007? I do recall one of your past examples failing (was more curve failure),.. the bottle which someone posted on the Product Design Forum?

Anyway, as far as algorithms per sp or release,... it would be REALLY NICE, "IF" we had the option to use whatever algorithm from a list -1,

-2, -3,.. version? I can't believe there are that many or it would be that difficult to implement or manage?

But yes, this is a problem from the past or maintaining SW loft, fill and some sweep data from past releases.

I know many of you reading this may say,.. well, I have never had any problem with lofts,..? Seriously, it's very painful when you ctrl-q or edit the loft and see it change shape or fail. You feel like,.. hey! I did this 1-4 years ago and it looked and worked perfect and it was also stable per a few configurations.... why, why should I have to rebuild the thing when I KNOW there is/was a algorithm used which I could/would like to use/maintain???

..

Jason, I was told at a UGS presentation that all the old I-DEAS algorithms were being ported to NX, because otherwise it would not be possible for 100% migration of all I-DEAS models to NX, which is their stated aim.

If the facility to migrate individual features has not yet been incorporated into NX then I imagine it will eventually be, as all the best I-DEAS functionality is gradually being integrated. Examples of where they've already done this is with a complete re-write of the NX sketcher, & incorporation of assembly configurations.

John

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required