【问题标题】:Unix DWG to BMP|JPG|PNG|SVG converterUnix DWG 到 BMP|JPG|PNG|SVG 转换器
【发布时间】:2012-04-03 02:38:16
【问题描述】:

我正在构建一个 Ruby on Rails 应用程序,我需要显示上传的 .dwg (AutoCad) 文件的缩略图。是否有任何 gem(理想情况下)或命令行 Unix 库来执行此操作?我已经爬取了整个网络,除了获得许可的 Windows GUI 界面外什么也没找到。

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

我有一个可以进行转换的 .exe,但我需要构建一个在 Windows 服务器上运行的 Web 服务,这就是我需要该库在 Unix 系统上运行的原因。

【问题讨论】:

标签: ruby-on-rails unix svg file-conversion dwg


【解决方案1】:

我必须从我的 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

【讨论】:

    猜你喜欢
    • 2012-12-26
    • 2012-01-24
    • 2011-03-01
    • 2010-09-07
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多