狠狠撸
Submit Search
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
?
Download as PPTX, PDF
?
0 likes
?
7 views
M
MinoruInoue2
Follow
ヒーロース?リーグ2022 MAリーグ決勝
Read less
Read more
1 of 18
Download now
Download to read offline
More Related Content
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
1.
ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう) 2022/12/10 #ヒーローズリーグ 2022 MAリーグ決勝 いのうえ
みのる
2.
名前:井上 稔(Minoru INOUE) 出没先:
コミュニティ“ゆるメカトロ” Facebook: minoru.inoue.90 Twitter : @henjin01_Fab 新機能加えました!
3.
ものづくりって大変 ユニバーサルプレートで タミヤのギアボックスに合う部品を 加工で作ろうとして間違えた… 刃物で怪我をした… 既存のLEGOテクニック部品だと ちょっと足りない… ギアボックス画像はこちらから引用: https://www.tamiya.com/japan/products/70189/index.html なにかと部品は自炊したい! けど、CADはめんどい… toioコアキューブに 好きなパーツ載せてみたい…
4.
そんなアナタにおすすめ、ProtoLotus! オレオレ仕様のユニバーサルプレートやLEGO互換パーツを 自作できるツール フリーソフト! このテーブルのセルをクリックすると ブロックが追加?変更?削除される Githubページ コードもバイナリも 公開! (Windows or
Mac) - 開発言語:Python - GUI:pyQtと OpenGL - STL出力:numpy-stl
5.
3顿プリンタで出力できるよ!(作品例)
6.
新机能をつくりました(尝贰骋翱クラシック互换!)
7.
早速DEMOります! toioコアキューブ互換なブロックを作ります。 ツール上 (6x6サイズ) 3Dプリント後の現物 (PETG、3時間位で出力)
8.
まとめ ね、楽でしょ? 1. 操作はマウスとCtrl+数字キーだけ! 2. CADの知識いらない! 3.
プレゼン時間のたった4分で部品が作れる! 自分好みの部品はチョッパヤで自炊しよう! ProtoLotusでアイデアに時間を全プッシュだ! 4. 好きな素材で部品が作れるよ! ex: ゴムっぽく(TPU), 木の温もり(Wood PLA), 頑丈(PETG) 5 [new!]. LEGOブロックもくっつくよ!
9.
以降は予备
10.
ロジックについて考えたきっかけ 昔のツールは適当だった。動作モッサリで拡張性も微妙だった。 ブロック追加ごとに 再描写 →ブロック数が増える と待ち時間増加 ブロックの種類が 今後も増えそう →データ構造も考える 必要あり 差分だけ変更を加えて、各ブロックにデータをもたせる形にする必要があった 画面描写と STL作成は 分離したい
11.
1 2 3 0 … … 1
2 1 2 データ構造 ? ブロック値(1,2,3) ? ブロック座標(row, column) ? ハッシュ値(row+column最大値*column) ? ブロック設定(タミヤ互換 or LEGO互換) ? メッシュデータ(GLMesh) column row Table: データなし (1,1)に1のブロックを置く ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 (2,1)に3のブロックを置く ハッシュ値11 クリックした順に ブロック操作が入る キュー的にOpenGL表示データを一列に格納する形を採った また、ハッシュ値から一意にブロックを特定できる。 … Queue:
12.
ブロック追加時 1 2 3 0 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 1 2 3 1 (1,1)に1のブロックを置く ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 (2,2)をクリック 0表示になっている箇所をクリックすると、 ハッシュ値と一緒にブロック操作が入る 1 2 1 2
13.
1 ブロック変更時 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 1 3 3 (1,1)に1のブロックを置く ハッシュ値1 (1,2)に3のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 (1,2)をクリック →ハッシュ値2探す テーブルクリック時にハッシュに該当するブロック値を変える (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 search!
14.
ブロック削除時 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 (1,1)に1のブロックを置く ハッシュ値1 (2,2)に2のブロックを置く ハッシュ値12 ハッシュ値11 delete! 1 2 1 … … 0 (1,2)に2のブロックを置く ハッシュ値2 (2,1)をクリック →ハッシュ値11探す 数字のカウントアップが一巡した(3→0)場合には キューからブロック操作を削除する
15.
STL出力 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 がクリックされたタイミングでテーブルを総なめして作成する For二重ループで 0以外を総なめ キュー内のデータはOpenGL表示用の データ=STL作成では使わない
16.
できたこと 問題としていたことはひとまずパス ブロック 追加ごとに再描写 →待ち時間増加 ブロックの種類が 今後も増えそう 画面描写と STL作成は 分離したい キュー&ハッシュでデータを個別管理 操作はブロック個別になった ブロックの描写単位でブロック情報をもたせた ブロック値のカウントアップで定義可能 画面描写時とSTL作成時で参照するデータが 異なるため、独立性が高くなった
17.
まとめ(かんそう) 趣味ツールとはいえ、データ構造はソフトウェアのコア アイデアを送り出すまではスピード重視 But→送り出したあとは手早くデータ構造を見直すべき データ構造を考えるのはダルい But→一回決まると後工程が楽 レスポンス面の不便=ロジックとデータ構造の見直し 不便を感じたらドキュメントに起こそう
18.
以上です!
Download