Ultiboard IDF Converter

How to create an IDF mechanical CAD file from Ultiboard.

March 18, 2008

 

WARNING:  Although the application has been tested by National Instruments, please verify the accuracy of the output data of the IDF converter with expected data from Ultiboard and your mechanical CAD program.

 

General Overview:

Sometimes it is advantageous to export a PCB board from the Ultiboard layout tool to a mechanical CAD format to be able to rearrange or adapt the mechanical layout of the board for alignment, interference, airflow or other types of placement or cooling analyses.  The NI Ultiboard PCB layout tool has native CAD export capability to IGES and DXF (3D) formats which are supported by most mechanical CAD packages.  Unfortunately these natively supported formats do not allow for separation of the component objects from the board object, therefore mechanical CAD programs will usually treat these entities as a single monolithic object composed of a set of polygon shapes.  The IDF format, however, does allow for this and is the generally accepted way for separating PCB component objects (ECAD to MCAD) and to allow for this, the Ultiboard IDF Converter was developed to take the available DXF export capabilities of Ultiboard and to facilitate the creation of IDF board placement and component files based on the IDF v3 standard.

 

This program has been tested with the following software packages:

National Instruments Ultiboard v10.0                http://www.ni.com/

SolidWorks Office Premium 2007                    http://www.solidworks.com/

Desktop EDA IDF Modeler 4.2.6                    http://www.desktop-eda.com.au/

 

NOTE: There is a simple built-in IDF importer in Solidworks – however the IDF Modeler from Desktop EDA is the preferred tool for importing into Solidworks or other mechanical CAD packages.

 

Provided in this application are some sample Ultiboard project files and the appropriate exported output files generated from the tool.  You can run these example files directly without having to go into NI Ultiboard or Solidworks.  A listing of these sample files is provided at the end of this document.

 

 

 

Design Flow Overview:

  1. In Ultiboard, create PCB design files (ensuring that 3D mechanical data is present for all desired components)
  2. Export DXF layers and Part Centroid files from Ultiboard.
  3. Generate the IDF files (.emn, .emp) from these DXF files using the Ultiboard IDF v2 conversion tool.
  4. Import IDF design into Solidworks (or other mechanical CAD tool) using the IDF Modeler.

 

Detailed Instructions:

 

  1. Creating CAD output data from Ultiboard.

 

a.                   During board layout in NI Ultiboard, place your components and route as normal as shown in Figure 1.

 

NOTE: No route information is exported, so you can export 3D design prior to PCB routing if desired.

 

b.                  If you have created any custom components, ensure that they have the required 3D mechanical information so that the 3D mechanical information will properly export.

                                                               i.      Make sure the 3D bound information is defined with the 3D-Info Top information tied to the component

                                                             ii.      It is required to have 3D height information associated with components

 

Figure 1 – PCB placement in NI Ultiboard

 

 

Parts Centroid Report

 

c.                   First generate a Parts Centroids report (File -> Export and click to select the Parts Centroid report.)

 

d.                  While highlighted, select the Properties button and in Parts Centroids popup window choose TXT output (deselect CSV and HTML) and select units as “mil” as shown in Figure 2 and hit “OK’ to return to the Export window.

 

 

e.                   In the Export window hit the “Export” button and save the Part Centroids report in a specific file location.

 

NOTE:  Currently the program works best in using “mil” (in thousands of an inch) for the entire design since most of the parts in the library are by default specified with “mil” units as well.   The user can select other options, but the parts library would need to be converted from other units of measure to work properly.

 

Figure 2 – Part Centroids Report settings

           

2D DXF Report

 

f.                    Next generate a 2D DXF file (File -> Export and click to select DXF.)

 

g.                   While highlighted, select the Properties button and in the DXF export settings popup window choose ‘3D-Info Top’ and ‘Board Outline’ and use the “->” button to move these layers into the ‘Layers to Process’ section.   Also make sure the file units are set to “mil” as shown in Figure 3 and hit “OK’ to return to the Export window.

 

h.                   In the Export window hit the “Export” button and save the DXF report in a specific file location.

 

Figure 3 – DXF (2D) export settings

 

3D DXF Report

 

i.                     Next generate a 3D DXF file to extract 3D height information for the component (File -> Export and click to select 3D DXF.)

 

j.                    While highlighted, select the Properties button and in the DXF export settings popup window select Components and Board Outline for the this selection (uncheck all others.)   Also make sure the file units are set to “mil” as shown in Figure 4 and hit “OK’ to return to the Export window.

 

k.                  In the Export window hit the “Export” button and save the DXF report in a specific file location.  The default filename and extension will also be “.dxf” so it is required to change the name of the file.  I recommend changing the name to projectname_3d.dxf so this file can be clearly distinguished between the 2D DXF file processed previously.

 

 

Figure 4 – 3D DXF export settings

 

  1. Loading Part Centroids and DXF Files to Create IDF

a.                   Open the Ultiboard IDF converter and choose the reports just created in the previous steps by selecting the folder button next to each file display box.

 

b.                  As shown in Figure 5, select the “Load” button to start processing these files (the tool will automatically jump to the ‘Output’ tab.)

 

NOTE: You can read back a previously created IDF file by selecting the IDF board file (.EMN) and then select the “Load IDF” button.

 

Figure 5 – Selecting Centroids and DXF Files

 

c.                   The Ultiboard IDF Converter will then process the components and locate the appropriate 2D and 3D mechanical CAD information for each component.  Depending on the design this may take a few seconds or a few minutes depending on how many objects are in the design files.   Once complete the conversion button (which shows you a % update on the conversion) will change to “Generate IDF” as shown in Figure 6.

 

NOTE: If there is a problem with locating and associating certain component objects (or if there are 3D objects that are not correctly associated with components), the tool will flash a warning button which can be selected that will jump into a tool for associating parts with the 3D component information.  Please see the final section for “Managing Component Associations” for information on how to further process these parts.

 

d.                  Click on the “Generate IDF” button to generate the “.EMN” (board and placement file) and “.EMP” (component definition/library file.)

 

Figure 6 – Components Showing Succesful CAD Parsing

 

e.                   Once saved, the tool will jump to the ‘Preview’ tab and display a 3D rendering of the PCB and the generated components as shown in Figure 7 (FYI: this is a relatively new 3D rendering feature of LabVIEW version 8.)

 

f.                    In this preview tool, you can rotate the component using the mouse to drag and rotate the component – or you can use the slider controls to move the 3D view perspective in all three dimensional axes.

 

Figure 7 – 3D preview of IDF output

 

 

  1. Importing IDF CAD Files into SolidWorks

 

NOTE: This tool has been tested with SolidWorks 2007 with the IDF Modeler tool from Desktop EDA.   The IDF standard, however should be applicable to other mechanical CAD tools that follow the IDF v2 or v3 standard.

 

a.                   Within SolidWorks, select the IDF Import tool by going to the menu and selecting File -> IDF Modeler -> Import IDF

 

b.                  Select the *.EMN file previously created (the .EMP file should be located in the same directory).

 

c.                   Select the “Create Assembly” button as shown in Figure 8 from the IDF Modeler popup window.

 

Figure 8 – IDF Modeler Popup with SolidWorks

 

 

d.                  The IDF Modeler import tool should display a status bar to indicate the creation of individual components (.SLDPRT) and then create a full assembly drawing as shown in Figure 9.

 

e.                   At this point, once the IDF is in the form of an assembly drawing within Solidworks, it is now possible to associate these solid model component renderings to more enhanced component models or it is possible to perform airflow or heating analysis on the board with the associate components, however this is beyond the scope of this document.

 

Figure 9 – Assembly Drawing in SolidWorks with Separated PCB and Component Entities

 

 

  1. Managing Component Associations

a.                   For simple and regular shaped components (such as rectangular shaped components), the DXF information that Ultiboard generates is simple enough that the tool can automatically convert a high percentage of these types of components.  However, sometimes when the 3D rendering information for components is more complex the algorithm that associates these shapes with actual components (from the centroids report) may not correctly associate all of the parts that make up a single component.   When the Ultiboard IDF Conversion tool does not correctly associate these part-components combinations automatically it is necessary to associate these components manually to ensure that the mechanical data in the IDF files are accurate.

 

b.                  If there is an error in the parsing step, the tool will automatically jump into the part association tool.  However if you want to check and manage part associations manually, the output tab also has a button called ‘Check Associations’ which will allow you to go into the tool.

 

Figure 10 – Manually Associate DXF Parts

 

c.                   Once in the tool as shown in Figure 10, you are shown a depiction of the board, the associated parts and possibly any unassociated ‘parts’ that need to be associated manually to the real ‘components’.

 

d.                  As you navigate the Components selection, the center of the part (from the Centroids Report) gets marked with an ‘X’ cursor.  If the component already has an associated part (or parts) these will be connected via an unenclosed line to makr the border of the component.

 

e.                   To associate an ‘Unassociated Part’ to the selected Component, navigate to the identifier for the unassociated part and select the “->’ button to associate or “<-“ to unassociated the part to the component.  You will notice whether or not the part-component is correct by visualizing whether the component is correctly highlighted.  Once correct the center of the part (marked by the ‘X’) should be enclosed with the outline of the part.   If the outline of the part is red with circles at each vertex - this is showing you that the part is not correctly associated to the component.

 

f.                    Once you have correctly associated all ‘components’ with their related ‘parts’, click ‘Accept’ and the tool will return to the Output tab and reparse the DXF file with the updated associations you have manually made.  Hitting ‘Cancel’ will go back without updating any association information.

 

 

Figure 10 – Correct Association of U4 on Left – Incorrect Association on Right

 

Other Features:

The tool also has some settings to allow you to do set parameters or enable special capabilities in the IDF data.

 

 

  1. Managing or Updating the IDF Database.

 

Sometimes it may be necessary to create a more detailed 3D mechanical part model in IDF than is provided for in Ultiboard or use existing IDF parts that have already been created previously in other mechanical components.   In this case you can create your own IDF outlines (with height information) with a tool that is part of the IDF converter.  To access these tools go to the IDF Library tab.

 

a.                   Working with an IDF Cross Referenced Library

 

If you have your own IDF part library you can cross reference the Ultiboard parts with your own IDF created parts by using a library XREF file.  There is a default one built into the tool, however you can open the XREF file and see that the formatting is simple enough allowing you to create your own cross referenced parts from Ultiboard.    To ensure that the parts in the XREF table will be used first, you will need to uncheck the “DXF Overrides DB Shape” setting in the configuration tab.  You can also use the Add/Remove feature to manage this file from within the tool.

 

b.                  Creating a new IDF part

 

There are several ways to create an IDF part.  The best way is to modify the 3D mechanical layer and 3D height information in NI Ultiboard and let the conversion process automatically create these parts.   However, if you prefer to use the XREF library to manage your IDF parts, you can also create your own IDF parts by selecting the ‘Create New” button.  This will bring up the IDF Part Create Tool as shown in Figure 11.   To use this click on the window (or manually add X, Y information) to create vertices for your part (create them in a clockwise fashion).  Once complete define the IDF shape name and Part name (the NI Ultiboard Component), the height (and unit), and also make sure the library path (directory) is correct on the Status tab.   You can view a 3D picture of the component by selecting the “Generate Preview” button.   Once correct you can save the part (the ‘Save’ button or simply ‘Exit’ to go back to the main IDF Conversion tool.

 

Figure 11 – IDF Part Creation Tool

 

  1. Changing the Automatic conversion parameters

 

It is possible to change the settings for the automatic process that converts the Part Centroids report and DXF (both 2D and 3D) into IDF components.   The sensitivity of how these files are created is given in the Configuration tab.   Here are the options you are given.

 

a.       DXF Overrides DB Shape – This setting allows you to override the automatic DXF to component creation process.  Uncheck to use existing DB shapes first (default is to allow the tool to create new IDF components from the DXF information)

 

b.      Save Parts to IDF Library – This setting allows you to save all the automatically created DXF parts to the IDF library.  Uncheck to NOT save created parts to DB (default save parts to DB).   The IDF parts (and the cross reference document) that get created are temporarily saved in the /temp folder.

 

c.       Remove TPs? – This setting filters any Test Point components from the Part Centroids report that might cause problems with associating DXF data to components.  TP are parts that typically do not 3D data (which can cause warnings).  The default is checked to remove TPs.

 

d.      DXF Tolerance – Sets the sensitivity for combining DXF export into a part shape.  This setting allows you to change the sensitivity to how close DXF segments need to be to be considered a combined ‘part’.  Typically square or rectangular parts do not have to be set to a higher sensitivity; however when rounded parts are broken up into segments in the DXF conversion process, the endpoints may not exactly match – so you need to adjust this tolerance to account for this.   The default DXF tolerance of 10 (specified in mils) is typically a good number to start.  You can decrease this if parts are too close together (and the tool starts combining parts that should not be combined) or you can increase this number if parts are not being combined properly (which can results in warnings in the DXF conversion process). 

 

e.       Position Tolerance – Sets the sensitivity for associating DXF part shapes to components.   This setting allows you to adjust how close ‘parts’ need to be spaced – to be considered grouped together with the same component.   Multiple parts can be associated with the same part.  If the part’s centroid is contained by the outline of the part – the part will be associated with the component.  For parts that lie outside of the centroid, this rule will help determine how close these parts need to be positioned to be considered as combined with the component.

 

f.        Ref Des for MH - If you would like to place tooling holes in the PCB and have them reflected in the IDF data, define a standard refdes and set the 3D mechanical information (3D top) - this will cause a hole to be formed in the IDF data (default MH - mechanical hole).  More details are found below.

 

  1. Creating Mechanical Tooling holes in the IDF format.

 

To create mechanical tooling or alignment holes within the IDF data, it is necessary to designate them with a special reference designator in Ultiboard so that the IDF converter can properly format them into the IDF board file.   To do this, you will need to make sure the mechanical hole has a 3D top mechanical layer that outlines the mechanical hole area to be created.   There doesn’t need to be height information associated with this part, however when the 3D top information is located, these special parts will get designated as holes on the PCB layer.

 

NOTE: From Ultiboard it is recommended to do an ‘In Place Part Edit’ (Select Part and from menu select Edit -> In-Place Part Edit) to include the 3D Top Information.  For including shapes such as circles you draw the shape and then remove the interior information by selecting the properties for the shape (right click).  From there select the General tab and change the area property from filled (a dark box) to outline (a light box with border).

 

An example Ultiboard design is shown in Figure 12 where the reference designator of the mechanical hole was specified as MH1 and MH2 (the default reference designator) and the circular 3D Top information was added to designate the cutout area.

 

Figure 12 – Example Design with Mechanical Holes

 

Finally the design is converted into an IDF file and the results are shown in Figure 13 in Solidworks after a successful conversion.

 

NOTE: The preview display in the Ultiboard IDF Converter may not correct display the PCB with the hole information correctly – this is an artifact of the LabVIEW 3D drawing engine and for irregular shaped boards it may add artificial edges that are not part of the IDF format.

 

Figure 13 – Solidworks after IDF Export with Mechanical Hole Information

 

 

Sample Files Listing:

 

IDFV3sample.emn

This is a sample IDF board file of the IDF v3 specification.  This can be opened from the “Load Existing IDF” section on the starting IDF tab of the application.

 

IDFV3sample.emp

This is the associated IDF part file of the IDF v3 sample from above.

 

IDF Example PCB.ewprj

This is an example Ultiboard project used to demonstrate a simple PCB to IDF export.

 

IDF Example PCB(IDF EXAMPLE) – Parts Centroids.txt

This is the formatted Parts Centroids report for the example IDF Example PCB project.

 

IDF Example PCB(IDF EXAMPLE).dxf

This is the 2D DXF file exported from the IDF Example PCB project from Ultiboard.

 

IDF Example PCB(IDF EXAMPLE)_3d.dxf

This is the 3D DXF file exported from the IDF Example PCB project from Ultiboard.

 

IDF Example PCB.emn

This is a sample IDF board file for the IDF Example PCB sample project.

 

IDF Example PCB.emp

This is the associated IDF part file for the IDF Example PCB sample project.

 

IDF Example PCB w Holes(IDF EXAMPLE) – Parts Centroids.txt

This is the formatted Parts Centroids report for the example IDF Example PCB w Holes project.

 

IDF Example PCB w Holes(IDF EXAMPLE).dxf

This is the 2D DXF file exported from the IDF Example PCB w Holes project from Ultiboard.

 

IDF Example PCB w Holes(IDF EXAMPLE)_3d.dxf

This is the 3D DXF file exported from the IDF Example PCB w Holes project from Ultiboard.

 

IDF Example PCB w Holes.emn

This is a sample IDF board file for the IDF Example PCB w Holes sample project.

 

IDF Example PCB w Holes.emp

This is the associated IDF part file for the IDF Example PCB w Holes sample project.

 

Conclusions:

Although NI Ultiboard does not natively support IDF, the Ultiboard IDF conversion tool will allow you to create IDF formatted CAD information that can be used for a variety of mechanical CAD operations such as placement checking and heating and cooling analysis.