3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VC++&STEP CADデータ】STEPCodeをVS2019環境に移植する

Last updated at Posted at 2021-10-06

以前紹介したCADデータのライブラリについて。
元々はLinux用途に設計されたライブラリ「STEPCode」について、それなりに調査をし始めている。

相当マニアックな内容でありながらも、意外と需要ありそうで、独自性のあるテーマでもあるので、改めてインストールの方法から整理して記事にする
でも、メカ設計者や部品業者を含めても、実はSTEPを取り扱うのはハードルが高いと言われている。それは、その仕様が複雑なだけでなく、STEPファイルの読み取りは基本有償のものが多いためでもある。

と言っても、STLデータは計算しやすく扱いは容易だが、互換性には苦労させられる。
製造業全体の課題でもあるのだ。

STEPCodeは無償でありながらもBSDライセンスであり、企業が商用利用しても妨げにならないようなライブラリだ。
ただし、コードは全体的にレガシーなものが多く、一癖あるので使い慣れるには結構大変な部分もある。

ある程度私も使ってきたが、色々これで遊んでみたいのでこのQiitaなどで記事として紹介したい

環境

言語

  • C++
  • 言語: Visual C++ (ISO C++ 14 Standard)
  • IDE: Visual Studio 2019 Professional (Version 16.11.3)
  • cmake gui 3.19.0-rc3

cmake guiはちょっと古いもの使っていますが、最新版が出ているようです(3.21.1)

ライブラリ

STEPCode v0.8.1
つい先日、python3への対応が出来るようになったようだ。

VC++移植

1. Githubからリポジトリをクローン

※自分用に色々アレンジする場合は、事前に自分のアカウントでgitリポジトリをforkするなりして、
 管理出来るようにしておきましょう。

git clone https://github.com/stepcode/stepcode

2. cmake

cmakeの作業は結構時間がかかるので、
他のタスクをするなど余裕があるときにやると良いです

Visual Studio 2019を使用する方法

単純ですが、ちょっと進捗が分かりにくい方法.

Visual Studio 2019を開いてOpen a local folder(ローカルフォルダを開く)をクリックします。

image.png

ファイルディレクトリが開くので、クローンしたディレクトリを指定してフォルダを選択します。

image.png

するとVisual Studioの方で勝手にcmakeをしてくれるので、あとは待つだけ。

image.png

CMake guiを使用する方法

しかし実際のところエラーメッセージなどが出たりして、
VSの画面では情報量が多すぎて、「きついなあ」と思ったときはこちらの方法を適用する。

image.png

Configureを押すと、C++ Generatorの種類やプラットフォームを選択するように指示が出るので、欲しいものを使う
とりあえず特にこだわりがなければそのまま実行しても良い

image.png

Finishを押すとCMakeのConfigureが行なわれ、"Where to build the binaries"にConfigureされた状態でディレクトリデータが生成される。

メッセージのところに「Configuring Done」と表示されたら、Configureが終了した状態になる。
画面が変わったら「Generate」を指定してビルドデータを生成しよう

image.png

そして、「Generate」を押したら、エラーがなければ「Generating Done」と表示される。
インストール完了。

キャプチャ2.PNG

3. テストプログラムの作成&cmake

exampleフォルダのプログラムは正常に動きますが、注意点がいくつか必要のようです。

ディレクトリ構成

StepCodeのインストール先に"example"フォルダがあるので、「ap203min」というファイルを新規で作成する。
構成は以下のようにする。

image.png

どうやら、includeフォルダを追加して、その中にconfig.h.inを入れないと、
cmakeが正常にConfigurationしてくれない。

プログラム

CMakeLists.txtは原本のものを使うが、一点注意が必要で、
cmakeをすると

CMakeLists.txt
message(FATAL_ERROR "STEPCODE_ROOT_DIR is not defined! Set via cmake-gui or on command line:\n    cmake .. -DSTEPCODE_ROOT_DIR=/path/to/sc")

の行でエラーが出てしまう。

これを回避するためには、cmakeを展開するときにSTEPCODE_ROOT_DIRを指定する必要があり

CMakeLists.txt
set(STEPCODE_ROOT_DIR "C:/StepCode/")

などと書く必要がある。私はWindowsの環境変数を使って

CMakeLists.txt
set(STEPCODE_ROOT_DIR "$ENV{STEPCODE_INSTALL_DIR}")

と書いておいた。こちらの方が何かと都合が良い。

main.cppは

main.cpp
instance_list->DeleteInstances();

の行でメモリエラーが発生したのでこの部分をコメントアウト。

ビルド

exampleフォルダに対して、cmakeを実施すると、以下のようなフォルダ構成になる。

image.png

buildがcmakeによって新しくできたフォルダで、
中身は次のようになっている。

image.png

AP203Minimum.slnを開いてビルドする。

image.png

image.png

実行成功だ。おめでとう。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?