[Plugin] Dxf_In v2.2 20110517 Dxf2Skp
-
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 fileThe 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
-
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.
-
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
endI 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
-
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.
-
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.
-
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.
The next image is a SketchUp import of the same file translating lines, arcs, and (below) a polyline with thickness and other properties.
The last image is the same files opened in a Acad viewer. It adds width, and other properties to the model. -
Honoluludesktop: thank you very much for this plugin
one thing though, i tested on a file and i saw that the it doesn't import the text intro SU.
could you adjust that please, also if it is possible to add the possibility to maintain the Cad Layers on SU, after the import.
thanks a tonne! -
Hi Alex, Go here for a plugin to import text separately into your SketchUp model. Can you post the dxf file so that I can work on layers?
-
here is the pdf of what should appear in SU , but only in CAD, as DraftSight, which is new and free sees :
small-victoria_cuerpo_bello.pdf
victoria_cuerpo_bello.pdf -
i give you the files that i have to work with.
the big one is the one i need, but since is so big, and take a lot of time to import, i made another(smaller) with only a section of the model, so can take a look rapidlyhere is the link from where you can access them: http://dl.transfer.ro/transfer_ro-24mar-5c4a282f1f55.zip
small part-VICTORIA_CUERPO_BELLO.dxf
VICTORIA_CUERPO_BELLO.dxfnotice! i didn't explode the model, so they can import badly with lacking of details. I don't find where i put the exploded ones. If you need them too, tell me, and i will upload them also.
and by the way the import_text makes SU crashing when i want to import the file that's why i'm asking
-
Got it, will get back to you after I have a chance to look at it. Good job, cutting the size down.
-
Alex, Test this version in regards to layers. I see that there are transformation problems with blocks that I will also have to fix. In addition, Dxf_In currently doesn't support nested blocks. Read the help files; also set the defaults dimensions to your preference.my_dxf_In_v1.25.rbLet me know if the layers are OK so that I can post the plugin for others.
-
i have made another file, much simple one.
0 (contains a polyline)
blue circle
red rectangle
yellow BlockThough layer system now works with your new plugin, but is not accurate: i ,mean the red rectangle is placed on Layer0(of SU default), but it should appear on a different one: that is Red Rectangle not to be placed on Layer0(defaultSUlayer).
(bytheway: if i hide Layer0-everything dissapears- this is strange because on layer Red Rectangle should be only a rectangle, and SU for some reason puts the rectangle on Layer0 with also everything!! strange, you can see that is no Red Rectangle layer in SU, after importing the file)here's the file, please check it out.
testlayers.dxf -
it would be best to make possible to add the layers imported into Su, on different layers than SU's layers, cause currently it puts some geometry on Layer0 of SU, which is not good at all.
-
the rectangle lacks an edge for some reason by the way, as seen here:
-
Also: Blender 2.49 has a very powerful DXF importer. I have tested it and installed everything includin text blocks all correct , without an error. Single thing that is not working are the layers. Unfortunately blender in not as quick and simple as SU
I wonder if you could take a look into how that Importer in made, so you could adapt it to SU.
-
@alexdobras said:
it would be best to make possible to add the layers imported into Su, on different layers than SU's layers, cause currently it puts some geometry on Layer0 of SU, which is not good at all.
SketchUp layers are unlike those in other Cad applications. I think that the view layer is correct. If you elect to group the import at the end of running the application, the group will be placed on "layer0", and hiding/unhiding layers behaves as you see it. If you do not group the import, it should work in a more conventional manner. I will look at the problem with placing the entities on the wrong layer.
-
Alex, good news is "layer0" is "RED_RECTANGLE" so the problem is fixable. Bad news, the missing entities may be "unsupported" by Dxf_In. Sorry, but the math for those entities
may be
(or not) beyond me. I will take a look.Is the attached image the one that you are looking for?If not tell me what is wrong? The line that intersects the circle is on "layer0". I suspect that is wrong. Can you tell me what layer it's on? Perhaps layer "0".
-
@honoluludesktop said:
Alex, good news is "layer0" is "RED_RECTANGLE" so the problem is fixable. Bad news, the missing entities may be "unsupported" by Dxf_In. Sorry, but the math for those entities
may be
(or not) beyond me. I will take a look.Is the attached image the one that you are looking for?[attachment=0:fq5clw9c]<!-- ia0 -->Temp00.png<!-- ia0 -->[/attachment:fq5clw9c]If not tell me what is wrong? The line that intersects the circle is on "layer0". I suspect that is wrong. Can you tell me what layer it's on? Perhaps layer "0".
it is almost good
the line that intersects the circle is on layer named "0" on CAD, but i see that is on "Layer0" of Sketchup. that is bad, because SU should create the later named "0", so the dxf imported should pe placed on totally different layers than that existing ones.also: how could you import the dxf and get the entire rectangle, and almost the Block completely imported??
-
there should be 5 layers:
layer0
0
red rectangle
yellow Block
Blue circle
Advertisement