• Login
sketchucation logo sketchucation
  • Login
🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[Plugin] Dxf_In v2.2 20110517 Dxf2Skp

Scheduled Pinned Locked Moved Plugins
200 Posts 41 Posters 269.7k 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.
  • H Offline
    honoluludesktop
    last edited by 11 Jan 2011, 13:55

    wirdb, It would take more time then I currently have to modify Dxf_In to include 2d entities no longer supported by Acad. However I will pm you a beta version of Dxf_In_2d for 2d lines, polylines (untested), arcs, and circles. This plugin will not translate those entities into 3d, even if the information is in the file. I will not implement Splines at this time. I hope that it saves you some time in your work. Except for minor fixes, I will not be able to support this plugin.
    http://forums.sketchucation.com/viewtopic.php?f=323&t=31186#p274199
    Addenda:
    Freely use, and abuse at your own risk. Fitness of use is not warranty implied.

    1 Reply Last reply Reply Quote 0
    • D Offline
      dsct
      last edited by 12 Jan 2011, 15:00

      honoluludesktop,

      Thanks for looking at my application and for the update. I really appreciate your interest and help. I tried the updated plugin on a larger file. It read in a lot of the 3dfaces but gave me a "<Error> Bad 3dface" message for the rest. I've attached a somewhat bigger sample that shows that issue. Any thoughts? It's my understanding that the sample file that I sent, TestFile.dxf, has x,y,z coordinates for all points. Some values are zero. I'm not sure that I understand your comment about the missing z's.

      My use has been that of a hobbyist and found that dxf was a man readable format that I could understand and generate myself. I downloaded a guide for dxf and used it to write the files. These files read into SU and I was content with the results. It seems that you have a more definitive (and possibly different) format for dxf. Can you point me to the source for that format. Since I'm generating the file, I can conform and hopefully get the rest of the way there.

      Thanks again for your help,
      dsct


      Larger Sample

      1 Reply Last reply Reply Quote 0
      • H Offline
        honoluludesktop
        last edited by 12 Jan 2011, 19:31

        dsct, I looked at the faces that Dxf_In is rejecting and discovered that these faces are not coplaner. The attached image contains the model generated by Dxf_In in black, white, and gray. The blue line is an attempt to create a face from the existing vertices's. If the vertices's of the blue lines are coplanar, a face would be created. Because Dxf_In is a SU Ruby plugin, it seems to tolerates less variation in the vertices's values, then does the ODA translator.

        In this case there are two options. One is to improve the accuracy of "Dxf Out"(s) vertex values. The other is to rewrite Dxf_In to create a triangular face from 3 vertex (as ODA does), in place of the 4 vertex 3DFACE that Acad requires. This may take time to do and you may have to wait for a Dxf_In solution. Is it difficult to improve the accuracy of "Dxf Out"? Without doing so, Autocad will not be able to read your Dxf. What may simply be required, is to increase the decimal rounding place. Say, for example, from 7 places (.00000001) to twelve (.000000000001).

        The link to the Acad specifications is here. You also need a copy of a AutoCad generated Dxf in order to see some of the formatting that AutoCad requires.


        Temp00.png

        1 Reply Last reply Reply Quote 0
        • H Offline
          honoluludesktop
          last edited by 12 Jan 2011, 20:11

          Hmmm........Turned out to be easier to rewrite then to explain (as above).>_< Attached is Dxf_In that triangulates non coplaner 3DFACE(s). It is still to your advantage to fix "Dxf Out" in order to maintain compatibility with AutoCad. In addition, ODA/SU7 locates the translated model on SU(s) ground plane, where Dxf_In elevates it as specified. Where is the original model located in reference to the world origin? Btw: please check your pm (private mail).
          Temp00.pngCan you pm me an image of your model as it is created by your original application?

          1 Reply Last reply Reply Quote 0
          • H Offline
            honoluludesktop
            last edited by 28 Jan 2011, 20:36

            This version allows the following non Acad compliant Dxf information to be processed:
            01/10/2011 - v 1.20 Convert lower case Dxf entity names to upper case.
            01/12/2011 - v 1.22 Triangulate Dxf 3DFACE when not coplaner.

            1 Reply Last reply Reply Quote 0
            • N Offline
              nwlarch
              last edited by 30 Jan 2011, 22:06

              Perfect plugin to go from GIS to SketchUp when the ArcGIS->Skp6 plugin doesn't work. You've done fantastic work and you should get more recognition for it!

              1 Reply Last reply Reply Quote 0
              • G Offline
                gwied
                last edited by 1 Feb 2011, 16:53

                I am trying to get topographic contour lines into SU8 as vectors. Illustrator (AI) can "trace" raster images from topo maps very nicely, but then I cannot get the results into SU8.
                --I created a simple filled 2-d square in AI,
                --exported that as a dxf with the "AutoCAD version 2004/2005/2006" option in the AI export dialog.
                --I used your plug-in (my_dxf_In_v1.22.rb) to import this file into SU8,
                --and get the SU error "<Error> or Empty File".
                --I tried the other export->CAD options from AI to no avail.
                --Also, "polylines to faces" or "polylines to edges" made no difference.

                Any suggestions? Do you think AI is exporting "non-Acad-compliant" dxf?

                1 Reply Last reply Reply Quote 0
                • H Offline
                  honoluludesktop
                  last edited by 1 Feb 2011, 21:58

                  It is possible that AI exports drawing entities that Dxf_In doesn't currently support. Upload the dxf file that fails to import (smaller the better), and I will look at it. Also, describe, or upload a image of the original illustration.

                  1 Reply Last reply Reply Quote 0
                  • G Offline
                    gwied
                    last edited by 2 Feb 2011, 18:08

                    Here are 4 files for your experimentation/troubleshooting :
                    1.the DXF export from (1) DXF export from AI contours
                    2.png of (1) so you can see what the DXF is supposed to showpng from AI file of topo contours
                    3.DXF export from AI of a simple, 2D square - black stroke, white fill. DXF export of filled square
                    4.screenshot of AI-DXF export settings screenshot of AI-DXF export settings

                    The AI file of topo contours file would not upload; but if you can use it, I could email it to you.
                    Thanks for the help!

                    1 Reply Last reply Reply Quote 0
                    • G Offline
                      gwied
                      last edited by 3 Feb 2011, 16:49

                      Sorry for my lack of vocabulary here-- If the splines (curved lines) in AI were converted to a series of small straight line segments, then perhaps they would be Polylines in the dxf?
                      I was not able to import square.dxf, the same file you imported successfully! Any ideas? Thank you!

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        honoluludesktop
                        last edited by 4 Feb 2011, 03:49

                        As you probably know, SketchUp can not model curves, and approximates them as a sequence of short connected lines. A spline is a complicated curve, and a polyline is a sequence of connected lines. Btw, Sketchup's basic entities only include faces (planer surfaces) and edges (lines). I am not mathematically fluent, and probably butchered the explanation.

                        AI exported the topo as Dxf v2004-6 splines. If you use the ODA translator and convert AI's Dxf v2004-6 to Dxf v12, the Dxf splines will convert to a Dxf polyline.

                        3watersheds-topo-SIMPLE-v12.dxf
                        The image I posted above is an example of that. Because AI incorrectly tags the splines as closed, the exported topo line are closed. That however, can be easily corrected in SketchUp as below.
                        Temp00.png
                        If you can get AI to export the topo as Dxf v12, the topo will export as polylines. I did not see this option on your image of the AI menu. In addition, if AI can export the topo as either Dxf lines, polylines, arcs, or lwpolylines, Dxf_In will be able to import them into SketchUp. However, I did not see these options in the AI menu either.

                        I don't know why you are unable to import square.dxf, did you get any error messages? If so, screen capture the messages and post them here. If you did not get any error messages, open Sketchup, from the SketchUp menu select Window > Ruby Console. Then attempt to import square.dxf. If you get an error message in the Ruby Console, screen capture that message and upload it here.

                        1 Reply Last reply Reply Quote 0
                        • H Offline
                          honoluludesktop
                          last edited by 4 Feb 2011, 03:50

                          gwied, I have looked at 3watersheds-topo-SIMPLE.dxf, and found that it consist of splines. Temp00.pngDxf_In doesn't support splines at this time, and unfortunately, I will not be able to add it to the translator any time in the near future.

                          I understand that Dxf v12 writes splines as ploylines. ODA provides a Dxf/Dwg translator here that will convert your Dxf v2000+ into Dxf v12. Dxf_In can then be used to import Dxf v12 into SketchUp. Select Dxf_In option: polylines to edges.

                          Dxf_In will however, translate the entities in square.dxf.Temp01.pngSee the help option for a list of entities that Dxf_In supports.

                          1 Reply Last reply Reply Quote 0
                          • H Offline
                            honoluludesktop
                            last edited by 5 Feb 2011, 03:05

                            Hmmmm..........In regards to square.dxf, I just noticed that your OS, and hardware are Mac. I don't believe that I have ever had a request for support from a Mac user before. Perhaps that is the problem. Plugins that run on a PC do not always run in a Mac (as well as the other way around). For me to attempt to solve this kind of problem, it would help to have the error message that is reported in the Ruby Console. Perhaps fortunately, the ODA translator support specific Mac OS's. You need to verify it with your OS.

                            1 Reply Last reply Reply Quote 0
                            • W Offline
                              wthierry
                              last edited by 12 Feb 2011, 16:32

                              @unknownuser said:

                              I always wonder when there are no replies yet a bunch of downloads, why those who downloaded don't take (or have?) the time to send some love to the author. I have no use for this plugin, but here's some love. 👍

                              awesome work on that plugin! 🎉

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                Chrisn2011
                                last edited by 16 Feb 2011, 00:32

                                Hi,
                                I'm a bit new to Sketchup, but have used other CAD packages in the past. I was wanting to load a DXF file into Sketchup, but as 8.0 doen't have a DXF importer I looked at other options, this seemed the best.

                                I have just downloaded dxf_in_v1.18c, copied it and pasted it with other plugins
                                It seems to start ok asks for the settings
                                Help options:
                                Import unit:
                                Select Origin:
                                Polylines:
                                Materials:
                                which I set to None, Millimetres, Model's, to Faces; by Number, and after it failed tried the AmericanFlag1.dxf from Jim's lots of DXF files (earlier in this topic) and still get the same problem, even changing some of the settings I still get the same problem, a Sketchup dialog stating <Error> or empty file

                                The import runs through stages1 and 2 with an indicator running across the bottom of the screen, so I assume it is reading the .dxf file OK. Have I set something up wrong?
                                I couldn't find an older version of dxf_in to see if there was any difference.

                                Any advice or comments greatly appreciated.

                                Chris

                                1 Reply Last reply Reply Quote 0
                                • H Offline
                                  honoluludesktop
                                  last edited by 16 Feb 2011, 20:32

                                  Chris, There are 3 things you can do. First download (from the first post in this topic), and use the current version Dxf_In v1.22. If that fails, post the problem "AmericanFlag1.dxf" here so that I can examine the file (In the post a reply window, "upload attachment" tab is located on the left side, below the reply box). I see that you use a Mac. I have never tested the plugin on a Mac. Plugins that run on PC may not run on Macs, or the other way around. For me to fix a Mac related problem, I need your help. Open sketchup, turn on the "Ruby Console", run Dxf_In, then copy the error message from the Ruby Console, and upload it here.

                                  In any case, upload "AmericanFlag1.dxf" for me to look at, I was unable to find it in Jim's earlier link.

                                  1 Reply Last reply Reply Quote 0
                                  • C Offline
                                    Chrisn2011
                                    last edited by 17 Feb 2011, 00:29

                                    Hi, I have been doing some tests and have discovered that the Mac appears to be bringing the data from the file with a Carriage Return Line Feed termination, and as such was not being recognised. I found the following modification made a huge difference

                                    #get all block names, save them along with their location
                                    aFile = File.open(chosen_file, "r")
                                    aFile.each_line do |line|						
                                    

                                    line=line.chomp+"\n" #strip CRLF and replace with LF
                                    count = count +1
                                    if count == odd_number #strip dxf tags thanks to TIG
                                    odd_number = odd_number + 2
                                    line = line.strip
                                    end

                                    I will try this on the current version. As far as I can see from my studying of Ruby that alteration should not affect running under Windows as it will strip any terminations from the line and then replace it with the LineFeed value used everywhere else in the code.

                                    The fix allowed me to load the "AmericanFlag1.dxf", I got some bad polyline error, but it did complete the loading and could be seen in Sketchup.
                                    It is here and I will test the new version against it and try and capture the message from the Ruby console.

                                    Chris


                                    Jim's file

                                    1 Reply Last reply Reply Quote 0
                                    • H Offline
                                      honoluludesktop
                                      last edited by 17 Feb 2011, 12:26

                                      Chris, Thanks for the dxf, it failed to translate on my pc system. I currently have some work that pays the rent, and may not get back to you for a couple of days, but, I will ASAP. The problem may not be a PC vs. Mac situation. A quick look at the the dxf indicates that the problem may be easily fixed. I will post a solution, or an explanation as soon as I pay the rent:-)

                                      The image appears not very sharp.


                                      Temp01.png

                                      1 Reply Last reply Reply Quote 0
                                      • H Offline
                                        honoluludesktop
                                        last edited by 18 Feb 2011, 00:46

                                        Chris, The problem is simple. Your file $ACADVER version number is AC1003. The Acad Dxf documentation doesn't identify this version. I suspect that it is prior to Acad v10, and may even have been made with a non-Acad program. It contains the drawing entity "polyline" in a 2d format. Dxf_In only reads 3d entities. It will be a while before I can revise Dxf_In to accommodate 2d entities. I suggest that you convert AmericanFlag1.Dxf v?? to AmericanFlag1.Dxf v2000 with Teigha™ File Converter linked here. The converter will change the 2d polylines to 3d so that Dxf_In can read them. The free converter is by ODA, and I believe it is the same engine that SketchUp uses in its Pro Dxf importer. For output, select "2000 ASCII DXF". The converter is designed to batch convert all the DXF and/or Dwg files in one folder into another folder.

                                        I have attached the v2000 Dxf file below, give it a try on your Mac and let me know if it works. If not, open the SketchUp "Ruby Console". run Dxf_In again, and if you get a error message in the "Ruby Console", upload a copy of it to me.

                                        Temp01.pngAmericanFlag1.dxf

                                        1 Reply Last reply Reply Quote 0
                                        • H Offline
                                          honoluludesktop
                                          last edited by 22 Feb 2011, 02:54

                                          Many AutoCad entities like line, arc, and circle have properties unlike those in SketchUp. For example a Acad line can have thickness, and a extrusion direction. A basic Acad line is like a SketchUp line or edge, but when it has thickness, it has 4 sides, like that of a SketchUp face. When a thick line has a Acad extrusion direction, in Sketchup that line resembles a parallelogram. In addition, a Acad polyline has thickness, and will resemble an rectangular volume in SketchUp.

                                          Dxf_In currently supports thickness, and width when required by users in some entities.

                                          The following image is a Dxf_In import of a file that translates lines, arcs, and polylines (stright lines only) with thickness.
                                          Temp12.png

                                          The next image is a SketchUp import of the same file translating lines, arcs, and (below) a polyline with thickness and other properties.

                                          Temp11.png
                                          The last image is the same files opened in a Acad viewer. It adds width, and other properties to the model.

                                          Temp14.png

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

                                          Advertisement