COLUMN技術コラム
[No.59] CADツールにより設計開発を自動化 - 3大CADの自動化機能と個性を知る -
2022.05.19
3Dソリューション
新型コロナウイルス感染症はあらゆるビジネスに多大な影響を与えており、ものづくりで重要な役割を果たす設計開発部門も例外ではありません。設計開発現場においてもテレワークやリモート化の動きが活発化していますが、さまざまな課題があります。加えて、DX(デジタルトランスフォーメーション)への動きも待ったなしの状況です。このような状況下の3D CADを活用した設計環境の現状を捉え、SOLIZEが提供するソリューションの一つであるCADツールによる設計開発の自動化について、考察します。
ますます生産性向上が求められる製品設計開発現場
厳しくなる外部環境、生産性向上が急務
未だコロナ禍で経済的に厳しい状況が続く中、新たな収益源の確保に向けた販路開拓や新規事業・商品開発に取り組む企業が増加しています。それに伴い製品設計開発現場では、コロナ禍における労働力不足や仕事の生産性向上、効率化に向けた業務改善の必要性という課題が生じており、各社で試行錯誤しています。
DXが進まない設計開発業務
コロナ禍で加速しているのがDXです。IoTやAIといった最新のデジタル技術の活用により、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立することが期待されています。しかし、設計開発業務におけるDXは思うように進んでいません。
CADツールで設計開発業務を自動化し単純作業を手放す
流用設計や単純作業など、効率化できる業務は確実にある
設計開発業務のデジタル化は困難なのかというと、必ずしもそうとは言えません。設計環境の変化として、設計ツールは時代とともに変遷しており、製図台に向かって紙とペンで設計していた時代から、デジタル化が進み2D CAD、3D CAD導入、そして、CAE、レンダリングの活用まで、デジタル化が順調に進んできているとも言えます。設計環境における課題はデジタル化ではなく、以下のような要因が大きいと考えられます。
- CADの操作は個々人のスキルとしてブラックボックス化しており、標準化されていない
- 設計ツール(CAD)に対するDX関連のソリューションが少ない
CADの操作は個々人により異なるのでしょうか。
多くの工業製品は型式違いの製品がラインアップされており、基本構成が近しい製品を開発する場面も多く、流用設計なども行われています。また各社、設計手順については手順書にまとめるなど標準化がなされていることも多く、これをCADの操作に落とし込むことはできそうです。
つまり、個々人が行っているCADの操作を標準化することができ、CADに対する最適なソリューションを適用することができれば、設計開発業務を効率化する余地は十分あるはずです。
CADとプログラミングの掛け合わせ、CADツールが実現する自動化
CADはExcelやWordのような汎用的なツールとは異なり、使用される業界・業種が絞られるため、活用できるソリューションが限られています。一方で、CADには非常に豊富な機能が実装されているにも関わらず、ほとんどの企業においては、その機能のごく一部しか活用できていないというのが現状です。
CADが持つ機能の中でも、特に作業を効率化することを目的とした機能が大きく2種類あります。
- ある履歴のまとまりをカタログ化し、モデリングに利用することで、形状やフィーチャーのまとまりを自動作成する機能
ユーザー定義フィーチャー(UDF)、テンプレート、パワーコピーなどと呼ばれるもので、3Dの形状作成を支援します。 - 外部のプログラムを実行することによりCADに対して一連の処理を自動で実施する機能
3Dの作成はもちろん2Dの作成、3D・2Dのチェック、ファイルの操作など、CADが持つ機能のうち大部分を利用して自動化することが可能です。
活用できるソリューションが限られていることは前述のとおりですが、CADとプログラミングを掛け合わせることで、CADが本来持つ機能を最大限に活用しつつ、求める結果が得られるようなソリューションを開発でき、最適な自動化を実現することが可能です。
CADが備える自動化機能と開発環境
ハイエンド3D CADの自動化機能と開発環境
外部のプログラムによってCADを自動化できることを述べましたが、CADの種類によって備える機能や開発環境は少しずつ異なります。またCADに標準で備わっている機能と、オプションのライセンスを必要とする拡張版の機能もあります。ここでは導入のハードルがないCADに標準で備わっている機能に焦点を当てます。弊社の業務においておもに活用している、ハイエンドCADと呼ばれる3種類のCADが備える自動化機能と開発環境は以下です。
CAD | 自動化機能名称 | 開発言語 | 特長 |
---|---|---|---|
CATIA | CAA V5 Automation |
VBA | 専用のエディタにより デバッグが可能 |
NX | NX Journal | VB.NET/C#/他 | ライセンスが必要なNX Openと同じAPIが使用できる |
Creo | Web.Link | JavaScript | HTMLを使用して高機能な インターフェースが作成できる |
VBAPI | VBA | 専用のエディタにより デバッグが可能 |
CADごとの自動化機能の違い、個性を知る
CADを自動化する際の自動化可能範囲や手段・手法については、CAD自体の機能の違いはもちろんありますが、開発環境や開発言語の違いも大きく影響します。むしろ開発環境や言語の違いの方が、影響度合いが大きいと言えます。ここでは、開発環境や言語の違いによる、CADごとの自動化機能の個性を見ていきます。
CATIAの特長:開発者フレンドリー
- APIがツリー状に表現されている
CADの自動化を進めるにあたり、CADに対してプログラムによりどのような命令を出せるのかを調べる必要があります。CADに対するプログラムの命令をまとめたWebサイトがCADごとに用意されており、そこに一つ違いがあります。
CATIAのプログラムのサイトではCADの内部構造が可視化されており、その構造に自動化の命令が紐付いているため、CADの知識と自動化の知識が結び付きやすく、開発スピードや習熟を後押しします。
一方CreoやNXでは、関連する命令同士がリンクで紐付いてはいるものの、基本的にはアルファベット順でまとめられており、CADの内部構造とプログラムの命令の関係性を結び付けるには相応の知識と経験が必要です。
- 高機能なエディタが備わっている
使用できる命令がわかると、続いてはプログラミングです。プログラミングを行うための開発環境が用意されているCADと用意されていないCADがあり、この違いも開発者にとって大きな影響があります。
Excel VBAの経験がある方なら馴染みがあるかもしれませんが、CATIAにはVisualBasicEditor(以降VBE)という開発環境が標準で備わっています。VBEにはプログラミングを支援するさまざまな機能が備わっており、他のCADの開発環境と比較した際の最も大きな違いはデバッグ機能にあります。Excel VBAと同様に、CATIAではプログラムを一時停止したり、一行ずつ実行したり、また途中段階でどのような値になっているかを確認できるなど、デバッグの機能が非常に豊富です。
NXにはエディタはあるもののメモ帳のような簡易的なテキストエディタで、デバッグ機能などは備わっていません。
Creoにはそもそもエディタが備わっていないため、一般的なプログラムのエディタを使用することになります。Creoとは独立したソフトウェアを使用することになるため、CADへの命令を書く際に候補を出すなどの補助機能はなく、CADとつながっていないためデバッグはもちろんできません。
CADへの命令の探しやすさ、習熟のしやすさ、構築のしやすさという観点で見た場合、CATIAが他のCADに比べて開発者フレンドリーであることがお分かりいただけるかと思います。
NXの特長:すべてのAPIが使用可能(無償/有償ライセンスの差がない)
各CADに標準で備わっている自動化機能とは別に、有償ライセンスを契約することで使用可能になる自動化機能が存在します。有償ライセンスの機能を使用することによって、標準で用意されている命令ではアクセスできない領域まで自動化することが可能になってきますが、その分ライセンス費用は非常に高額なものとなっています。
CATIA、Creoでは、有償ライセンスにて非常に多くの命令が用意されており、自動化できる範囲や自動化できる内容に大きな差が出てきます。しかしNXでは、CADに対する命令という点では無償/有償の間に差がなく、あらゆる機能に対して標準機能でアクセスすることが可能です。有償ライセンスでは高機能なUIを作るためのモジュールが用意されているなど、プログラムの命令以外の部分では差がでてきますが、NXに対して制御できる範囲という観点では差がなく、自動化の自由度が高いと言えます。
Creo(Web.Link)の特長:ブラウザベース
Creoには標準で使用できる自動化機能(言語)がいくつかあり、言語が一般的で開発保守しやすいという点でおもに2つの機能を活用しています。一つは、JavaScript/HTMLを主体として開発するWeb.Linkという機能、もう一つは、VBを主体として開発するVBAPIという機能です。VBについてはCATIA、NXでも利用しており、言語の持つ特長という点では差はありませんが、JavaScript/HTMLを利用するWeb.Linkは、他のCADにはない大きな特長を持っています。
- ホームページ作成と同じ言語で高機能なUIが作成可能
HTMLを利用しているため、テキストボックスやボタン、線や図形の要素を簡単に配置することができます。またCSSも組み合わせることができるので、色などの見た目も自由に表現することが可能で、高機能なUIを作ることができます。
また見た目だけでなく、Jqueryなどのライブラリを組み合わせることで、多様な機能を持つテーブルなども手軽に作ることができます。VBでもユーザーフォームを作成することは可能ですが、見た目のきれいさや分かりやすさ、持たせられる機能の幅などを考えると、UIの表現力という点でCreo Web.Linkは大きな優位性があります。
- 暗黙的な型変換により、コンパクトかつスピーディに開発
Creo Web.Linkで利用する言語の一つ、JavaScriptには大きな特長として暗黙的な型変換という仕様があります。たとえばVBでは変数を宣言する際に特定の型を宣言する必要があり、型ごとに使用できる命令が決められているため、型と命令の関係が間違っているとエラーが発生してしまいます。JavaScriptには型がないというわけではありませんが、状況に応じてJavaScriptが自ら型を判断しながら値を受け渡すという特性により、型を宣言することなくプログラムを記述することができるため、プログラムが短く、コンパクトになるうえ、開発がスピーディに進められます。
このように、CADの違いだけでなく開発言語の仕様による違いも自動化に対して多大な影響を与え、各CADの自動化の個性となって表れるのです。
CAD×自動化機能×プログラミング 三位一体の技術で自動化を実現
一筋縄ではいかないCAD自動化開発
ここまでCADの自動化機能の概要、CADごとの自動化機能の違いについて述べてまいりましたが、自動化機能があればたちまちCADの自動化が実現できるのでしょうか。残念ながら一筋縄ではいきません。まずはCAD自体の機能で何ができるのかを網羅的に知る必要があります。しかし、CADで手作業であれば簡単にできることが、自動化機能ではスムーズに実現できないケースがあります。
自動化するための命令が用意されておらず、やりたいことが実現できない状況でも、CADが持つ機能とうまく組み合わせる、CAD特有でない範囲のプログラムの機能を深堀りするなど、できない(ように思える)ことを実現する術は以外とあるものです。CAD自動化開発には、「CADを知る」「自動化機能」「プログラミング」三位一体の知識が必要です。
◆◆◆
SOLIZEは、製品開発現場におけるプロセス変革コンサルティングの数多くの実績や、CADの自動化機能とRPAを組み合わせた製品開発現場に最適なソリューションにより、製品開発現場が抱える課題の解決を強力に支援します。
参考
日経XTECHウェブサイト:製造業R&DのDXが進まない3つの理由(2020.8.24)