Ubuntu で dwg 形式ファイルを読む

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ef583941-21f5-5ad1-c537-d2e9ee800b07.png)


これは PNP-19 という中国製のケースです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6ea81fb4-bab1-a9c5-ebcc-b5dd1e44b7b2.png)


単品で約30元(約500円)。穴をいくつか開ける加工費が20個で200元(約3500円)。

試しに依頼してみようと思ったら、図面の指示が必要ですということで、ケース自体の CAD データをリクエスト。もらってきたデータが dwg 形式でした。これを Ubuntu で開くにはどうしたらいいかな？

# 環境 

- Ubuntu 20.04
- LibreCAD 2.1.3
- Inkscape 1.0.2
- FreeCAD 0.19


# LibreCad でそのまま読む → エラー

File - Open で 「dwg drawing」 選択肢があって一見読めそう。しかし・・・


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ca7f4f46-66d5-ba47-cc29-be60ac94ca23.png)


このあと、落ちてしまいました。


# ODA FILE CONVERTER を使う → もうちょっと

https://www.opendesign.com/oda_online_converter

こちらに、オンラインコンバーターとデスクトップコンバーターが公開されています。

## オンラインコンバーターを使う → CAD で読むには厳しいかな

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3e37e75d-8af6-b4c2-345d-4f543102255a.png)

このページで dwg ファイルを処理すると、 pdf ファイルを得られました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4dac1447-bb25-0abd-d938-5da9763ded42.png)


これを Inkscape に読ませて dxf で保存してみました
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/84851dea-b79b-34c5-a9be-c2ce9aa1a4fa.png)


LibreCADで読めましたが、逆になっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/29415857-0d22-aaee-d5df-583283c0f8fa.png)

また、縮尺もおかしい感じでした。

縮尺が維持されないのはキツイですね・・・

## デスクトップコンバーターを使う → Ubuntu20.04では無理？


> OpenSUSE11.2/Ubuntu 20.10 x64 or later.

とありますが、試してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1ce459bd-2fe5-914f-2da5-3aba3817e5b0.png)

こちらから deb パッケージをダウンロードしてインストールを試してみます。

```

$ sudo dpkg -i ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb 
以前に未選択のパッケージ odafileconverter を選択しています。
dpkg: ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb が odafileconverter を含むことを考慮すると、先行依存の問題があります:
 odafileconverter は qt5-default (>= 5.3.0) に先行依存 (pre-depends) します
  qt5-default はインストールされていません。

dpkg: アーカイブ ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb の処理中にエラーが発生しました (--install):
 先行依存問題 - odafileconverter をインストールしません
処理中にエラーが発生しました:
 ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb
```


```

$ apt-cache policy qt5-default
qt5-default:
  インストールされているバージョン: (なし)
  候補:               5.12.8+dfsg-0ubuntu1
  バージョンテーブル:
     5.12.8+dfsg-0ubuntu1 500
        500 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
```

うーん、5.12が用意されているけど、試してみるかな・・・

```

$ sudo apt install qt5-default
```

これで再度インストール

```


$ sudo dpkg -i ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb 
(データベースを読み込んでいます ... 現在 377269 個のファイルとディレクトリがインストールされています。)
ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb を展開する準備をしています ...
odafileconverter (22.5.0.0) を展開しています...
odafileconverter (22.5.0.0) を設定しています ...
gnome-menus (3.36.0-1ubuntu1) のトリガを処理しています ...
desktop-file-utils (0.24-1ubuntu3) のトリガを処理しています ...
mime-support (3.64ubuntu1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
```

インストールできたみたい。

```

$ ODAFileConverter 
/usr/bin/ODAFileConverter_22.5.0.0/ODAFileConverter: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.14' not found (required by /usr/bin/ODAFileConverter_22.5.0.0/ODAFileConverter)
```

うまくいきませんでした。

qt 公式から、qt  のインストールをします。

https://www.qt.io/offline-installers

まずはオフラインインストーラを使ってみました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8fde6a93-f996-71b6-a94b-4b817ffa8efd.png)

5.12.11 なので意味がないっぽいですね。

今度はオンラインインストーラを試してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e0f714a2-cfdd-a825-12cb-3dad4e0e489e.png)


もう一度インストールしようとすると



```

$ sudo dpkg -i ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb 
dpkg: ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb が odafileconverter を含むことを考慮すると、先行依存の問題があります:
 odafileconverter は qt5-default (>= 5.3.0) に先行依存 (pre-depends) します
  qt5-default はインストールされていません。

dpkg: アーカイブ ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb の処理中にエラーが発生しました (--install):
 先行依存問題 - odafileconverter をインストールしません
処理中にエラーが発生しました:
 ODAFileConverter_QT5_lnxX64_7.2dll_22.5.deb
```

インストールした qt5.15 をうまく認識していません。こちらはあきらめました。


# DraftSight → 有料

以前 DraftSight は Linux で無料で使えたのですが、今ダウンロードしようとすると・・・

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/df524bad-d617-3a4f-4474-6757a5d484fe.png)

無料で使えるのは30日の試用版のみとなり、また Linux 版はなくなっているようです。残念！

# QCAD → 有料だけどこれを使うことにした

QCAD を使うと dwg 形式が読め、他形式に変換できるようです。
また、QCAD 付属のコマンドラインツールで変換もできるようです。

しかしながら QCAD  は Professional Version と Community Edition があり、上記ができるものは   Professional Version  のみのようです。
コマンドラインツールについても Professional Version に付属なのだそうです。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ee55a802-6422-8766-662f-a8c6138efa3e.png)

```

$ chmod 777 qcad-3.26.4-trial-linux-x86_64.run 
$ ./qcad-3.26.4-trial-linux-x86_64.run 
Verifying archive integrity... All good.
Uncompressing QCAD.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
QCAD Setup...
Making dir /home/nanbuwks/opt/qcad-3.26.4-trial-linux-x86_64...
mkdir: ディレクトリ '/home/nanbuwks/opt' を作成しました
mkdir: ディレクトリ '/home/nanbuwks/opt/qcad-3.26.4-trial-linux-x86_64' を作成しました
Copying files...
Invoking postinstall.sh...
    Installing mimetypes...
    Installing mimetype icons...
    Installing desktop menu entries...
    Installing desktop icon...
    Creating uninstall script...
    Setting executable flag...
QCAD Setup finished.
```

起動すると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/677ca117-b4b7-8be6-3498-56ce08cc59d2.png)


起動した

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/24e2381c-5b80-2d1b-91a5-b6bc42f52f18.png)

読み込めました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f9f17dec-32df-2a70-181b-a6fd930731a1.png)

QCAD 上で DXF 形式で保存し、LibreCAD で開き直したら読めました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/982c1072-d820-aaa3-ad8c-118a49746ecd.png)

Trial は 15分しか使えないそうですが、コンバートのためだとこれでいいかな？