Read3Di Web Page Header

Read3Di Revision History


This page summarizes the changes, enhancements and fixes to the Read3Di program.


Read 3Di 2.0.26 [06/24/2022]

VC Redistributable 2008 Libraries from Microsoft

The installer includes the VC Redistributable 2008 Libraries from Microsoft which will be installed automatically if they are missing from the computer the software is installed on.
The installer was upgraded to support the new code signing so it will display as a signed executable from Artwork.


Read 3Di 2.0.25 [01/30/2019]

Wire Segregation to Remove Solid Body Interference

Normally each tier of wires is put on a unique 3Di layer; when imported into SolidWorks all wires on a layer will be placed into a single SW part.

However it is possible that wires on a single tier may still interfere with each other - for example a double bond wire may have both bond wires ending on the same spot either on the die or the bond finger. This causes a problem during wire import as SolidWorks will not "extrude" the 2D wire model into 3D if there are any solid body interferences.

This is now addressed by a new wire segregation algorithm.

Read3Di checks for any wire interference and if it finds such interference it moves one of the wires to a new "group". This group will generate a separate part. In that manner, no wires in a common group will interfere and SolidWorks will not run into problems extruding the sketches into solid bodies.

Component Reference Location Enhancement

In earlier versions, Read3Di used the 0,0 coordinate for all component insertions -- this means that the component's local coordinates were shifted, based on the where the component was placed onto the board. (The reason for this was that Artwork's own programs that generated 3Di placed all components on a single layer)

However some users want to replace the simplified component body generated by an extrusion with a more realistic and detailed model once

in their 3D modeling tool. Since the detailed libraries of components almost universally have their reference point at the bottom center of the component, replacing such components required a user to manually adjust the X,Y and rotation.

From this version on, any 3Di layer that contains a single extrusion, (as 3Di files output by Cadence SIP do), the Read3Di will find the center bottom position of the component and set that to 0,0,0. It will then apply the correct insertion coordinate when building the SolidWorks assembly. This should make replacing the crude component model with a detailed one easier.




Read 3Di 2.0.24 [01/17/2019]

A number of enhancements specific to 3Di files which are produced by Cadence SIP and which affect the generation of negative dielectric and the clipping of soldermask layers.

Cadence Drill Layers

Problem: Cadence exports both via objects and dielectric board with holes to layers named DRILL_<N> This is a problem because part of the computations for negative dielectric generation. requires unionizing layers.

Solution: The 3D-VU Negative Dielectric function now automatically separates these objects, by moving the board object to layer DRILL_<N>_DIELECTRIC. The sample designs provided only contained layers named DRILL_1 but multiple layers (DRILL_2, DRILL_3, etc.) should be automatically separated by this version.

Slivers at the package edge

Problem: SolidWorks extrusion failed because of small slivers generated by intersecting the soldermask data with the negative dielectric. There was an additional complication because even though one of the sample 3Di files was using MM units with 6 decimal places in the data, the 3Di file header stated that the file used a precision of only 3 decimal places.

Solution: Sliver filtering was added to the Boolean operation with the sliver parameter determined from the design units, rather than the design precision which could be unreliable.

Handling Layout with Metal Outside the Package Outline

Problem: A user submitted design has conductor data extend beyond the design outline. (this is not unusual due to plating bars used in many package designs.) This was a problem setting up the Boolean operation for the negative dielectric and required the user to define a virtual board outline bounding box in the GUI. However the work-around had the additional problem of creating an incorrect size board object on the inner dielectric layers.

Solution: The Negative Dielectric function now checks to see if the conductor data on a layer extends beyond the user-defined design outline. If this is the case, a virtual board is calculated which is at least as large as all of the conductor data on the layer. The combined bounding box is then scaled by a further factor of 1.01 to ensure that it does not intersect with the conductor data. When the negative dielectric is being intersected with soldermask then this larger outline is eliminated as part of the calculations. Since the process is performed on a per layer basis, this also means that the inner dielectric layers use the true design outline specified by the user and the output is consistent with the expectation. The result is that the user should now simply choose the design outline layer in the GUI and not need to specify a virtual bounding box.




Read 3Di 2.0.23 [11/09/2018]

Added support for new features in 3D-VU -- in particular the negative dielectric can now be generated in 3DVU.




Read 3Di 2.0.22 [10/24/2018]

Added a control to enable adding fillets to the wires bends and to define the radius of the fillets when the option is enabled.




Read 3Di 2.0.21 [10/10/2018]

Added a control to limit the number of non-extrusion objects per part. (This applies to layers such as solder balls and possibly wires.




Read 3Di 2.0.20 [10/05/2018]

Added controls to enable limiting the number of vertices per part for 3Di extrusion objects. This helps to balance the time required to import a 3Di file. Note that this leads to data where large ground planes may be split into multiple, butting polygons.

This function was added to in order to allow SW to import a large number of extruded entities that originated on a single CAD layer.




Read 3Di v2.0.19 [4/4/2017]

New Extrusion Sketches option

This version adds a check box to the Settings dialog which controls whether all extrusion sketches will be constrained/fixed.




Read 3Di v2.0.17 [11/4/2015]

Thermal Simulation - Fill-in Dielectric

Previous versions assumed that the board extents, when computing fill in dielectric, were rectangular. This version now uses the boundary of the pcb dielectric layer (just the first one since they are all identical) as the proper bounding box for the negative (i.e. fill-in) dielectric shape computations.




Read 3Di v2.0.16 [9/21/2015]

Export Folder Setting

This version adds a check box to the Settings dialog which controls whether a subdirectory is created for each imported 3Di file. The default value is ON.
Clients who wish to use the "old" folder setup where all files are saved in one folder, will have to turn the option Off.
The option is saved in the registry so there is no need to reset it every time you run the tool.




Read 3Di v2.0.15 6/15/2015

PolyArc Support

Adds support for 3Di v2.1.1 which supports polyarcs




Read 3Di v2.0.14 5/15/2015

Spheres and Barrels Support

This version adds support for 3Di spheres and barrels.




Read 3Di v2.0.13 5/6/2015

Wire Support

This version imports 3Di wires. We were not able to import 3D wires prior to this due to a bug in SolidWorks which was corrected in SW 2018 SP2.




Read 3Di v2.0.12 4/15/2015

USB License Fix

This version fixes USB licensing.

SW Output Modified

This release hides the reference planes and assigns color information to hole faces.




Read 3Di v2.0.11 3/3/2015

Boolean Library Updated

The Artwork Boolean library was passing back a triangle made up of three coincident points. This caused SW to crash. Fixed.




Read 3Di v2.0.10 11/24/2014

New Installer

Replaced the old InstallShield based installer (which sometimes would hang) with a new more modern one.




Read 3Di v2.09 10/10/2014

Hollow Via Model with Plugs

Added to the thermal simulation option the ability to generate "hollow" vias. The user sets the via wall diameter. Additional option to filter out vias less than a user specified minimum diameter. Finally, "plugs" that simulate the conductive epoxy fill for hollow vias can be generated.




3DVU 2.29 09/05/2014

New 3Di2STEP

Updated the 3Di2STEP engine to v2.0.3. This version improves the modeling of curved surfaces and holes.




Read 3Di v2.07 08/22/2014

Cutout Touching Boundary

User reported an extrusion failure under a condition where a "cutout" just touched the boundary surrounding it. The Boolean library has been modified to detect such a condition and to move the cutout a very small distance away from the boundary.




Read 3Di v2.06 08/18/2014

Fix problem with Customized Reference Plane

Customer who had a default SolidWorks part where the default reference planes were renamed could not get the program to work - Read3Di could not find the expected reference plane. This has been fixed.

Flexlm licensing

This version enables validation of FLEXLM network licensing during the installation.




Read 3Di v2.05 06/13/2014

Flexlm License Validation

This version enables validation of FLEXLM network licensing during the installation.




Read 3Di v2.04 06/06/2014

Conflict with Existing Sketch Resolved

If SolidWorks starts up and a sketch is automatically created in a so called "empty" part by a start up module or script, Read3Di was unable to properly create or extrude sketches. This has been resolved.




Read 3Di v2.03 05/27/2014

Extruding problematic parts

This version detects if one of the sketches of a part (boss or cut) could not be extruded. If this happens, the software imports the part again with sizing enabled. The amount of sizing is automatically calculated and no intervention is required by the user. The second pass is noted in the log file.




Read 3Di v2.02 05/12/2014

Major Re-Write of Read3Di

This version is almost a complete rewrite of the original Read3Di. It does extensive data prep and cleaning prior to creating the SolidWorks sketches in order to insure proper extrusion.

Includes the new Thermal/Stress options that create optimized PCB structures for finite element analysis meshing.




Read 3Di v1.15 11/21/2013

New Updates

Changed the small edge length units to design units in the dialog.
Changed arc sag to chord error in the dialog.
Changed the chord error units to design units in the dialog.
Added debug options to dump 3Di and DXF files to the user's temp directory.




Read 3Di v1.11 04/12/2013

Fixed Cancel Dialog Bug

The update to 2013 introduced a new bug that was fixed: the dialog would crash when Cancel was clicked.

Vertex Filtering Adjustment Added

Added an option to the dialog to filter short edges which can prevent extrusion features from being created. The default value is filtering turned off and a minimum length of 0. If the user sees sketches which could not be extruded (because SW considers the points co-incident) then setting this value could fix the problem.

The value is in meters.

The sample file provided by Nuvotronics included a polygon which changed shape due to automatic filtering. With filtering turned off, the data is preserved. You can see this feature working by setting a value of 0.00001 (filtered) and 0.000001 (unfiltered) since the polygon had vertices which were 3.7um (0.0000037m) apart.

The real problem is that SolidWorks will fail to extrude some polygons with closely spaced vertices but we have found it impossible to determine what the minimum spacing is - our suspicion is that the min spacing may vary based on many different considerations. Therefore giving the end users some control over the filter value should enable them to adjust as needed for their particular situation.

Fixed Dropped Polygon Bug

Updated our boolean library to address a situation where where holes in a complex polygon were being dropped.




Updated Read3Di to support SolidWorks 2013.

Read 3Di v1.10 01/25/2013

Updated Read3Di to support SolidWorks 2013.




Read 3Di v1.09 03/06/2012

Fixed a bug which was causing some wires not to be imported correctly when the first segment was not vertical.




Read3Di v1.08 01/25/2012

Fix File Renaming Problem

3Di data that included the colon ":" in the layer name must have the colon removed (converted to an underscore _ ) However the assembly module where the parts are combined into an assembly was still referring to them with the colon in the name. This has been fixed.




Read3Di v1.07 01/24/2012

Fix License Release Problem

Previous version was not releasing the floating license upon ending. This has been fixed.




Read3Di v1.06 11/17/2011

Fix Smoothing Problem

Customer reportes that v1.05 smoothed some high vertex count shapes (round with 1300 vertices) down to irregular looking polygons. This has been fixed with an updated smoothing algorithm.




Read3Di v1.05 11/17/2011




Read3Di v1.00 04/29/2011

Initial Release

This is the initial release for Read3Di.