Blog Home

IF

• 5+3+2 = 151022
• 9+2+4 = 183652
• 8+6+3 = 482466
• 5+4+5 = 202541

THEN

• 7+2+5 = ?

Do you ever get these riddles sent to you, usually some arithmetic problem?

I'm not particularly good at them, nor can I ever, ever, ever solve those infuriating little brain teasers where you get the metal stick off of the metal ball.

I always wonder what is the skill that makes some good at these and others not. Is it lateral thinking, exploring indirectly related ideas until you hit on the right one? Is it being extremely observant, in that you notice every detail about the problem in question, so that you can then question why that detail is present and whether it is important, like a crime detective?

A few days ago, I felt myself in this same situation except that this time the challenge had to do with work… A customer sent in a Catia product (assembly) file that failed to load for no obvious reason. Now, I am sort of new at troubleshooting foreign data files - I've always been more internally focused. But I'm trying to get better, so I'm playing with things a little more, learning more about the customer side of 3D Interop, and therefore . . . translation problems. So far, it's fun. Every time I think I'm stuck, I've got some tiny lead to explore that eventually helps me understand the larger problem. Not this time . . .

Our Catia V5 reader is extremely robust, so I thought, well something is definitely wrong with this file. Load it into V5, no problem. Hmmm . . . Get a tea. Repeat the process with the same result. Hmmmm . . . Now I'm stuck. So, I gave up on my riddle and went to ask the expert.

At first, he was stumped too. "This is weird, our reader doesn't usually do that unless the file is really corrupt." Then the wheels in his brain started working . . .

In the specified 120 seconds, he found the problem. How? Through prior experience? No, he'd never seen this problem before. Through a guess? No, I actually watched him follow some sort of weird lateral/observant thinking process, taking little tiny baby steps until one small guess pointed him in the right direction.

What were his steps?

1. Translate the file in Interop - fails
2. Try various different Interop options - still fails
3. Open the file in Catia V5 - looks fine (here is where I got stuck)
4. Save the file from Catia V5 to Step (why did he think of that? is this where the lateral thinking comes in?)
5. Translate the file from Step to Acis in Interop - translates correctly and looks perfect (interesting)
6. Try to save the file from Catia V5 again but don't actually do it. (Why?)
7. Stop, think. (Why is he stopping? Oh, the .CATProduct* extension is not on the save list. Weird)
8. Open a different CATIA assembly file in Catia V5. Open the save dialog box to see if the .CATProduct extension is available, which it is. (Where is he going with this?)
9. Open a CATIA part file in Catia V5. Open the save dialog box to see what is there - only the .CATPart extension is available, not .CATProduct. (Oh, I think I'm seeing…)
10. Save the customer file to .CATPart (I wonder why .CATProduct isn't available for this file...)
11. Translate in interop - looks perfect
12. Change the extension of the customer file to .CATPart.
13. Translate in Interop - looks perfect (Wow, cool)
14. Reopen the renamed file in CatiaV5 to see if it now has problems - nope looks fine too (So the file extension has probably been tampered with, nothing is actually wrong with the data.)

So this was a pretty weird case, and obviously I don't expect to come across it again soon. But I still learned one general trick for troubleshooting cad translation failures - reroute the file through as many paths as you can think of: saving, opening, closing, translating.

What the term for this skill is, I'm still not sure, but I feel I'm a little closer to solving the next riddle.

I'm curious - how do YOU go about solving a challenge such as this, and how do you improve those skills?

*Note - .CATProduct = CATIA assembly/product structure file, .CATPart = CATIA part file

Tags: 3D Interoperability