SolidWorksには機能が豊富なAPI(Application Programming Interface)があります。
VC++、VB、VBA、VBScriptでプログラミングでき、SolidWorksに御社独自のコマンドを組み込むことができます。SolidWorksのAPIは最新のWindowsの機能を使っているため、カスタマイズしたソフトの維持管理にあまり負担がかかりません。
SolidWorksはマクロの記録機能があります。マクロ記録により、操作内容が自動的にVBプログラムコードに変換されます。その内容を読むと、APIの関数の理解がはやくできます。
ExcelやAccessのVBAからSolidWorksのAPIが利用できます。そのため、Excelの膨大な数値処理関数群やAccessのデータベース管理関数群とSolidWorksの形状処理関数群を組み合わせた自動設計システムを短期間に構築することができます。
ユーティリティプログラム
カスタマーサポートページにAPIで作ったユーティリティプログラムがあります。ダウンロードして使ってみてください。Add-Inソフトですので、SolidWorksの他の機能と同じ感覚で使用できます。APIを使えば、同じような追加コマンドを作ることができます。Visual Basicでもメニューにコマンドを追加できます。
※ SolidWorksのベーシックサポートあるいはアドバンスサポートにご加入いただいている方のみダウンロードしてご利用いただけます。
マクロワンポイントアドバイス
1. マクロを記録して、実行してもうまく動かない場合があります。そのときはつぎのことをためしてみてください。うまくいく可能性があります。
(1) 一番前につぎの一行を挿入してください。
Option Explicit
データ型のチェックをしてくれるので、問題把握が楽になります。
(2) SolidWorksの定数を文字で出力する場合があります。ツール/参照設定で
SolidWorks Constant Type Library
にチェックをいれてください。
(3) マウスによる選択の場合、スケッチを開いているときは、スケッチ座標系でマウス選択位置がマクロに記録されます。しかし、選択関数の仕様では、モデル座標系でなければいけないので、書き換える必要があります。
2. マクロの記録で作成したコードはほとんどそのまま、たとえば、ExcelのVBAとして使用できます。しかし、つぎの点の変更が必要です。
(1) SolidWorksオブジェクトの取得
次の行を変更ください。
Set swApp = Application.SldWorks マクロの記録
(Set swApp = CreateObject("SldWorks.Application") 変更後
SolidWorks Workgroup PDMのカスタマイズ
SolidWorks Workgroup PDM2005からは、Advanced Serverがなくても、SolidWorks Workgroup PDMのAPIを使ってカスタマイズができます。VC++、VB、VBA、VBScript言語から使用できます。
SolidWorks Workgroup PDMのボルトの内容を取得できます。プロジェクト、ドキュメント、属性、ステータス、リンクの情報を使って、検索機能をつくることができます。PDMWorks2005では、チェックインができます。
カスタマイズの取り組み方
SolidWorksのカスタマイズは次の手順で進めるとよいと思います。
“設計手順の改善”というテーマの中にカスタマイズはあります。
1. 設計の手順と流れを調査してください。
2. 各人各様になっていませんか。結構便利な方法を持っている設計者がいるかも知れません。
3. 設計の手順と流れの理想系を作ってください。手順化できるところと、考え方を統一できるところがあるはずです。 4. 手順化できるところのうち、SolidWorksに関連するところをピックアップしてください。
5. その部分を自動化したら、どのくらい効果があるかを算定してみましょう。
6. その部分を作る費用が、効果より少なければ開発しましょう。
7. 考え方の統一はノウハウの蓄積になります。
8. もし、結果として、カスタマイズする項目がなくても、SolidWorksを導入すると同時に設計の手順と流れを調査し理想系を考えることで、現状の問題点が浮かびあがり、それを解決すると効果がでます。
■ 弊社はお客さまの設計の効率化のために、つぎのサポートをします。
・ SolidWorksのAPIのQA
・ カスタマイズのコンサルテイング(設計手順の改善)
・ PDM Works Advanced Serverトレーニング
・ カスタマイズの受託開発
・ APIトレーニング




