Jump to content

Easy CAD model alignment via SolidWorks results in failed collision detection


---
 Share

Recommended Posts

Hello, this is a quick description of a method I've discovered to align your CAD model to the virtual machine coordinate system BEFORE importing, i.e. no sloppy CAD model transformation. I haven't tested a program created using this method on my Duramax yet because for some reason my simulation is not detecting collisions with my test program and the issues may be related to it, which is the reason I am posting hoping that someone can explain why simulation is missing blatant collisions. More on that after the import/alignment method:

A lot of people on the forum have asked how to align the part and the answer is always a transformation or positioning via 'Modify CAD Entities' within Calypso, but alternatively you can import the part in its preferred location and orientation relative to your machine with a coordinate system coincident to the machine's already embedded in the file. I use Solidworks, I'm not sure if it is as easy in other softwares. The trick is that there are .sab CAD files of every machine within the Calypso program files (possibly for Simulation seats only?) that you can open in Solidworks (Make a copy to be safe!). They have the machine coordinate system located at the origin of the model. Create an assembly, import the machine file and Float it, then mate the origin of the machine to the origin of the assembly and make sure to check "align axes." I'd save that as a template for convenience. Next you can import your parts and fixtures, mate them to the table and align to front/top/side planes, fix them, then suppress the machine so it doesn't get imported on top of the one Calypso uses for simulating. Save that as your preferred solid file type, I've only tried .STEP and .SAT and it worked to an extent. Load the CAD into Calypso, and it should appear right where you fixed it on the machine table ready to go. When you make a base alignment on your part, you have to uncheck "Set base alignment to zero" or it will jump to machine (0,0,0)

For me, this is much easier than manually positioning the CAD in Calypso, but read on to see where there might be some concerns. (I also used this method to import and place a work area and saved that so I can easily import my loc-n-load plates and make them disappear when I'm programming)

After I got all that working, I created a test program to make sure nothing weird happened, and unfortunately I found that my collision detection in simulation wasn't detecting any collisions with machine, work area/fixture plates, or the part itself anymore. I know that the probe I'm using works in simulation and have it used in currently running programs so it's not that... I'm curious if anybody else tried this method or something similar, and if anybody has seen similar issues with simulation not detecting blatant collisions.
Link to comment
Share on other sites

I'm not a CAD expert, so I don't understand everything you did. Could you explain in more detail and with a few screenshots?
I assume you didn't modify the original machine .sab file in any way? Because this is used for simulation as you already guessed. But it 's also used for simulation kinematics, so any modification of the original may have negative effects on simulation.
The rest of what you did, I haven't understood well enough to form an opinion.
Link to comment
Share on other sites

Absolutely. To be clear I didn't edit the model, I recommended making a copy of the .sab file and pasting it to a different directory before doing anything which is what I did. Also, I actually left out one clever step I had forgotten about that allowed me to utilize the .sab file because my version of SolidWorks can't open .sab, so here's the procedure starting from after I made the copy.

To create .STP file of the duramax to use in Solidworks, start in Calypso:
1. Create new measurement plan
2. Cad >> CAD File >> Load and open the duramax.sab file
3. Cad >> CAD File >> Save and save the CAD as STEP

Next, Open up Solidworks:
1. Create a new assembly
2. Insert Components >> Browse >> Open the .STP file
3. Right click the Duramax in the feature tree and click 'Float' 2922_6a8e7e3d3db86ec0ee62034bc45f5080.png
4. Create a coincident mate between the origins of the duramax and the assembly, checking 'Align axes'. This works because the CAD model of the machine has its origin at MCS (0,0,0) 2922_5568c955ec76c3a8b109d983d61e67bb.png
5. [Optional] Insert any table fixturing to the assembly and mate it to the Duramax. Save this assembly so you can use it as a template to quickly set up other parts
6. Insert the part to be measured and mount it to the table/fixturing where it will sit during inspection w/ mates
7. Fix the part in space so that when we suppress the duramax and fixture plates it still maintains some relationship to the coordinate system 2922_b5880f12a1a12ac423a50635fa7b0722.png
8. Suppress the duramax and any fixturing. As I mentioned in the original post these can be imported into a Calypso inspection program seperately and used as "Work Areas" but I determined that wasn't causing the collision issue so I won't include that here. If you're unclear on component suppression, it basically removes the component geometries from the assembly and any relationships they had to other components but in a temporary way. While suppressed, I could move the part around since it no longer has relationships to the table/fixturing via mates, but we 'fixed' it to prevent that issue. In the assembly the part is now fixed in space, still in the same location relative to the MCS as it was before suppressing the duramax
9. Save as .Stp, or some solid model file type that Calypso can open. A popup will appear asking to resolve hidden or suppressed components, you must hit 'No'

Now open up Calypso and load up the part:
1. Create new measurement plan
2. Cad >> CAD File >> Load and open the pre-aligned .stp
2922_1ea9ffb2a5f3634d2fd1008234dd4d36.png
It should open up right in position on the table. Image shown above comparing SolidWorks and Calypso simulation. In the Calypso image I had not loaded in the work area to match, but if I do the part sits right on the same 1/4-20 hole on that fixture plate as it does in solidworks, showing that both the part and the fixture plates all loaded in properly located relatively to the MCS, which therefore matches up with the origin I mated to in SolidWorks.

I hope that's not too long-winded. I've got Zeiss support looking into this as well, I'll report if they come up with a bug definition or solution
Link to comment
Share on other sites

Ok, I think I got most of it so far. One further question:
When you load the part in Calypso, where is its base alignment tripod located? Is it congruent with the MCS origin or is it still where it originally was on the part? Because if it's now congruent with the MCS, but the base alignment definition in Calypso locates it elsewhere, this might explain the sim issues. I never investigated what happens if a part is placed like this, but I wouldn't be surprised if Calypso would produce some mismatch between what's shown on the screen (the stylus touching the part) and what's really calculated (no collision, because it expects the part somehwere near the MCS origin).

When you place the part with the Calypso functions you normally keep "drag base alignment" checked to prevent this. It's not a problem to have the base alignment origin somewhere else as long as the BA definition corresponds to it.
Link to comment
Share on other sites

You raise an interesting question. When I load the part into Calypso the tripod shows up at the MCS origin:
2922_1b0a3baa1267263d585d6420eddc7d55.png
but I'm not exactly sure what you're asking about the base alignment. There is no base alignment evident to me until I create one from CAD features, unless there are two tripods one on top of the other? I did notice some strange behavior that might be related to what you're getting at though. When I first create my BA with "Set Base Alignment to zero" unchecked, I have to toggle the machine CAD view to redraw the machine, otherwise the part shows up with its BA (and model) at MCS origin, with a second tripod floating in space relative to the part and where my .STP file has ITS origin. (See picture below). Redrawing the machine seems to fix it and put it back to where I want it/where it was when I imported the CAD.
2922_4d264ccda1f36d371060c4b5387dd36e.png
Link to comment
Share on other sites

Hard to tell which side-effects your method may have. All I know is that Calypso doesn't allow the coordinate system resulting from the definition in the base alignment dialog to be different from the coordinate system of the model. Both must be identical, otherwise Calypso will translate the model's CS (and eventually the model itself) accordingly.

The question is whether your method somehow introduces such a difference that Calypso isn't aware of for whatever reason. Hard for me to tell as I have no means to reproduce your steps. Maybe someone else with access to Solidworks and an offline seat can try.
Normally an offset between both coordinate systems should be resolved if you open and close the base alignment dialog once, so the calculation gets updated. I don't recommend unchecking "set base alignment to zero" as this may complicate matters.
Link to comment
Share on other sites

I've realized I don't need to uncheck set base alignment to zero, I started taking that step because I thought it was the solution to the CAD representation error that I was misunderstanding and fixed by redrawing the machine model. Still getting the collision error though.

I haven't heard back yet from Zeiss, fingers crossed because I really prefer this method to the translation method. I could potentially have an up to date model of my machine with all fixturing just as a reference, or for use as a workspace model, or to use for inspection planning. we're running more and more parts on the Duramax and the table is getting crowded with fixtures.

I suppose an alternative would be to create the solidworks assembly and measure the necessary translation of my base alignment to the MCS for that exact location, but while I wait for Zeiss to get back I might try running a few programs using the import in place method to see if I get any errors in real space. Thanks for your input thus far
Link to comment
Share on other sites

 Share

×
×
  • Create New...