こちらの続きです。
プレビューの為の行列演算 - C#ATIA
こちらの続きです。
未だに完成しない為、公開出来ていないです。
正確には点を作成するアドインは完成しているのですが、作成した点を確認するための
測定コマンドに苦戦しています。(業務と同じで、確認は大事です。)
正直な所、こんなに時間がかかると思ってませんでしたよ。
この様に楕円上に均等な長さで8か所点を作成しています。
赤い矢印部分が始点であり終点です。
始点を1番目として表記します。始点から2番目と3番目を測定すると測定している
部分を示すようにマークを表示するようにしています。
これ自体は問題無いです。正しく測定し表示しています。
本当はマークを表示するのではなく、太くした線を表示させる要諦ですが、色々と
問題があり(Fusion360がクラッシュ)取りあえずの仮の表現です。
次に2番目と7番目の測定です。
何が言いたいかと言うと、2-7の距離は遠回りです。直感的に考えても必要となる
距離は最短距離のはずです。その為、正しくは2番目-始点と終点と7番目の合計距離を
測定しています。 ここも苦労しました・・・。
最後にお悩みがこちら。
7番目と8番目(終点)の測定です。測定値は正しいのですが、表示が間違ってます。
ガッカリ・・・。
原因がやっとわかりました。
測定するための点はユーザーに選択させるのですが、終点を指定したつもりでも
内部的な関数でパラメータを取得すると始点となっていました。
(だからクラッシュしてたんだな・・・)
これを引き起こすのは、円・閉じた楕円・閉じたスプラインです。
(円と楕円は他の部分でも厄介です・・・)
どうやって判断・処理させようか? がお悩み中。
頑張れ俺。