web page logo for wafermap convert V2

How to Export STEP for Import into Abaqus

September 17, 2020


If you are trying to convert layout data such as a multi-layer PCB into Abaqus for 3D simulation you will probably first convert your board data into the 3Di format and then use 3Di2STEP (likely from within 3DVU) to produce a STEP file. Abaqus can then import the STEP data which will provide you a 3D model of your circuit board.

However the way Abaqus imports STEP data is quite annoying. It does not really follow the organization of data that is found in the STEP data. Here is what the user's choices are:

Neither option is really what most users want.

Work Around

The work around is to create multiple STEP files from a single 3Di file - one STEP file for each layer. The use Option 2 - Import all Solid Bodies into a Single Part. You will get a part containing all the bodies for the layer you used. Repeat this until you have processed all of the board layers - both the copper conductor layers and the dielectric layers.


Handling Negative Dielectric

By "negative dielectric" we made a group of dielectric solid bodies that lie on the same elevation as each copper layer. Normally when you build an actual PCB, the temperature and pressure associated with laminating the PCB forces the pre-preg to flow between the gaps between copper traces so there is no "air" left inside the PCB.

However because we model the PCB as a series of separate layers, our model has "air" between traces on the same conductor layer.

This will cause the 3D mesher to treat these non-existant air pockets as if they were present and not only makes the mesh much more complex but will return incorrect results because of the large difference between the dielectric constant of the PCB material and that of air.


Example

Imagine the case where you have a two layer PCB - top conductor = M1, dielectric = BOARD1, drill = D1 and bottom conductor = M2. If you need the "negative dielectric" also then you would have M1-1 to fill in the areas on M1 between traces with dielectric, and M2-1 to fill in the areas between the conductors on M2.

cross section of PCB showing before negative dielectric generation and after negative dielectric generation.

So how do you import this into Abaqus?

1. Use Boolean/Negative Dielectric

Use the Boolean menu item in 3DVU and define the board extents using the dielectric layer D1_BOARD. This is needed to generate a negative dielectric.

Boolean settings for negative dielectric

Once you have the correct settings, click on Execute. This will generate the two negative dielectric layers and place them in your 3Di database.

Then save this 3Di database under the filename of your choice. Say pcb_stackup.3di.


2. Create a Separate 3Di for each Layer

Because of the way that Abaqus imports STEP, we will need to create a separate STEP file for each "layer". We do this by first creating a separate 3Di file for each layer.

Do this by turning off all layers except the one you want to export, then use the File | Export | Visible menu option to save the visible layer to its own 3Di file. For example, if you have turned off all layers except for M1, export it and call it M1.3Di. Do that for M2,D1,D1_BOARD, M1-1 and M2-2. You should have 6 3Di files now, one for each layer.


3. Exporting a STEP file for each Layer

Now that you have your 6 individual 3Di files, export STEP from each one. Open the file, go to the Export | STEP dialog and export it. Repeat until you have 6 STEP files.

Export STEP dialog


On the Abaqus Side


4. Create Part from STEP File

On the Abaqus side, we are going to import each STEP file and create a "part" for it. We will use the Part Filter: Import All Parts and also Combine into a single part. So when we import the STEP file M1.STEP we should get a part called M1.

importing STEP into abaqus to create a part.

We will repeat this over and over again until we have all 6 parts defined.


5. Creating an Instance in Abaqus

We've got our parts in Abaqus and now we need to actually "place" them. Fortunately, the way the STEP data (and thus the parts) were created, each part's reference point is 0,0,0 but the geometry data is positioned as in the original stackup. So there is no need to know where to place the instance.

creating an instance in Abaqus using our parts ..

(The screen shot only shows a couple of parts for simplicity but for the whole board you should have all 6 parts in the list)

Once you click Apply or OK, Abaqus will now have a model of your board. And each "layer" is segregated into its own "part" so you can assign electrical properties such as conductivity and dielectric constant on a per part basis.

Abaqus display of the assembled model.