[Plugin] FreeDXF Importer
-
@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:in
draw_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:in
block 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:in
import'
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:in
block 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:in
block 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:in
trigger_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:in
callback_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:in
call'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
when
lines 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