• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Use DXF to define custom pinshapes in symbol

Stats

  • Replies 4
  • Subscribers 161
  • Views 12353
  • Members are here 0
More Content

Use DXF to define custom pinshapes in symbol

Peter Voorhees
Peter Voorhees over 4 years ago

Hi all, 

I'm using Orcad PCB Professional 17.4-2019 S017

I've got a symbol with some funky pads on it, one the padstack editor cannot generate.

Here's where I'm trying to get to. Green is mask boundary, blue is top etch, Grey is paste, red is package boundary, white is silk, purple is construction lines.
Note the goofy pads on the corners. 

I know you can create a new flash symbol drawing and import a DXF in to it, save the flash, and use that in the Padstack editor. That is going to be more painful than I think it ought to be. The pads are more than rotationally different from each other. 

Anyway, what I would *like* to do is design the symbol in Orcad PCB Pro such that the symbol is close to the real design, export a DXF, modify the problematic pads in AutoCAD, and bring the DXF back in, and export the new modified padstacks. 

The section in the manual called "DXF Bi-Directional Interface" makes me think such a thing is possible. There is even a "PADSTACK" block section in the DXF file. 

I made the following symbol in Allegro to get me close.

Export the above symbol in DXF using the following settings:
DXF_export settings

And using the attached CNV file (hopefully it posts).

And when I just reimport the DXF file unchanged, using the following settings:

And the symbol drawing appears broken. 

I would love some tips or help. 

Incase the CNV file didnt' attach, here's the text of it (forgive the formatting):

#This is the Layer Conversion File used for
#importing DXF data into Allegro/APD.

#CLASS! SUBCLASS! DXF_LAYER!

COMPONENT VALUE!
SILKSCREEN_TOP! CV_SILKSCREEN_TOP!
ASSEMBLY_TOP! CV_ASSEMBLY_TOP!

DEVICE TYPE!
SILKSCREEN_TOP! DT_SILKSCREEN_TOP!
ASSEMBLY_TOP! DT_ASSEMBLY_TOP!

ETCH!
TOP! ET_TOP!

PACKAGE GEOMETRY!
SOLDERMASK_TOP! PG_SOLDERMASK_TOP!
BODY_CENTER! PG_BODY_CENTER!
SILKSCREEN_TOP! PG_SILKSCREEN_TOP!
PIN_NUMBER! PG_PIN_NUMBER!
PLACE_BOUND_TOP! PG_PLACE_BOUND_TOP!
ASSEMBLY_TOP! PG_ASSEMBLY_TOP!

PIN!
TOP! PIN_TOP!
BOTTOM! PIN_BOTTOM!
FILMMASKBOTTOM! PIN_FILMMASKBOTTOM!
FILMMASKTOP! PIN_FILMMASKTOP!
PASTEMASK_BOTTOM! PIN_PASTEMASK_BOTTOM!
PASTEMASK_TOP! PIN_PASTEMASK_TOP!
SOLDERMASK_BOTTOM! PIN_SOLDERMASK_BOTTOM!
SOLDERMASK_TOP! PIN_SOLDERMASK_TOP!

REF DES!
SILKSCREEN_TOP! RD_SILKSCREEN_TOP!
ASSEMBLY_TOP! RD_ASSEMBLY_TOP!

#END

Thanks!

  • Sign in to reply
  • Cancel
  • AvengerThanos
    AvengerThanos over 4 years ago

    Because OrCAD/allegro DXF no longer supports PIN and VIA classes in the layer conversion file. Solution is instead of using PIN and VIA classes in the layer conversion file to output these objects, you will now use the ETCH class to map these objects. The error message is only produced when running the command line version of either a2dxf or dxf2a. You can change the class and subclass to required one at anytime after importing.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • UlfK
    UlfK over 4 years ago

    (Adding some more information for those that does this manually)

    The way I do these things is that I first create the shapes (closed polylines)
    in AutoCAD. Copper by creating the first shape, and masks using Autocad "Offset"
    command, export them as 'DXF's and then import them, creating shape symbols
    into Cadence. The .DXF import is made by place them as "ETCH" regardless of it is
    the copper or the mask. Save the created .ssm's. Then, use pad-stack editor
    when building the pad stacks. (It is akward, but even the mask layers in
    the Pad stack editor defines shape symbols originally created as "ETCH".)

    Cadence, unfortunately does not honor the X0Y0 defined in AutoCAD (UCS/Center)
    which means that the origin has to be checked and most likely moved to the center
    of the pad during the shape creation process right after the .DXF import.

    This is important, as traces connecting to a pad should snap to the center of it.
    The X0Y0 relationship has to be maintained as (if I remember correctly) when the .ssm's
    are defined in the pad stack editor, as the mask will otherwise be offset from the
    copper.

    Then, importing the created pads when building the footprint, the pads(pins) can be rotated
    (spinned) if necessary.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Wild
    Wild over 4 years ago in reply to UlfK

    Good morning,

    I follow the same method for shapes for creating foot pints, however I use Solidworks for the shapes and never have had an issue.  However,  we have a gentleman who builds our 3D models of our IC's for simulation from Autocad.  He had the same issue with the origin on his STEP models and the DXF files (Ansys required moving the part in Space Claim), but after we request that the origin be in the package XY body center, and the Z be coplanar with the bottom of the package, there has not been this issue since (over 2 years).  Hence: I believe the issue is in AutoCAD.  I will ask him how he resolved this, but it may take time, he is on vacation.

    Regards,
    Wild

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Peter Voorhees
    Peter Voorhees over 4 years ago in reply to AvengerThanos

    Thanks for this tip. I'm disappointed to find out that I can't import a pad-stack wholesale. But, importing several layers-worth-of-shapes in to ETCH and then selective deletion coupled with "Save As" makes it less awful. 

    Shame the DXF Bi-directional interface is broken; but what can we do.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information