みなさんいつもお世話になっております。
今始まったことではないんですが、某CADからのインポートで円柱の面構成がこの様に真中で割れているものがあります。恐らくCADカーネルの違いでこうなるのだとは思いますが、色々と都合の悪い場面が多い。
特に社内外ではやはり図面という形で意思疎通を行うので、簡単に図面化するわけですがこの面の構成だとφが出ない、 R→φへの変換指示も出てこない。さらには穴ピッチが単純に入れにくいなどなど。
ちょっとした手間でどうにかなるものの非常に精神衛生上良くありません。
この面構成を、Fusion360でおなじみの円筒が1枚になっている面構成にしたいのですが、簡単な方法ってありますかね?
解決済! 解決策の投稿を見る。
回答者: adachitech7. 解決策の投稿を見る。
回答者: Octave.Lab. 解決策の投稿を見る。
@adachitech7 さん
いつもありがとうございます。
やはり簡単に直す方法ないかぁ……。
@kandennti さん
え、、、逆が良いのか……。
ということは、割れている方が都合が良いシーンがあるって事ですね。
そうか、割れている理由があるって事か。我慢して使うしかないかな。
@Octave.Lab さん、
@Bunga777 さん、
なるほどです!
私もやってみました。
面のグループを作成する時にタイプを「速い」にしました。
ソリッドに変換するときには方法を「プラズマティック」にしています。
これでちゃんと円筒面として認識されていますね。
@kandennti さん
そうなんです、これCatiaだと思うんです。
うちは孫請けにあたるので客先からはパラソリッドデータで来たりIGESだったりします(^_^;)
たまに、これで加工を?正気??と言いたくなるようなデータも送ってきます。
@Octave.Lab さん
ナイス!! その方法には気づかなかった! なるほど一旦STLかぁ……。
機械加工が正業なので、ソリッド⇔サーフェス の行き来はわりとやりますが、まさかSTLデータは全く頭にありませんでした。
@adachitech7 さん
検証ありがとうございます。グループ化する時の許容差がキーになるっぽいですね。0.002~0.003辺りが面がまとまる境界になっているっぽいです。あまり荒くしてしまうと、今度は周りの面取りに影響がでてしまう場面が何度かありました。タイプ(早い)でも必要な面が繋がってしまう事があったので、この辺の調整は目視になってしまうのが辛い所。
ということで、やり方をまとめてみました。
上記方法で面落ちも無く変換されました、動画を撮ったのであげておきます。
もっと形状が複雑になると色々と弊害が出てきそうな気配はあります。
試しに円筒のエッジにフィレットが付いた場合を試してみたところ、グループ化するのにかなり時間を要するのと、許容差0.003では上手くいかないので0.005程度にしてようやく元の形状になりました。
ということで、ひとまず解決にしておきます。
また新たな何かが判明したら、こちらの繋げて投稿するかも知れませんし、何か良いプラグインやスクリプトがあれば( @kandennti さん)、その時はまたよろしくお願いいたします。
@Octave.Lab さん @Bunga777 さん
>提供元がどのように出力をしているのか確認をしたいところです。
他のCADの場合あまり無いと思うのですが、catiaの場合はエクスポートする際の
面の状態を、そのままやNURBSに変換したり設定することが可能です。
(確か、Igesの場合です)
社内で国産CADCAMにデータを受け渡す際、そのままの状態で受け渡すと
面化けが酷く、最悪気が付かないまま加工してしまう事があり、
散々試した結果、NURBSに変換してエクスポートする設定が一番安定
していました。(その為、その設定で自分もエクスポートしてます)
Fusion360ではそのようなエクスポートの設定は出来ませんが、
APIにはそれに近い機能が用意されているようです。
残念ながら、逆の機能は無さそうです。
今でこそ当たり前になりましたが、一昔れあればCADの宣伝文句で
"NURBS対応" のような記載も有った様な気もしますが、NURBSは避けたい
のも事実です。
CAD創世記頃は "曲線をどの様に表現するか?" を先人達の知恵の結晶が
NURBSのような気もするので、避けるのも難しい・・・。
↓かなり読み応えのあるものです。
なるほど、それで製図が面倒な感じになっているわけか。
来るたびに色々と違うので、部署によってその出力の設定が変わっている可能性はありますね。
Rhinocerosあたりが出てきた頃は、NURBSバンザイ!って私も言っていた時期がありましたが、それがこんな形で弊害になるとは(T_T)
先日フーリエ変換の原理を改めて知って、凄い!と思ったばかりで、そういえばNURBSも大発明だったよなぁと、貼っていただいたリンクを見ながら思いを馳せてしまいました。
@Bunga777 さん @kandennti さん
昔の話ですが、CADデータの変換精度がいまいちなのはお互い様で、T〇G〇とかDe〇〇のデータをどう読み込むかで悩んでいた時期もありました。浜松の会社まで教えてもらいに行った事もありました。
それにしても、Fusion360のAPIは凄いですね。あの金額でこれだけ充実のAPIがあるとは。Inventorメインの私には羨ましい限り。Pythonにこだわらずにもっと開発しやすい環境を用意すればよいのに。あ、脱線しました。
@Bunga777 さん。
一応、こんな感じまでは出来るようにはなっています。
分かりにくいのですが、面をクリックすると割れている線が消えています。
完全に穴がシリンダーであれば良いのですが、
・テーパー穴
・凸形状(軸のようなもの)
が、不都合な処理をすることが分かってるので、その部分を食い止めるか?
正しい処理を行うようにすべきか?を悩んでいる段階です。
念の為、処理したものは添付しておきます。
@Octave.Lab さん
Fusion360のAPI凄いですよねぇ。
たまたま先程も某CADCAMの営業の方と話していたんですが、営業してくれているCAMでは色々と出来ないことが多く、それワンボタンで出来るようにしませんか?APIとか無いですか?って話になって、、、営業の方もえ~~っとそこまではちょっと……って困らせてしまって、いかんいかんFusion360の癖が出てしまったと反省したりして。 とにかくFusion360のAPIが @kandennti さんの功績もあって、評価が超バク上げなんですよねぇ。
@kandennti さん
凄くいい感じに出来てるじゃないですか!!
希望があるとすれば、一つずつ選ぶのではなくて自動で選ぶ or 枠で囲んでいる所だけ選ぶってのが実装されていれば尚良いと思ったりします。すいません、わがままで(^_^;)
@Octave.Lab さん
>Inventorメインの私には羨ましい限り。
自分はInventorの経験は無いのですが、Fusion360APIフォーラムの重鎮は
Inventorも取り扱える方です。
InventorもAPIは充実してそうな雰囲気を感じているのですが・・・。
>Pythonにこだわらずにもっと開発しやすい環境を用意すればよいのに。
自分はFusion360APIでpythonを覚えました。最初の頃は書籍も少なかったのですが、
今は人気のある言語なのでかなりあるはずです。
C++もありますが、APIフォーラムを見る限り取り組む人が少なく質問を答える人も
少ないですね。
C++書けないのですが、読むとpythonの方が清楚な書き方が出来るかな?と言うのが
個人的な印象です。
あはは、言語の話になってる。
私も遠い昔にC++で仕事をしていましたが、ちょっとした趣味でPythonを弄った時に衝撃を受けた覚えがあります。
今のCの仕様がどれほど変わったか最近は触っていないので分かりませんが、Pythonは適当になんとなく書くだけで解釈してくれて動いちゃうなんて楽なんだ?って思ったなぁ。
なのでAPI弄くりたいんですよねぇ、もうそこまで沼にはまれないんだなぁ、楽しそうで危険すぎなので。
@Octave.Lab さん的に最近の推し言語はなんですか?(全然スレと関係なくなってる(^_^;))
@kandennti さん @Bunga777 さん
InventorのAPIも充実しているのですが、Fusion360への力の入れっぷりに少々嫉妬しています。
OSに依存しないFusion360がPythonなのは理解していますが、開発環境が使いにくいです。VS Codeでちょっと始めてみたのですが、デバッグの仕方が良くわからないで中断しています。明日から暇になるので、また触ってみようかな。
Inventorは、VBAで書かれたサンプルコードが充実しているのが良いです。
推しの言語は、AutoLISPです。冗談です。
Inventorだと、iLogicです。
開発するときは、ヘルプが充実しているVBAでプロトタイプを書いたのを、VB.NETでDLL作成、それをiLogicで実行させるというやり方です。デバッグがやりやすく、またソースコードを見せずに済むのが良いですね。
@Bunga777 さん
>一つずつ選ぶのではなくて自動で選ぶ or 枠で囲んでいる所だけ選ぶってのが実装されていれば
今取り組んでいるのですが、一応ボディを選択し、指定したボディ内で
変換可能な面をリストアップするように考えています。
最初のサンプルであれば、5か所が変換対象です。
これを自動で見つけ出し、ダイアログ上でリストアップします。
全然進めていない為、他のダイアログなのでイメージだけですが
1)リストアップした項目毎に、チェック(緑)を入れたものだけを処理対象にする。
2)項目を選択した場合は、該当箇所にズームする。(可能なものか未確認)
のような事は考えています。
青部分ですが、変換する際の半径を入力出来るようにしようと思っています。
と言うのは、こちらでこの穴のRサイズをAPIで測定(1枚の面につきランダムに10か所)し
確認すると
7.989895027520819
7.997872028726469
8.01053939133494
8.014201931620153
8.008493465986877
7.9874733607402355
8.004858312363716
7.986696471870459
7.996046135248074
7.98675123511817
7.9899330799956605
7.986794747553953
7.988884227431928
7.989378060808418
7.995966856751611
7.989266104697824
7.99996968657635
7.989390805642195
8.010876560323531
7.986152878348774
予想していたより数値がバラけていました。(nurbsってやつは・・・)
直感的にR8(φ16)だろうとは判断出来るのですが、こちらのタップの
下穴のモデルを考えると、端数になる可能性も有り得ると感じています。
測定結果の最大・最小をツールチップ(黄色)で表示しつつ、
デフォルト値(緑)は平均値の1/100で四捨五入した値を表示しておく
ようにしようかと考えています。
言葉ばかりでわかりにくいで申し訳ないのですが、サンプル作るレベルまで
進んでいないものでして・・・。(自動で見つけ出すのは、かなり難しいんです)
なるほど、なかなか色々と解決すべき問題点が出てきて、これはこれで楽しい。
さて、穴の大きさがちょっと違うのは認識していましたが、端数がそれぞれ測定できて一覧が出せるのを確認できたのが良い材料かも知れません。
リストアップする際に径ごとにソート、可能ならば、任意の小数点で繰り上げ、繰り下げ、四捨五入のオプションをつけてそこで丸めて処理をするってのを追加できると、色々と解決するような気がします。このオプションの内容は前回使用した設定を記憶出来る形にすると、使うたびにいじくる手間がなくて尚良しって感じでしょうか。
すいません、いつも注文ばかりで(^_^;)
@Bunga777 さん
ちょっとタイミング良く本家の方に出てきたので
https://forums.autodesk.com/t5/fusion-360-design-validate/hole-table/m-p/11186462#M276166
こちらの動画で操作している ダイレクトモデリング->フィーチャ検索 なのですが、
自分も最初の添付データで試していたのですが、穴を見つけてくれないんです。
Fusion360では、nurbs面からは見つけ出せないんです。
それをAPIで見つけ出すのが難しいので、まだまだ時間がかかります。
お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。