[Plugin] FreeDXF Importer
-
@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.
-
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:-(
-
New Version 0.51
- Improved ELLIPSE method
- Added import of TEXT entities.
See first post for download.
-
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 -
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.
-
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?
-
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.
-
Does it handle units at all? Or does it assume inches?
-
My
importDXFtext.rb
ideas could be cannibalized into this tool to add the DXF's text in 2d 3dText groups, using available fonts or defaulting [mine uses Arial.ttf if the font is not in one that's listed] - my tool also replicates the [M/D]text/attribute's coded-symbols, colors, size etc wherever possible - also you could easily add an attribute for the text's 'string'... -
I managed to hack this plugin for my need. Placed Text objects. Then I could use them to extract their insertion points and move them to the height given in the text - resulting in a point cloud, which I used TIG's Triangualte Points (modification of Didier) to generate a terrain mesh.
phew
At least now I got an accurate terrain. Thanks for all your scripts.
-
Ages ago I wrote an AutoLisp tool to run in your CAD DWG and read 'flat' spot-height pieces of D/Mtext and move them in the Z to suit their given 'elevation' taken from the text's string into a float, and also add a 'point' at the text's origin - you can then export those as a point-cloud DXF for use in your SKP... to meshify it...
If the lisp would be of any help let me know and I can PM it... -
@thomthom said:
I went looking at it to work out what it imported DXF TEXT entities as. Text entity in SketchUp?
Currently TEXT and MTEXT are imported as 3D text (but with zero thickness.) The Font defaults to low-quality Arial. Texts respect newlines, position, height, font (if installed?), bold, and italic styles. Roation is not yet complete. Tects color is always black for now.
I had planned an option to import text as SketchUp screen text. In fact that's the easiest way to import it and the most economical as far as geometry.
@thomthom said:
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.
Good idea - will implement.
@thomthom said:
Does it handle units at all? Or does it assume inches?
FreeDXF does not consider units at the moment, so every import would be considered as being in Inches.
-
hi Jim, here's a mac screenshot,
I've got an archive of these simple reduction gear dxf's and it opens them a threat...
it's particularly useful being able to specify circle and arc segment counts, the v7 SU importer bought these in a such low quality, I couldn't use them.
it splits out into layers, but doesn't group those items, I haven't read the script yet but is that addable?
i.e. each layers geometry is also a group so it doesn't stick on first opening with all layers on.
also does it do faces?, I'm not sure if this test file has any... a lot of them don't.
cheers
john
-
@driven said:
it splits out into layers, but doesn't group those items, I haven't read the script yet but is that addable? i.e. each layer's geometry is also a group so it doesn't stick on first opening with all layers on.
Yes, I think it's addable. I was using SketchUp Pro's dxf importer as my example; which does not group geometry by layer. But it seems like a better way to import geometry seeing as cad layers are more like SketchUp Groups than SketchUp Layers. So would all entities in the group be on the cad layer, or just the group on the cad layer with the raw geom on Layer0?
@driven said:
also does it do faces?, I'm not sure if this test file has any... a lot of them don't.
Not really yet. It does import 3DFACE entities, but I think they are not common in dxf's.
I appreciate the feedback. (send test files.)
-
By reading everything I'm not sure if I'm doing something wrong or its not able to import text yet? It would really be a helpful tool if it did!
Thanks Kurt
-
Thanks Kurt. It should import text and mtext entities. I would be interested in testing your .dxf file, if possible.
-
@jim said:
Thanks Kurt. It should import text and mtext entities. I would be interested in testing your .dxf file, if possible.
Hope this helps, I think its just the type of text we used but I'm not sure. I was thinking it was standard MTEXT but may have been wrong?
-
I just accidentally discovered that you can drag and drop some dxf files into IE and it will open to view. Jim's reference file opens, but humpmetwice's doesn't. Is it a Acad created file?
-
@honoluludesktop said:
I just accidentally discovered that you can drag and drop some dxf files into IE and it will open to view. Jim's reference file opens, but humpmetwice's doesn't. Is it a Acad created file?
@HDT - Do you have AutoCAD installed, or a dxf/dwg viewer that enables the browser to display them using a add-on? (My guess.)
@Kurt - Thanks. This is what I get when importing your .dxf. It looks mostly OK, except the texts are not rotated (which I am aware but haven't fixed that yet.)
-
I have a old copy of volo, but it was a popup that prompted a activeX download to then open the dxf to view. Are they related?
Btw, Jim, do you know if the majority of the non text/dimension entities in your reference file are polylines?
Advertisement