[Plugin] FreeDXF Importer
-
Jim, would your importer be written in C/C++ by any chance? If so, how much of a stretch would it be to get it to work in LO?
-
@juju said:
Jim, would your importer be written in C/C++ by any chance? If so, how much of a stretch would it be to get it to work in LO?
Well, it would be a huge stretch as FreeDXF is a Ruby extension. I don't have plans to re-write it as a C/C++ extension.
-
I did some more digging around and finally found the FreeDFX-v0.57 plugin that I was looking for that works with my training materials. Is there somewhere I can upload it to so that others can find it as well?
Smooth Sailing,
Gus
-
@gwirth said:
I did some more digging around and finally found the FreeDFX-v0.57 plugin that I was looking for that works with my training materials. Is there somewhere I can upload it to so that others can find it as well?
Smooth Sailing,
Gus
You can just attach it to a reply here on this topic.
-
Here is the FreeDXF-0.57 plugin for use with SketchUp 8.0 It is needed to go with the training materials for the California Energy Commission (CEC) CBECC-Com energy modeling software using the OpenStudio plugin for SketchUp.
Gus
-
I'm having an issue getting this to work on a DXF file saved as 2010 version. I get this error in the Ruby console when I try to import:
Error: #<NoMethodError: undefined method
empty?' for nil:NilClass> C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:1014:indraw_mtext'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:390:indraw' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:286:inblock in import'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:271:ineach' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:271:inimport'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:236:indo_import' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/freedxf.rb:136:inblock in do_options'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/events.rb:82:incall' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/events.rb:82:inblock in trigger_event'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/events.rb:78:ineach' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/events.rb:78:intrigger_event'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/window.rb:357:inevent_control_callback' C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/window.rb:311:incallback_handler'
C:/Users/TEMP.AAP.000/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/jf-FreeDXF/SKUI/window.rb:269:inblock in add_callback' SketchUp:1:incall'Any ideas what is going on?
-
Until Jim fixes it...
I suspect you have a piece of Mtext in the DXF which is flaky.
Currently the code checks if its 'sting' is empty before continuing, but it doesn't check if it exists !
Edit the file using Notepad++ [TextWrangler on MAC].
Find line 1014 and edit it as follows...
return if txt.empty?
should become...
return if txt.nil?; return if txt.empty?There might be other instances of this in the code ?
You can search for the other three uses of.empty?and ensure that before each test the existence of the relevant reference with.nil?is invoked. One is already trapped with areturn, the next one needs a similar line adding as a fix. The line readingnext if l.empty?needs a preceding**next** if l.nil?as that is inside a 'block' rather than in a 'method' and so it should not have areturn. -
I tried to import a .dxf file saved from Inkscape as an Autocad DXF R14 format and nothing happens.
-
When I install the plugin and reopen SkUp (2017), I have an error message appear, telling me:
Error Loading File C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb
Error: #<SyntaxError: C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:658: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n'
when 1: v = [0 , -h]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:659: syntax error, unexpected keyword_when, expecting keyword_end
when 2: v = [-w/2.0, -h]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:660: syntax error, unexpected keyword_when, expecting keyword_end
when 3: v = [-w , -h]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:661: syntax error, unexpected keyword_when, expecting keyword_end
when 4: v = [0 , -h/2.0]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:662: syntax error, unexpected keyword_when, expecting keyword_end
when 5: v = [-w/2.0, -h/2.0]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:663: syntax error, unexpected keyword_when, expecting keyword_end
when 6: v = [-w , -h/2.0]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:664: syntax error, unexpected keyword_when, expecting keyword_end
when 7: v = [0 , 0]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:665: syntax error, unexpected keyword_when, expecting keyword_end
when 8: v = [-w/2.0, 0]^C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/freedxf.rb:666: syntax error, unexpected keyword_when, expecting keyword_end
-
Jim decided to no longer support it, and it's no longer available from the PluginStore.
As it's an RB file you can edit it using a plain-text editor like Notepad++.
C:/Users/Resource/AppData/Roaming/SketchUp/SketchUp 2017/SketchUp/Plugins/freedxf/**freedxf.rb**
Do this only for yourself, because posting or distributing an altered version might infringe the author's copyright?The allowable syntax in '
case' structures changed with newer Ruby versions...
Find the lines throwing the error, they seem to start around line #658 - e.g.
when 1**:** v = [0 , -h]
and replace the:(colon) with a;(semicolon) so it becomes:
when 1**;** v = [0 , -h]Repeat this editing for all of the other
whenlines which include the troublesome**:**Save the changed RB file and restart SketchUp...
See if the error has be sidestepped...If not. then report the next set of error-messages !
-
Hi!
My friend has a problem with this plugin. Installed properly, using SketchUp 17 on Win10. She can choose a file to import but when she clicks Import in the plugin window, nothing happens. We tried to export an AutoCAD file into a few kinds of DXF but none of them worked. What could it be? -
Hello Jim,
Off lately your link to download this plugin doesn't work, there must be some issue here. cause when I search for the same it shows no result in the store. Now I am at a dead end with my work.
Advertisement