element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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) IDF export broken?
  • 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
  • State Not Answered
  • Replies 18 replies
  • Subscribers 176 subscribers
  • Views 2881 views
  • Users 0 members are here
  • idf
  • export
Related

IDF export broken?

Joop14
Joop14 over 10 years ago

Dear Cadsoft,

 

I have some questions about your generate-3d-idf-data.ulp.

 

According to your document $EAGLEDIR/doc/ulp/generate-3d-idf-data_en.pdf the height of a package is drawn in layers 57 and 58. The board in layer 50.

 

How do I create these layers?

 

I patched the ulp by changing layers to 150, 157 and 158. This way I'm able to create the layers and draw the contour of the height of the part.

 

Why isn't it possible to create layers 50, 57 and 58?

 

Thanks for answering,

 

Joop

  • Sign in to reply
  • Cancel
  • autodeskguest
    0 autodeskguest over 10 years ago

    On 7/2/2015 7:32 AM, Joop14 wrote:

    Dear Cadsoft,

     

    I have some questions about your generate-3d-idf-data.ulp.

     

    According to your document $EAGLEDIR/doc/ulp/generate-3d-idf-data_en.pdf

    the height of a package is drawn in layers 57 and 58. The board in layer

    50.

     

    How do I create these layers?

     

    Hi Joop,

     

    I hope you're doing well. This is actually a very old ULP started

    initially in 2005. At that point it's possible users could define layers

    smaller than 100. Typically now layers less than 100 are for Cadsoft's

    use, those larger than 100 are for user use.

     

    With that said it is possible to create layer 58. Using the command line

    type:

     

    LAYER 58 User_1;

     

    Where User_1 is whatever name you want to give the layer. It's an

    inconsistency in EAGLE, you can create it through the command line but

    not through the GUI.

     

    hth,

    Jorge Garcia

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Joop14
    0 Joop14 over 10 years ago in reply to autodeskguest

    Hello Jorge,

     

    I'm fine, thank you for asking. I hope you are doing well too.

     

    As you probably know, for most Eagle users, exporting 3d data is a hassle.

     

    Also, using external (commercial) parties for generating 3d data is not the way to go.

     

    Imho Eagle should spend a little bit of time in updating some scripts and manuals and all will be fine.

     

    There are several issues with the ulp:

     

    1. It's not obvious to users how to create layers with numbers below 100.

     

    2. The ulp wrote the wrong package names to the IDF files.

     

    3. Filename extensions are wrong, they should be *.emn and *.emp.

     

    4. The dialog of the ulp allows you to select a directory where to store the exported files.

       It's broken.

     

     

    I was able to fix and patch those issues in the ulp.

    Now the IDF files are correct.

     

     

    Second step, I wanted to have a look at the result without spending a fortune.

    So, I installed FreeCAD:  http://www.freecadweb.org/

     

    FreeCAD uses Python scripts to import different fileformats.

     

    Unfortunately, the Python script to import IDF files was broken as well.

    It skips packages with the same name which already has been processed.

    So, the end result misses lots of components.

     

    I managed to fix the script but it could use some attention from an experienced Python programmer (I'm not).

     

    Here's the result:

     

    image

     

    image

     

     

    Now I'm able to export it as a step file and send it to our mechanical engineer who designs the enclosure.

     

    Also, the Python import script of FreeCAD automatically replaces a part if it finds a 3d (step) model with the same name as the package

    in a certain directory. However, because the Python script is broken, it places the 3d model on wrong coordinates.

    So for the moment I stick with the simpler solution. But a professional Python programmer should be able to fix this in a couple of hours.

     

     

    My questions are:

     

    Why do I have to sort this all out? Shouldn't it be the task of Cadsoft? I understand your team is small but exporting 3d data is a missing future for long time

    while it can be simply solved by updating and improving your generate-3d-idf-data.ulp and fix the import script of FreeCAD (it's opensource!).

    And no, (windows only) solutions that requires uploading data to a commercial party is NOT a solution!

     

    If you want I can send you the modifications I did to the ulp and the FreeCAD import script.

     

    I wish you and the Cadsoft team a nice weekend,

     

    Joop

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kikoun
    0 kikoun over 10 years ago in reply to Joop14

    Hi,

     

    There is a nice tool that could help : http://sourceforge.net/projects/eaglepcb2freecad/

    I use it and it works fine. You can manage a kind of 'Placement model' library : you define how each Eagle Package must be import (which 3D file to import (step/iges), how it must be placed (offset/orientation) etc...)

    Managing the placement model is really easy, while you change the parameters, the placement is updated in real time.

     

    it's free, the integration in Freecad and Eagle very is good. The author  (from Poland) made a great job : thanks to him !

     

    Guillaume.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Joop14
    0 Joop14 over 10 years ago in reply to kikoun

    Thanks for the advice but, at least for me, this is overkill. I want to finish the board in Eagle, not in another package.

    I used FreeCAD only to check the result of Eagle's IDF export and to convert it to the step format.

    Pro/Engineer can not read IDF files except when you buy an expensive plugin. Our mechanical engineer does not.

    For me, wireframes are fine and the necessary extra layer (57 or 157) is easy to add when drawing a package.

    The rest is up to the mechanical engineer. If a wireframe is not good enough, he can replace it (I have no time for that) with the respective 3d model,

    usually only the connectors and switches that needs to fit into the holes of the enclosure. I don't feel like doing his job.

     

    Kind Regards,

     

    Joop

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • autodeskguest
    0 autodeskguest over 10 years ago in reply to Joop14

    On 7/3/2015 5:05 AM, Joop14 wrote:

    Hello Jorge,

     

    I'm fine, thank you for asking. I hope you are doing well too.

     

    As you probably know, for most Eagle users, exporting 3d data is a

    hassle.

     

    Also, using external (commercial) parties for generating 3d data is not

    the way to go.

     

    Imho Eagle should spend a little bit of time in updating some scripts

    and manuals and all will be fine.

     

    There are several issues with the ulp:

     

    1. It's not obvious to users how to create layers with numbers below

    100.

     

    2. The ulp wrote the wrong package names to the IDF files.

     

    3. Filename extensions are wrong, they should be *.emn and *.emp.

     

    4. The dialog of the ulp allows you to select a directory where to store

    the exported files.

        It's broken.

    Hi Joop,

     

    That's why that ULP has been replace by the eagleidfexporter.ulp that

    ships with EAGLE. You don't need to use the simplifiedsolutions

    IDF-to-3D tool if you don't want to. The ULP gives you good IDF files

    that have all of the above issues fixed.

     

    My questions are:

     

    Why do I have to sort this all out? Shouldn't it be the task of Cadsoft?

    I understand your team is small but exporting 3d data is a missing

    future for long time

    while it can be simply solved by updating and improving your

    generate-3d-idf-data.ulp and fix the import script of FreeCAD (it's

    opensource!).

    And no, (windows only) solutions that requires uploading data to a

    commercial party is NOT a solution!

    The eagleidfexporter.ulp is not a windows only solution. The simplified

    solutions service is web based so it works on all of the major operating

    systems. If you don't want to use the commercial tool to replace the IDF

    cubes with STEP models then you can import the IDF file into the 3D tool

    of your choice and do the mapping there. Many users work with

    ProEngineer or Solidworks, but FreeCAD is a good FOSS alternative.

     

    If you want I can send you the modifications I did to the ulp and the

    FreeCAD import script.

     

    Sure, feel free to send them to support@cadsoftusa.com.

     

    Best Regards,

    Jorge Garcia

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Joop14
    0 Joop14 over 10 years ago in reply to autodeskguest

    Hello Jorge,

     

    First of all, thanks for coming back to me. I really appreciate it.

     

    CadSoft Guest wrote:

     

    That's why that ULP has been replace by the eagleidfexporter.ulp that

    ships with EAGLE.

     

    The ULP has not been replaced by Cadsoft, it has been added. A small but important difference.

    Both ULP's are included with Eagle and both should be supported.

    If Cadsoft does not feel like fixing a broken ULP, they should at least not include it during the installation.

     

    I didn't know about the new ULP because we are still using v6.60 which does not have the new ULP.

    We do have a license for v7.xx but I prefer to let others hit the bugs so we will not switch

    before at least v7.4 or 7.5 is available.

     

    So, I copied the the ULP from the v7 installation files into the v6.60 ULP dir and I gave it try.

     

    I'm sorry to tell you this but it's a disaster. The IDF conversion works but the dimensions are all wrong.

    I'm not talking about the height (Z), I know that you have to add an attribute that contains the height value

    otherwise it will defaults to 1 mm. I'm talking about the xy coordinates, they are all to big.

     

    There is no way the ULP can use the correct dimensions drawn in a separate layer. Right?

     

    So, at least for me, the new ULP is completely useless.

    Please tell me what's the meaning of the cubes if only the height has the right size?

     

    To me it looks like the new ULP has been written in a way to push users to use the online service that replaces the cubes with 3d-models,

    not to have an IDF export with cubes that have correct dimensions. But maybe I'm overlooking something.

    In that case, please forgive me my ignorance, but explain me how to make the necessary changes to let the cubes have the correct dimensions.

     

    Kind Regards,

     

    Joop

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • autodeskguest
    0 autodeskguest over 10 years ago in reply to Joop14

    On 4/07/2015 5:43 a.m., Joop14 wrote:

    Thanks for the advice but, at least for me, this is overkill. I want to

    finish the board in Eagle, not in another package.

    I used FreeCAD only to check the result of Eagle's IDF export and to

    convert it to the step format.

    Pro/Engineer can not read IDF files except when you buy an expensive

    plugin. Our mechanical engineer does not.

    For me, wireframes are fine and the necessary extra layer (57 or 157) is

    easy to add when drawing a package.

    The rest is up to the mechanical engineer. If a wireframe is not good

    enough, he can replace it (I have no time for that) with the respective

    3d model,

    usually only the connectors and switches that needs to fit into the

    holes of the enclosure. I don't feel like doing his job.

     

    Kind Regards,

     

    Joop

     

    --

    To view any images and attachments in this post, visit:

    http://www.element14.com/community/message/154079

     

     

     

    Have you evaluated Eagleup?

    https://eagleup.wordpress.com/

     

    Warren

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Joop14
    0 Joop14 over 10 years ago in reply to autodeskguest

     

    Have you evaluated Eagleup?

    https://eagleup.wordpress.com/

     

    Warren

     

     

    Thanks Warren, but Sketchup needs Windows or Mac.

    And even if it should run on Linux, I don't want to bother with 3D drawing software.

     

    It's like if somebody says that "Yes, Eagle can export Gerbers but in order to make those Gerbers actually work you need to continue to finish/modify those Gerbers in a third party program".

    That's not what I want. I want to finish the board completely in Eagle, including the simple 3d IDF export (not requiring real 3D models).

     

    To clarify some things, we draw all our packages ourselfs. Sometimes we reuse Eagle footprints but we always modify them one way or another.

    Also we change all device and packages names. Because of this, there is no software that is able to find the right 3D-model in an automatic way.

    I understand this, I accept this and it's not what I'm complaining about.

    What I want is a working IDF export that generates accurately the rectancular or circular 3-dimensional sizes of the packages. That's all.

    And the new ULP is not able to do this. And the old ULP should be able to do this but it's severely broken and abandoned by Cadsoft while still included in the installation.

     

    Kind Regards,

     

    Joop

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • autodeskguest
    0 autodeskguest over 10 years ago in reply to Joop14

    The ULP has not been replaced by Cadsoft, it has been added. A small but

    important difference.

    My apologies, you are correct on this.

    Both ULP's are included with Eagle and both should be supported.

    If Cadsoft does not feel like fixing a broken ULP, they should at least

    not include it during the installation.

     

    I didn't know about the new ULP because we are still using v6.60 which

    does not have the new ULP.

    We do have a license for v7.xx but I prefer to let others hit the bugs

    so we will not switch

    before at least v7.4 or 7.5 is available.

     

    So, I copied the the ULP from the v7 installation files into the v6.60

    ULP dir and I gave it try.

    Hmmm... I haven't looked but the ULP may be using something specific to

    V7, the result might not be what you need.

     

    I'm sorry to tell you this but it's a disaster. The IDF conversion works

    but the dimensions are all wrong.

    See above. I can confirm that the export is correct under V7. I'll have

    to see what could be the culprit in the design.

    I'm not talking about the height (Z), I know that you have to add an

    attribute that contains the height value

    otherwise it will defaults to 1 mm. I'm talking about the xy

    coordinates, they are all to big.

    By how much? What is the margin of error?

     

    There is no way the ULP can use the correct dimensions drawn in a

    separate layer. Right?

    As of right now the ULP calculates the XY dimensions using the extreme

    dimensions of the package, no user input is used for this export.

     

     

    To me it looks like the new ULP has been written in a way to push users

    to use the online service that replaces the cubes with 3d-models,

    not to have an IDF export with cubes that have correct dimensions.

    The cubes should have the correct dimensions, with the answer to the

    above questions we can figure out what's going on in your case.

     

    hth,

    Jorge Garcia

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Joop14
    0 Joop14 over 10 years ago in reply to autodeskguest

    CadSoft Guest wrote:

    As of right now the ULP calculates the XY dimensions using the extreme

    dimensions of the package, no user input is used for this export.

     

    And this is the exact problem. How can you expect the contour of an object to be correct while using, for example, the keepout layer to guess the dimension of a package???

     

    I made a small test board to show the differences between the two ULP's.

    First picture is the old (and patched) ULP:

     

    image

     

    And here's the one using the new ULP:

     

    image

     

    The old, patched ULP is included in the attached file.

     

    Kind Regards,

     

    Joop

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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 © 2025 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