RevitをPythonで操作する備忘録　#1_環境構築で躓く

# はじめに

前回→[RevitをPythonで操作する備忘録　#0](https://qiita.com/peropeppe/items/8bccb0a39883428cedf6)
次回→未定


# 環境構築からして躓いた話
[前回]((https://qiita.com/peropeppe/items/8bccb0a39883428cedf6))少し記載した、RevitをPythonでいじくるにあたり環境を整える段階でいくつか躓いたのでメモ。
ざっとインストールまでの流れと躓いた箇所を書いておこうと思います。

## RevitLookup
### インストールまで
Webで「RevitLookup」と検索して出てくる[こちらのページ](https://adndevblog.typepad.com/technology_perspective/2015/06/how-to-get-revitlookup.html)から、GitHubページへ。

なお、当方はRevit2020を使用しているため[Revit2020対応版の記事](https://adndevblog.typepad.com/technology_perspective/2019/06/revit-lookup-tool-for-revit-2020-installation.html)から、Revit2020対応版のものをインストールしています。
（GitHubのトップページは同じなので、適宜自分のRevitバージョンと同じものをインストールしてください）


![RevitLookupバージョン](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/551842/1b56e8bb-5724-2e04-b2ab-96702e9dfa7c.png)



上記2020対応版の記事に簡単なインストール方法も書いてありますが、少し流れをさらっておきます。

ダウンロードしたこのzipファイルを展開し、`RevitLookup2017-2020.msi` からインストーラーを起動します。
恐らく、普通であればこれで起動すると思うのですが、私は起動できませんでした。
Revit2020版を使う前にバージョン違いをインストールしていた等のややこしい経緯がありますので、その経緯も少しメモしておきます。
問題がなければ次の段落は読み飛ばしてください。

<br>

### 最初にRevitLookupを起動するまで
今の環境はRevit2020ですが、一番最初にRevitLookupを導入しようとしたときのバージョンはRevit2019でした。
設定したてのころは知識も乏しく、記録もしていなかったため、ところどころ記憶が怪しいことをご了承ください。

最初は[ツールの入手方法について](https://adndevblog.typepad.com/technology_perspective/2015/06/how-to-get-revitlookup.html)のページを見ていたと思います。
（この頃すでに2020対応版の記事も出ていたはずなのですが…。）
GitHubからzipファイルをダウンロードして、展開したフォルダの中にあるインストーラーからインストールを進めました。

これで使える…と思いRevitを起動してみると、起動時に
> dllファイルがありません

と怒られます。はて？

色々調べてみた結果、ダウンロードしてきた \RevitLookup\CS\ 内のソリューションファイルをビルドしてdllファイルを生成すると良いとのことでした。
前述のページにも書いてありますね。
> RevitLookup をご利用いただく際は、Visual Studio プロジェクトファイルのダウンロード後に、ビルドを実行し、DLLおよびアドイン・マニフェストファイルを アドイン フォルダにデプロイしてください。



### dllファイルの生成
と、ここでdllファイルを出すまでにも躓きます。
まずソリューションファイルのビルドができませんでした。

原因はどうやら .NET frameworkのバージョンが低かったことのようで、調べてみたら当時は4.6で動かしていました。
ソリューションファイルのバージョンは4.7推奨です。（4.6でビルドしたら「4.7だよ！」みたいなエラーが出てました）

では4.7にバージョンを上げてやってみようと思い、4.7のインストーラーを起動してみたら「すでにインストールされています」…？
これもよくよく調べてみたら、Developer Packとやらをインストールしないといけないらしく、
4.7.2のDeveloper Packをインストールののち、ターゲットフレームワークを4.7.2に設定してビルドしました。
ビルド成功です。

Revitのアドインフォルダ内には無事にdllファイルが生成されていて、Revitを起動したらアドイン動きました。

<br>


## RevitPythonShell
### インストール直後
環境構築をしているパソコンでは、自アカウント（以下アカウント名：perope）には管理者権限がなく、アプリその他は管理者権限を持つアカウント（以下アカウント名：mster）の情報を用いてインストールする必要がありました。
管理者情報を入力しインストールしたものでも、peropeのほうにあるはずなのですが、インストールしたはずのRevitPythonShellが見つからず、アドインも起動できません。

結論から言えば、masterのみRevitPythonShellのフォルダがあり、perope内のフォルダが無く、かつRevitを起動するアカウントはperopeのため起動ができていないだけでした。

<br>

ユーザー\ **master** \AppData\Roaming\RevitPythonShell\

のフォルダを

ユーザー\ **perope** \AppData\Roaming\RevitPythonShell\

<br>
と、普段使っているアカウントで同じ階層におけば解決です。
（このときアドインファイルも移した気がします）

稀な例かもしれませんが、同じように見つからずに引っ掛かっている人はお試しください。


## Revit Python Wrapper

[前回](https://qiita.com/peropeppe/items/8bccb0a39883428cedf6)でも紹介している [@ishizu 様の記事](https://qiita.com/yishizu/items/6e812db233b7fa970555)に記載があったRevitPythonWrapperをインストールします。

>①レポジトリをクローン  
https://github.com/gtalarico/revitpythonwrapper  
②revit python shellにパスを指定する。


## クローンを試みる

[RevitPythonWrapper公式ドキュメント](https://revitpythonwrapper.readthedocs.io/en/latest/)内の
[インストール手順を示したページ](https://revitpythonwrapper.readthedocs.io/en/latest/installation.html)にも同様の記載がありますね。<br>

「レポジトリをクローンとは…？」<br>
環境構築当時、GitHubどころかGitというシステムそのものも知らず…という状態で大変でした。
GitやGitHubについて知見がない方はこのついでに勉強してしまうことをオススメします。
Windowsをご使用の方も[初心者向けの解説サイト](https://eng-entrance.com/git-install)に沿ってインストールできます。まだ間に合います。私のようにならないよう。


閑話休題。

[GitHubのページ](https://github.com/gtalarico/revitpythonwrapper)から "レポジトリをクローン" …すなわち、フォルダーをコピーします。

![Download zip](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/551842/70dc8ab4-6f70-c0f0-a33c-3acc0ea759a8.png)


このZipファイルを展開し、自分のわかるところに置き、パスを記録しておきましょう。



ちなみに、zipでダウンロードするとファイル名が `revitpythonwrapper-master.zip` になっていると思います。
今ならわかるんですが、ブランチ名がくっついてきているんですね。
[インストール手順ページ](https://revitpythonwrapper.readthedocs.io/en/latest/installation.html)の画像では、フォルダ名が `revitpythonwrapper` になっているのに、どうして `revitpythonwrapper-master` という名前になっているんだ…？と思ったので消して実行しました。

## 設定する

アドインタブから、RevitPythonShellのプルダウンボタンを押し、Configureを開きます。

![tab](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/551842/b805d14f-00fd-8f7e-40fb-9953cfac5910.png)

![Button](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/551842/152c009b-8a22-9bae-6b5a-ee56a1c8a513.png)

出てきたConfigure窓の中のSearchPathタブを開き、Addボタンから`revitpythonwrapper`のフォルダパスを追加、Saveボタンを押し**Revitを再起動**することで読み込まれます。

![config](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/551842/59e01958-d903-5169-3b6e-36e0f296b201.png)





# さいごに
ここでようやくスタートラインに立つことができました。

APIでのツール開発をはじめるための、各ソフトやツールをインストールするまでに躓いたことが多々あったのでまとめてみました。
次回以降は実際にやろうとしたこと、できたことなどを記載していこうと思います。