Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Unix DWG到BMP | JPG | PNG | SVG转换器_Ruby On Rails_Unix_Svg_File Conversion_Dwg - Fatal编程技术网

Ruby on rails Unix DWG到BMP | JPG | PNG | SVG转换器

Ruby on rails Unix DWG到BMP | JPG | PNG | SVG转换器,ruby-on-rails,unix,svg,file-conversion,dwg,Ruby On Rails,Unix,Svg,File Conversion,Dwg,我正在构建Ruby on Rails应用程序,需要为上载的.dwg(AutoCad)文件显示缩略图。是否有任何gem(理想情况下)或命令行Unix库来执行此操作?我已经爬过了整个网络,只找到了授权的Windows GUI界面 我也尝试过ImageMagick,但它不支持.dgw转换 我有一个进行转换的.exe,但我需要构建一个运行在Windows服务器上的web服务,这就是为什么我需要在Unix系统上运行该库。我必须从rails应用程序生成DXF,我找不到gem,所以我使用lybrary生成了p

我正在构建Ruby on Rails应用程序,需要为上载的.dwg(AutoCad)文件显示缩略图。是否有任何gem(理想情况下)或命令行Unix库来执行此操作?我已经爬过了整个网络,只找到了授权的Windows GUI界面

我也尝试过ImageMagick,但它不支持.dgw转换


我有一个进行转换的.exe,但我需要构建一个运行在Windows服务器上的web服务,这就是为什么我需要在Unix系统上运行该库。

我必须从rails应用程序生成DXF,我找不到gem,所以我使用lybrary生成了python代码,调用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

值得一提的是,我认为,它必须是商业软件。所有这些人都这么认为。