cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X

Translate the entire conversation x

Patterning assembly objects using circles from imported overlay

DH_11364166
2-Explorer

Patterning assembly objects using circles from imported overlay

I am using Creo Parametric Release 7.0 and Datecode7.0.8.0

Our team makes models (assemblies to be precise) of chips/substrates that have a rectangular body, an overlay showing bump circles, and hundreds to thousands of solder ball models patterned over the bump circles that were imported from dwg onto the model's surface. The pattern part is currently tricky and involves a lot of file conversions and scripting outside of Creo to make a pattern table that meets the formatting required. I wanted to see if there is a way (or request this feature) to be able to pattern each solder ball over each bump circle by recognizing the pattern of bump circles. I know there is a feature recognition of patterns and ability to write/read that pattern table, but it does not recognize lines, only edges/surfaces of holes. The ability to recognize the edge of an imported circle for this feature recognition functionality would allow us to save multiple steps.
12 REPLIES 12

Hi,

can you upload some simple models for testing purposes? OR attach some pictures?


Martin Hanák

Here is a snippet of a part with circles imported from dwg/dxf. As you can see, I have an axis on what I call the origin circle to place my first bump, then I pattern this bump using a table that is defined by X and Y away from that origin bump. 

 

DH_11364166_1-1755631690096.png

 

 

DH_11364166_0-1755631648880.png

However, if I was able to pattern that axis across all circles via pattern feature recognition, then I could pattern the bump as long as one of its constraints used the axis. 

I will see about uploading some sample models if that helps. 


@DH_11364166 wrote:

Here is a snippet of a part with circles imported from dwg/dxf. As you can see, I have an axis on what I call the origin circle to place my first bump, then I pattern this bump using a table that is defined by X and Y away from that origin bump. 

 

DH_11364166_1-1755631690096.png

 

 

DH_11364166_0-1755631648880.png

However, if I was able to pattern that axis across all circles via pattern feature recognition, then I could pattern the bump as long as one of its constraints used the axis. 

I will see about uploading some sample models if that helps. 


Hi,

please upload some DXF file containing circles and corresponding Creo part. I enables me to test your problem.


Martin Hanák
tbraxton
22-Sapphire I
(To:DH_11364166)

I am assuming that all of the solder balls are in a single plane i.e. BGA package.

 

Have you considered or tried using a sketch driven pattern? If you are using only datum points or csys within the sketch you should be able to lay out the pattern needed for the array in plane. The sketcher could probably deal with this with hundreds or thousands of locations, but you would need to test it. Normally you would not want to include a large number of sketch entities in a sketch but when using only datum points this might work fine. If you find a limitation on the sketcher entities, then you can break up the array into multiple sketch driven patterns.

 

If you can get a sketch-based pattern working, then you should be able to use the reference pattern functionality to place the balls where needed.

 

Point pattern within sketch 

 

 

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric

The issue is that this overlay is defined in AutoCAD or some other EDA layout tool and has to be imported in via dwg/dfx. I got this notice when trying to import <100 bump circles onto a sketch and it ultimately failed, so I'd imagine it would not be too happy with thousands. (Currently, we import the overlay onto the base model, without creating a sketch, using a coordinate system reference that matches the dxf, which works fine but starts to get slow around several hundred circles). 

 

DH_11364166_2-1755632440199.png

I thought about doing some post-processing of the dxf to place a point everywhere a circle is (not manually of course) and then import just those, but I'm not sure if Creo treats dwg points the same. And may have to do another conversion of those points to datum points if it does import successfully onto the sketch. 

tbraxton
22-Sapphire I
(To:DH_11364166)

I was not suggesting importing anything into Creo with my previous post. You would need to create a sketch pattern using Creo functionality. If the solder balls are located in the EDA tool, then their positions relative to the package origin is defined and could be exported as Cartesian coordinates offset from the package origin. This would generate a table of locations that you can exploit in Creo.

 

Do you use the ECAD/MCAD interface for data exchange? It is hard to believe that someone is using AutoCAD in 2025 to manage ECAD/MCAD data exchange. Creo has built in ECAD tools and has for some time. You can use the EDA design file to export IDF or IDX files such that the solder balls would come across automatically to Creo on import if you are clever about setting up part libraries and a data exchange process. What EDA tool is used to create the board designs?

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric

They came in as construction points as I suspected and I haven't found a way to convert those to a datum point. 

 

DH_11364166_3-1755634430167.png

 

tbraxton
22-Sapphire I
(To:DH_11364166)

It would seem based on my experience dealing with MCAD models for BGA, flip chip, MCM etc. that you are unnecessarily duplicating work already done on the EDA side of the design process. Are you designing custom chips and modules or using purchased parts from vendors that require Creo models? I would encourage you to ask for something in addition to a DXF export as input and think about more efficient ways to get this done.

 

 

What exactly are the packages you are modeling? If they are governed by something such as JDEC for packaging, then you should have access to a manufacturer drawing that documents the solder balls. If you have to do this the hard way and build it all in Creo, then with this drawing and knowledge of the package symbol origin and orientation in the EDA library part, then you should be able to pattern the solder balls quickly in Creo. If you do not intend to export the data back to the EDA side, then you do not even need to worry about the package origin for ECAD exchange purposes.

 

In the example below you can generate a fill pattern to get all of the balls without much work and would not need to obtain a dxf file to do it.

 

tbraxton_0-1755635311009.png

 

Example of 100 ball array added to a substrate using 2 features and a pattern of each. The second pattern is a reference pattern of the first (ball center locations) so it follows the lead pattern with updates. This regenerates very fast even using solid bodies with general option in the patterns.

 

tbraxton_1-1755635982604.png

 

 

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric

I am working with custom designs, yes. The ball patterns are usually not simple rectangular arrays. As I understand it, the purpose of patterning solder balls is to make pretty drawings views for internal documentation purposes and help differentiate a bumped part vs un-bumped part drawing. These drawings do go out to suppliers, but I doubt they require Creo models. If it was up to me, I'd skip the 3D model altogether and only provide them some notes and the artwork file. I believe our IC designs are often done in Cadence Virtuoso, but many packaging designs are unfortunately done entirely in AutoCAD so the hurdle then becomes manipulating that file to extract the top and bottom layers, synchronizing units and coordinate systems/origins to import the bump circles onto the faces of the part, and extracting the X,Ys of each bump center to create a pattern table. 

As for the Creo built-in ECAD/MCAD data exchange functionality, that seems to be more suited for component placement on a PCB..? Whereas the models we're talking about here are just single dies, substrates, or interposers. I'll look into this more though.

tbraxton
22-Sapphire I
(To:DH_11364166)

Thanks for the background of what you are working with. Are you able to disclose your company name/website so I can look at some samples of the type of packages?  I know that the Cadence PCB tools support the IDF interface, I am not sure about Cadence Virtuoso. If the IDF interface is supported or you can extract the data needed to create IDF interface files from output of Virtuoso package, then you can automate the creation of the Creo 3D models via the IDF interface. The IDF files are all human readable text files so scripting to generate input for Creo ECAD import should be straightforward if you can export the inputs needed from the EDA tools. If you can generate the needed input data, then you can then just model the package as an assembly in Creo and use the ECAD/MCAD process to place a solder ball on the substrate using the import file automatically. Once you have part models for each size solder ball they can be auto placed on import of the IDF files.

 

If you are stuck using Autocad DXF exports, then I would focus on creating datum point feature(s) for the center of each solder ball. I would first try creating a datum point offset from CSYS feature and include all of the ball centers in this single feature. Map the package origin csys from the Autocad data to the Creo model for each package and use it as the reference for the datum point centers. You can import the coordinates from file using the options shown below when creating offset datum point feature. Once you have the center points in the model then dropping the balls at the required locations is easy. You can revolve half a sphere on ball 1 and then pattern it referencing the point array.

 

tbraxton_0-1755663861948.png

 

========================================
Involute Development, LLC
Consulting Engineers
Specialists in Creo Parametric


@DH_11364166 wrote:

They came in as construction points as I suspected and I haven't found a way to convert those to a datum point. 

 

DH_11364166_3-1755634430167.png

 


Hi,

how did you load points into Sketcher?


Martin Hanák
pausob
19-Tanzanite
(To:DH_11364166)

I was baffled as how you got AutoCAD dwg/dxf points to go into your sketch, but then found that I had to set the configuration option intf_in_dwg_pnt_ent to yes.

with that aside out of the way, then since your import If data is only points, then one way to convert from imported construction points to actual points is:

1) select all imported points:

pausob_0-1755708811786.png

 

2) Right click in the graphics area, then "convert to solid".

pausob_1-1755708850484.png

(or even better to use SHIFT+G shortcut instead)

But the problem is that the sketcher will likely fail to import a file with even 100s of points - nevermind 1000s.

 

 

So I'd use the AutoCAD PTEXPORT utility (link in discussion) to get the coordinates of the points into a .txt file.

Then the .txt file has to be massaged a bit - replace its commas with tabs, rename it to .pts file

Then you can import that into a datum point feature:

pausob_3-1755710219247.png

 

 One last thing to mention is to use "identical" pattern if you can:

pausob_4-1755710292104.png

 

Announcements
NEW Creo+ Topics: Real-time Collaboration

Top Tags