sketchucation logo sketchucation
    • Login
    πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    [Plugin] FreeDXF Importer

    Scheduled Pinned Locked Moved Plugins
    148 Posts 41 Posters 174.8k Views 41 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      Jim
      last edited by

      FreeDXF is a SketchUp plugin to import ASCII .dxf files.

      Latest version is 0.10.2 and is available in the Plugins Store

      Link Preview Image
      SketchUp Plugins | PluginStore | SketchUcation

      SketchUp Plugin and Extension Store by SketchUcation provides free downloads of hundreds of SketchUp extensions and plugins

      favicon

      (sketchucation.com)

      Hi

      1 Reply Last reply Reply Quote 0
      • R Offline
        remus
        last edited by

        Good idea im. I can see a lot of demand for this when 8 comes out.

        http://remusrendering.wordpress.com/

        1 Reply Last reply Reply Quote 0
        • pilouP Offline
          pilou
          last edited by

          Is not an hard work for an aging format?

          Frenchy Pilou
          Is beautiful that please without concept!
          My Little site :)

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            Ageing format, but still in use. Just look at the .3ds format - blasted thing is still around.

            Nice list of specs you found there Jim. Are you writing against the 2010 version?

            Thomas Thomassen β€” SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

            1 Reply Last reply Reply Quote 0
            • G Offline
              Gruff
              last edited by

              @thomthom said:

              Nice list of specs you found there Jim. Are you writing against the 2010 version?

              I'd recommend writing it to the earliest version of DXF that is still supported under 2010.
              One heck of a lot of users are still using 2006 and earlier.

              ~Gruff

              Resistance is .... Character Forming. Grin

              1 Reply Last reply Reply Quote 0
              • T Offline
                toxicvoxel
                last edited by

                Jim,
                Which DXF entity types do you aim to support eventually?

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  @gruff said:

                  @thomthom said:

                  Nice list of specs you found there Jim. Are you writing against the 2010 version?

                  I'd recommend writing it to the earliest version of DXF that is still supported under 2010.
                  One heck of a lot of users are still using 2006 and earlier.

                  ~Gruff

                  hm... I could see the logic of that if you where writing DXF format. But we're talking about reading DXF format. I'd think that you'd want to be able to read recent formats.
                  Is the DXF format constructed in such a way that parsing a DXF file with the newest spec will allow it to read older versions?

                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    toxicvoxel
                    last edited by

                    I haven't used a new version of AutoCAD for some time but historically solid objects where defined as encoded strings within the DXF export file, rendering it only partially 'open'. Not sure if this situation has changed but it may be a challenge to support all current AutoCAD entity types.

                    Has anybody explored the cost of using the libraries from the Open Design Alliance?
                    (http://www.opendesign.com/)

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jim
                      last edited by

                      @toxicvoxel said:

                      Jim,
                      Which DXF entity types do you aim to support eventually?

                      Right now, it has calls to handle: LINE ARC CIRCLE VERTEX SEQEND ELLIPSE BLOCK ENDBLK INSERT POLYLINE 3DFACE

                      Although some do not work properly. You may have noticed it creates an output file named freedxf_types.txt in your plugins folder. It is a breakdown of found and supported command blocks for the imported file for inspection, one per line.

                      @unknownuser said:

                      Nice list of specs you found there Jim. Are you writing against the 2010 version?

                      I didn't look at all the version - I don't know what the difference is between them. I arbitrarily opened the 2000 version because it had online html and started coding. I don't think the format will have changed - i.e. the parser should be forward compatible. What may change is how each entity type is handled, or new types introduced. I'm probably wrong.

                      I'm not sure how useful it will be in the end. I hosted in on bitbucket to encourage hacking on it. If mercurial/bitbucket isn't your thing, I can do a git/github repo also.

                      Hi

                      1 Reply Last reply Reply Quote 0
                      • TIGT Offline
                        TIG Moderator
                        last edited by

                        In passing... I am working on a parallel DXF TEXT importer that imports any text/mtext/attributes in the DXF - as flat 3D text using the size, font, formating etc...

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • T Offline
                          toxicvoxel
                          last edited by

                          Jim,
                          I think it would be imperative to support polyface meshes as minimal functionality for this plugin as so many formats export faces using this structure.
                          This would also potentially provide a logical optional construct to map against sketchup groups, which maps to blocks in the current importer/exporter.

                          Your efforts are appreciated.

                          1 Reply Last reply Reply Quote 0
                          • G Offline
                            Gruff
                            last edited by

                            @thomthom said:

                            hm... I could see the logic of that if you where writing DXF format. But we're talking about reading DXF format. I'd think that you'd want to be able to read recent formats.
                            Is the DXF format constructed in such a way that parsing a DXF file with the newest spec will allow it to read older versions?

                            No. Quite the reverse.

                            If we are only talking 2D/3D wireframe standard elements then I do not think it would be a problem. Getting into 3D Surfaces and Solids could very well be a version issue.

                            AutoCad typically allows you to save a DXF (or DWG) to 3 or 4 earlier versions of the file format.

                            If Jim's importer can only read 2010 DXF and I only have ACAD version 2004 then Jim's importer may be expecting data structures that simply do not exist in the 2004 version. I would not be able to use his utility.

                            If Jim writes his importer to read 2004 DXF files then someone with version 2010 of ACAD can always save his file to the older version for Jim's program.

                            Of course the smartest move would be to have his program read the version and use the appropriate version translator. But that is a tall order I think.

                            Resistance is .... Character Forming. Grin

                            1 Reply Last reply Reply Quote 0
                            • thomthomT Offline
                              thomthom
                              last edited by

                              @gruff said:

                              If Jim's importer can only read 2010 DXF and I only have ACAD version 2004 then Jim's importer may be expecting data structures that simply do not exist in the 2004 version. I would not be able to use his utility.

                              You say "may"... Have you studied the format? Or is it a guess?

                              I was thinking that it'd build upon the previous versions. That a 2010 reader would be able to read previous versions. Why would you extend a format such that it changes an existing implementation? That just seem to create more problems.

                              Thomas Thomassen β€” SketchUp Monkey & Coding addict
                              List of my plugins and link to the CookieWare fund

                              1 Reply Last reply Reply Quote 0
                              • G Offline
                                Gruff
                                last edited by

                                @thomthom said:

                                @gruff said:

                                Have you studied the format? Or is it a guess?

                                I have written translators for several CAD file formats and a few simple converters for DXF. Most recently a DXF exporter for Solidworks to SigmaNest. (Creating additional geometry not in SW on export)

                                It is the nature of file formats to evolve to support more features and to crop structures that are no longer necessary for the latest version. If I recall correctly AutoCAD version 1.0 came out in 1982.
                                DXF was defined sometime thereafter... 1984 or so. Quarter of a century would be a long time to remain backward compatible for a privately held file format. πŸ˜‰

                                As I said earlier though. If all Jim is going to support is wireframe then it shouldn't be an issue.

                                Resistance is .... Character Forming. Grin

                                1 Reply Last reply Reply Quote 0
                                • honoluludesktopH Offline
                                  honoluludesktop
                                  last edited by

                                  Hi Jim, Am watching this topic for your progress. Btw, I see that you bookmarked the html for Dxf definitions. I did the same thing until I realized "Dah!", that I could bookmark the pdf on line as well. Sigh, old habits die hard:-(

                                  1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    Jim
                                    last edited by

                                    New Version 0.51

                                    • Improved ELLIPSE method
                                    • Added import of TEXT entities.

                                    See first post for download.

                                    1859.png


                                    1859.dxf


                                    1859.skp

                                    Hi

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      driven
                                      last edited by

                                      hi Jim,

                                      should it work on mac?

                                      trying to load your .dxf gives

                                      Error; #<TypeError; reference to deleted Group>
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;466;in `transform!'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;466;in `draw_text'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;133;in `draw'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;92;in `main'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;91;in `each'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;91;in `main'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;503
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;466;in `call'
                                      /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/freedxf/freedxf.rb;466
                                      
                                      

                                      haven't time to look further at the moment, so thought I'd ask first.
                                      john

                                      learn from the mistakes of others, you may not live long enough to make them all yourself...

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        Jim
                                        last edited by

                                        Thanks, John. I started seeing that error too, although not everytime. It's really baffling because it appears to have started when I made some changes in what should be an unrelated method. I will trap the error, but I am still not sure what exactly is happening. There will be an update (or 2) today.

                                        Hi

                                        1 Reply Last reply Reply Quote 0
                                        • thomthomT Offline
                                          thomthom
                                          last edited by

                                          Does bitbucket reflect the latest changes?

                                          I went looking at it to work out what it imported DXF TEXT entities as. Text entity in SketchUp?

                                          Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                          List of my plugins and link to the CookieWare fund

                                          1 Reply Last reply Reply Quote 0
                                          • thomthomT Offline
                                            thomthom
                                            last edited by

                                            Ok - tried it out. I see the text comes in as simple geometry. Would be useful with an option to get the text as native Text elements. And/or when the text is imported as geometry, add the text value to an attribute so it can be read by other Ruby scripts.

                                            Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                            List of my plugins and link to the CookieWare fund

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 1 / 8
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement