2
0

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 3 years have passed since last update.

Draftsightのaddinつくった

Last updated at Posted at 2021-06-30

この手の奴って、購入するときはAPIがどうとか歌ってる割には扱いが雑すぎて、実際やろうとするとよくわかんないのよね。さて、なんとなく一つ作ってみたのでご報告いたします。まーーーーほぼほぼhelpページの愚痴です原文

開発環境

VisualStudio 2019 (VC++,C#コンポーネントいれてます。)
Draftsight 2021
windows 10

開発

draftsightインストールすると、サンプルプロジェクトが自動的にインストールされるのでそれをベースに開発を進めていく感じです。プロジェクトテンプレートはインストールされないし、パスの設定とかなんとか面倒そうなので。だれかGitHubにでも上げてくれないかな。

インストールパスにAPISDKというフォルダがあると思います。デフォルトのインストールパスは「C:\Program Files\Dassault Systemes\DraftSight」です。

サンプルプロジェクトは「APISDK\samples\」に入っていますので、dsSamples.slnを開いてやればビルドは通ると思います。(たぶんパスの設定がらみだと思うけど)個々のプロジェクトだけ開くとビルドできない。DLLがビルドされるのでこれをdraftsight側から読めるように設定ファイルを作ってあげればOKです。

ただ、これを「ProgramFiles」フォルダでやろうとすると管理者権限がどうとかって面倒なので、APISDKのフォルダをどこか適当なところにコピーしてそこをいじっていくのがいいと思います。

後は、英語のAPI眺めながら組んでいく感じです。

デプロイ

windowsの場合はUser Account Control (UAC)の設定でちょっと違うらしいのですが、要は「addinConfigs」というフォルダを探して、そこに設定ファイルを新たに作って、今回作ったDLLのパスとuuidを入れてあげればいいみたい。僕はめんどくさがりなので、パスはビルド先「APISDK\samples\C++\Simple\[????]\Release\[????].dll」に設定してます。UUIDは「dsAddinConnection.cpp」の関数HasSignedByDraftSightに記載されているのを設定します。

someaddin.xml
<addinmanager>
    <draftsight version="">
        <addin name="[アドイン名]" startup="1" help="[tool tip????]">
            <button bitmap=""/>
            <cpp uuid="[UUID]" pathname="[DLLのフルパス]"/>
        </addin>
    </draftsight>
</addinmanager>

うまくいくと

draftsightの「管理」>「addin」のリストに表示されると思います。今回は、穴位置の指示を相対座標で入れるためのツール作ってみました。そうそう、modelとsheetで扱いがかなり違っててsheet側に座標出すのが少し面倒だった。というか、この方法でいいのかよくわからん。細かいところは需要があれば書いていきます。
DraftSight-Professional-NONAME_0.dwg_-2021-06-28-14-13-59_Trim.gif

さいごに

ほしい人いたら売ります。(気分次第で)作ってほしいものあったら作ります。怒られたら消します。

2
0
2

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?