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
  • 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) EagleIDFExporter.ulp Developer Q&A
  • 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 1 reply
  • Subscribers 178 subscribers
  • Views 376 views
  • Users 0 members are here
  • idf
  • ulp
  • export
Related

EagleIDFExporter.ulp Developer Q&A

Former Member
Former Member over 11 years ago

Hi Everyone, I am the developer that wrote the EagleIDFExporter.ulp exporter for the recent Eagle v7 release. Ive gotten a couple questions and feedback from users regarding this ULP so I thought Id start a thread on the community to post the questions and give other users an option to give me feedback and ask questions. Im focused on delivering a high quality ULP and to also make sure its functionality aligns to the business processes its used in. Feedback on bugs, additional features, and input on how the ULP doesnt necessarily align to your business process is important to me to make sure the ULP is delivering high value to its customers.

 

Here are the 2 questions I have received and my feedback.

 

Question 1 - My company has a library that stores our board outlines. When I build a new board I load the board outline as a component but the ULP fails to pick up the board outlines. Is it possible to modify the ULP to read the board outline from the library so that the output UDF is accurate?

 

Answer 1 - The current ULP assumes the board outline is made of wire elements on layer 20 only. It also has some logic to consider circle elements on layer 20 to allow for circular boards. Its technically possible to read the outline data from a component thats read in from a library. In fact this is how the logic works to establish the component bounding boxes which show up in the 3D model. There are two challenges with incorporating this functionality into the existing ULP. The first is the ability to distinguish the board component from the other components so that the two dont get mixed up - either the board outline gets included in the components or all the components are treated as board outlines. The second challenge is that when I process the component outlines I am only able to build a bounding box and not a detailed outline even if the library component has a more detailed outline. This is due to the need to build a continuous, closed outline so the 3D extraction can happen. For the existing logic on components I felt it was acceptable to only generate a bounding box but for a board outline I think its critical to have an accurate outline and a bounding box may not be suffient.

 

Question 2 - I have a round board with a slot in it. When I run the IDF exporter the slot is output but the circular outline is not. How can I get the circular outline to be output in the IDF file?

 

Answer 2 - I looked into this in detail and its a combination of a bug in the code and then also some assumptions on purely circular boards. The short answer is if you want to have a circular board then the best approach is to use a Curved Wire style on layer 20 to build the outline. Dont use the Circle element as the ULP has some logic in it related to pure circle boards. The shortfall of using the Curve Wire style is it will not give you a pure circle. It will give you rounded corners with very small straight sections in between them although if you are possible you can get a board that looks like its a circle.

 

There is also a bug in the code where it only considers Circle elements on layer 20 if there are no other wire elements. This works fine if the board is a circle with no slots in it but if there are slots it never considers the circle element. I have a beta version of a fixed version of the code that addresses this issue. If you are interested in testing it let me know and I will share it with you. Eventually Ill work to get the updated version published but Id like to do some more testing on it before its officially released.

 

Thanks
Marc

  • Sign in to reply
  • Cancel
  • diez_e_u_e
    diez_e_u_e over 10 years ago

    Hi Marc!

     

    First of all, thx for your nice ULP.

    I use it for first estimations and therefore it is more than enough! ;-)

     

    But concerning QUESTION 1:

     

    Allthough it wouldn't be that easy to implement the functionality for a board-outline as an element (as asked in QUESTION 1), would you work on it anyway?

    It would be amazing if the ULP is possible to work with "element-board-outlines" because at the moment I always have to copy/paste from the corresponding "board-outline-package" to my current board-file and place it onto the correct position before I can run the ULP! ;-)

     

    Okay, so maybe I would be more happier in a couple of days/weeks! ;-)

     

    All the best

    Diez

    • 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