0

Ruby on Rails アプリケーションを構築しており、アップロードされた .dwg (AutoCad) ファイルのサムネイルを表示する必要があります。これを行うためのgem(理想的には)またはコマンドラインUnixライブラリはありますか?すでに Web 全体をクロールしましたが、ライセンス供与された Windows GUI インターフェイスしか見つかりませんでした。

ImageMagick も試しましたが、.dgw 変換をサポートしていません。

変換を行う .exe がありますが、この機能のためだけに Windows サーバーで実行する Web サービスを構築する必要があります。そのため、Unix システムで実行するライブラリが必要です。

4

1 に答える 1

1

Rails アプリケーションから DXF を生成する必要がありましたが、gem が見つからなかったので、lybrary DXFWriterを使用して 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
于 2016-07-01T14:32:06.010 に答える