我正在构建一个 Ruby on Rails 应用程序,我需要显示上传的 .dwg (AutoCad) 文件的缩略图。是否有任何 gem(理想情况下)或命令行 Unix 库来执行此操作?我已经爬取了整个网络,除了获得许可的 Windows GUI 界面之外什么也没找到。
我也尝试过使用 ImageMagick,但它不支持 .dgw 转换。
我有一个 .exe 可以进行转换,但我需要构建一个在 Windows 服务器上运行的 Web 服务,这就是为什么我需要该库在 Unix 系统上运行。
我正在构建一个 Ruby on Rails 应用程序,我需要显示上传的 .dwg (AutoCad) 文件的缩略图。是否有任何 gem(理想情况下)或命令行 Unix 库来执行此操作?我已经爬取了整个网络,除了获得许可的 Windows GUI 界面之外什么也没找到。
我也尝试过使用 ImageMagick,但它不支持 .dgw 转换。
我有一个 .exe 可以进行转换,但我需要构建一个在 Windows 服务器上运行的 Web 服务,这就是为什么我需要该库在 Unix 系统上运行。
我必须从我的rails应用程序生成一个DXF,我找不到gem,所以我生成了python代码,使用图书馆DXFWriter,并调用python发送代码来生成DXF文件,也许它可以解决这个问题的一部分.
def dxf
elements = ''
params[:_json].second.each do |l| #Lines
elements += "drw.add(dxf.line((#{l[:x1]}, #{l[:y1]}), (#{l[:x2]}, #{l[:y2]}), color=1));"
end
params[:_json].third.each do |a| #Arcs
elements += "drw.add(dxf.arc(#{a[:radius]}, (#{a[:left]}, #{a[:top]}),
#{(a[:startAngle] * Base::Part::TO_DEG).round(3)}, #{(a[:endAngle] * Base::Part::TO_DEG).round(3)}, color=1));"
end
file_name = "#{Rails.root}/tmp/#{Dir::Tmpname.make_tmpname([params[:_json].first[:part_name], '.dxf'], nil)}"
base_script = "import sys;sys.path.insert(0, '" + Rails.root.to_s + "');from dxfwrite import DXFEngine as dxf;"\
"drw = dxf.drawing('#{file_name}');"\
"#{elements}drw.save()"
%x(python -c "#{base_script}")
render json: { export_basename: file_name }
end