Sunday, 28 July 2019

Allegro ART Gerber to Altium PCB

Summary
This post provides an alternate method for importing Allegro Gerber data for use in Altium Designer PCB files. The intention of this method is to utilise specific information such as board shape, component mounting location or a specific feature on the Gerber by using DXF export and imports.

For those seeking a full board import into Altium, there are a few web threads detailing possible solutions, such as Import Gerber files into Altium thread on Stack Exchange.

ART Files
Gerber files generated by the Cadence Allegro PCB software contain an identification header inside the file. Using a text viewer to open files with the .ART extension, yields easy identification. The capture below shows a portion of the information listed in Gerber file named Top.ART. The Gerber file was used from the Cypress CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Kit Hardware pack.

G04 ================== begin FILE IDENTIFICATION RECORD ==================*
G04 Layout Name:  N:/PCB_HOME/60527-01_03-CYSTAMP-063/Artwork/600-60527-01_03.brd*
G04 Film Name:    TOP*
G04 File Format:  Gerber RS274X*
G04 File Origin:  Cadence Allegro 16.6-2015-S108*
G04 Origin Date:  Mon Oct 08 10:45:40 2018*
G04 *
G04 Layer:  DRAWING FORMAT/FAB_FILM*
G04 Layer:  PACKAGE GEOMETRY/PLATING_BAR_TOP*
G04 Layer:  PACKAGE GEOMETRY/SHORT_TOP*
G04 Layer:  ETCH/TOP*
G04 Layer:  PIN/TOP*
G04 Layer:  VIA CLASS/TOP*
G04 Layer:  BOARD GEOMETRY/OUTLINE*
G04 *
G04 Offset:    (0.00 0.00)*
G04 Mirror:    No*
G04 Mode:      Positive*
G04 Rotation:  0*
G04 FullContactRelief:  No*
G04 UndefLineWidth:     5.00*
G04 ================== end FILE IDENTIFICATION RECORD ====================*

Altium Camtastic
The Altium Designer CAMtastic tool is by default capable of opening Allegro Gerber files with the .ART extension. 



Allegro ART files in Cypress CY8PROTO-063 Kit Hardware Pack
Allegro ART files in Cypress CY8PROTO-063 Kit Hardware Pack
To temporarily associate these files to Altium Designer, these can be renamed to .CAM files.


Renamed Allegro ART files to CAM in Cypress CY8PROTO-063 Kit Hardware Pack
Renamed Allegro ART files to CAM in Cypress CY8PROTO-063 Kit Hardware Pack
Double clicking the CAM files then results in Altium opening the files directly in CAMtastic.

PCB Dimensions
For the example in this blog using the Cypress 063 Gerbers, the detail2.cam file contained important information for verifying the Gerber, namely the size of the PCB.


CY8PROTO-063 Detal2.cam Extract PCB Dimensions
CY8PROTO-063 Detal2.cam Extract PCB Dimensions
The PCB dimensions or event some known measurement was important because when the required CAM file was exported as DXF using CAMtastic, the correct scaling must be applied during to the DXF file import into Altium PCB.

File Export
With known measurements from the original Gerber the top assembly file, assy_t.cam, was chosen to illustrate the method of exporting.


CY8PROTO-063 Assy_t.cam
CY8PROTO-063 Assy_t.cam
With the assy_t.cam file open in CAMtastic, the Export DXF command was initiated.

There are options in the CAMtastic DXF export window. The options allow selection of multiple layers, if used, and object fill types. For this export the fill feature was selected. 


Exporting CAM File in Altium
Exporting CAM File in Altium
Lastly the location of the exported file was selected.

Exported CAM File Location
Exported CAM File Location
File Import
With a blank PCB file open in Altium, the Import DXF command was initiated.


Importing DXF File Location
Importing DXF File Location
After selecting the previously exported DXF file, the Altium Import window displayed the DXF scaling option. For this import the scaling was changed to suit imperial units used in the Cypress Gerber.


Importing DXF File Scaling
Importing DXF File Scaling
Selecting 'inch' under the Scale section ensured correct import scaling. For other file the scaling option may need to be adjusted. The adjustment would depend on the source file measurement units.

If required, the imported DXF file can be placed at a specific location on the PCB file which is useful for existing PCB designs.

Shown below is a capture of the imported DXF file displayed in Altium PCB.


Imported DXF into Altium PCB
Imported DXF into Altium PCB
Verifying File Import
At least two key measurements were verified on the imported file, one horizontal and the other vertical.

The pin headers used on the Cypress board with a 0.1" pitch provided a simple measurement to verify the horizontal distance was scaled correctly.


Altium Imported DXF Verify Connector Spacing
Altium Imported DXF Verify Connector Spacing
For the second verification, the PCB dimension was measured and compared against the original measurement provided in detail2.cam, 1052mil.

Altium Imported DXF Verify Board Dimension
Altium Imported DXF Verify Board Dimension
Final Thoughts
The method proposed in this blog yields marvelous results, however the import process is not always perfect. This means verification of the imported DXF file is required. As an example, the large track seen under the KitProg processor should be the exposed pad for the PSoC.


Altium Import DXF Issues
Altium Import DXF Issues
In instances where several snippets of board information are required from an Allegro Gerber (project), which may include dimensions, shape, cutouts, mounting holes to component mounting locations, the method in this blog may reduce the time required to create the same board or features from scratch in Altium.

8 comments:

  1. You can certainly see your skills in the work you write. The arena hopes for even more passionate writers like you who aren't afraid to say
    how they believe. Always go after your heart.

    ReplyDelete
  2. Pretty nice post. I just stumbled upon your weblog and wanted
    to say that I have really enjoyed browsing your blog posts.
    In any case I will be subscribing to your feed and I hope
    you write again very soon!

    ReplyDelete
  3. You actually make it seem so easy with your presentation however I find this
    matter to be really one thing that I think I'd by no means understand.

    It sort of feels too complex and extremely huge for me.
    I am having a look ahead for your next put up, I'll attempt to get the grasp of it!

    ReplyDelete
  4. Hi Anon (too complex)

    Would you mind elaborating on which part or parts were complex?

    ReplyDelete
  5. I am now not certain where you are getting your information, but great topic.
    I must spend some time studying more or understanding more.

    Thank you for fantastic info I was searching for
    this information for my mission.

    ReplyDelete
  6. Thanks. It works for me. How about *.ipc (netlist) file? Is it possible to open from Altium designer?

    ReplyDelete
  7. Hey KK

    Can't help with importing the netlist, possibly an Altium forum question

    ReplyDelete
  8. Thank you! You saved me a lot of time.

    ReplyDelete