element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) Questions about ULP.... automating layout
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 3 replies
  • Subscribers 186 subscribers
  • Views 393 views
  • Users 0 members are here
Related

Questions about ULP.... automating layout

99guspuppet
99guspuppet over 12 years ago

I reviewed the PDF that covers ULP.... User Language Programs ...... and I could not see a way to automate creating a layout.

 

I want to create a layout without a schematic.  I am creating a set of traces that are spaced 25 mils apart.

Each trace is terminated with a via that has a pad size diameter of 75 mils.  In order to get the pads to fit I am staggering them in groups of four.

Anyway, it would be great if I could write an ULP that would lay down *n* traces spaced 25 mils apart.  Each trace would be shorter until the fifth one which would start getting longer.  Is it possible to write an ULP that creates a new layout, and then lays down the pads and traces ?

I can figure out the logic of the program... I jsut need the syntax ( if it exists ) for creating traces and vias.

 

This will result in an adapter pattern that I can use for chips with 25 mil lead spacing.....

 

Thanks

 

Gus S. Calabrese   @99guspuppet

Attachments:
image
  • Sign in to reply
  • Cancel
  • autodeskguest
    autodeskguest over 12 years ago

    Gus S. Calabrese wrote:

     

    I reviewed the PDF that covers ULP.... User Language Programs ...... and

    I could not see a way to automate creating a layout.

     

    I want to create a layout without a schematic.  I am creating a set of

    traces that are spaced 25 mils apart.

    Each trace is terminated with a via that has a pad size diameter of 75

    mils.  In order to get the pads to fit I am staggering them in groups of

    four.

    Anyway, it would be great if I could write an ULP that would lay down

    n traces spaced 25 mils apart.  Each trace would be shorter until the

    fifth one which would start getting longer.  Is it possible to write an

    ULP that creates a new layout, and then lays down the pads and traces ?

    I can figure out the logic of the program... I jsut need the syntax ( if

    it exists ) for creating traces and vias.

     

    This will result in an adapter pattern that I can use for chips with 25

    mil lead spacing.....

     

    what you need is a script and the pad and wire commands.

     

    ULPs have only read access to the board and schematic data.

    They can generate command strings or script files and execute them

    with the exit command.

     

    so 'help exit', 'help pad' and 'help wire' are your friends.

    --

     

    Lorenz

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • 99guspuppet
    99guspuppet over 12 years ago in reply to autodeskguest

    I am blundering through the learning process.  I have now found enough information to run this script.......

     

    # Allowed units are mm, mic, mil and in

     

    GRID MIL ;

    # Wire  width end1  end2

    WIRE 8mil ( 0mil 0mil ) (0mil 1000mil);

    WIRE 8mil ( 25 0 ) ( 25 1000 );

     

    change drill diameter 19.68504mil;

    via 'test_name'( 0mil  0mil ) 70 octagon  1-16 ;

    via 'test_name'( 25mil  100mil ) 70 octagon  1-16 ;

    via 'test_name'( 50mil  200mil ) 70 octagon  1-16 ;

    via 'test_name'( 75mil  300mil ) 70 octagon  1-16 ;

     

    I am faking the comments using the # sign.

    I get an error when I try to change the drill diameter.......

    change drill diameter 19.68504mil;

     


    image


    What is an acceptable diameter ?  Do I have to set these in some kind of preferences ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • 99guspuppet
    99guspuppet over 12 years ago in reply to 99guspuppet

    Update   I discovered some scripting changes that worked.......

     

    # Allowed units are mm, mic, mil and in

     

    GRID MIL ;

    # Wire  width end1  end2 ;

     

    layer top ;

    WIRE 8mil ( 0mil 0mil ) (0mil 500mil) ;

    WIRE 8mil ( 25 100 ) ( 25 500 ) ;

    WIRE 8mil ( 50 200 ) ( 50 500 ) ;

    WIRE 8mil ( 75 300 ) ( 75 500 ) ;

     

    change drill 10mil ;

     

    change diameter 10mil ;

    change shape octagon ;

    via 'test_name'( 0mil  0mil )  ;

    via 'test_name'( 25mil  100mil )     ;

    via 'test_name'( 50mil  200mil )     ;

    via 'test_name'( 75mil  300mil )  ;

     

    layer bottom ;

    # bottom layer is blue

    wire 70mil ( 0mil 0mil ) ( 0mil 1mil ) ;

    wire 70mil ( 25mil 100 ) ( 25mil 101mil ) ;

    wire 70mil ( 50mil 200mil ) ( 50mil 201mil ) ;

    wire 70mil ( 75mil 300mil ) ( 75mil 301mil ) ;

     

    # ==============================

     

    layer top ;

    WIRE 8mil ( 100mil 0mil ) (100mil 500mil) ;

    WIRE 8mil ( 125 100 ) ( 125 500 ) ;

    WIRE 8mil ( 150 200 ) ( 150 500 ) ;

    WIRE 8mil ( 175 300 ) ( 175 500 ) ;

     

     

    change diameter 10mil ;

    change shape octagon ;

    via 'test_name'( 100mil  0mil )  ;

    via 'test_name'( 125mil  100mil )     ;

    via 'test_name'( 150mil  200mil )     ;

    via 'test_name'( 175mil  300mil )  ;

     

    layer bottom ;

    # bottom layer is blue

    wire 70mil ( 100mil 0mil ) ( 100mil 1mil ) ;

    wire 70mil ( 125mil 100 ) ( 125mil 101mil ) ;

    wire 70mil ( 150mil 200mil ) ( 150mil 201mil ) ;

    wire 70mil ( 175mil 300mil ) ( 175mil 301mil ) ;

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube