Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby で作る Ruby (物理)
Search
Fumiaki MATSUSHIMA
February 27, 2023
Programming
1
220
Ruby で作る Ruby (物理)
西日暮里.rb 100回記念 オンラインLT会
https://nishinipporirb.doorkeeper.jp/events/149198
Fumiaki MATSUSHIMA
February 27, 2023
Tweet
Share
More Decks by Fumiaki MATSUSHIMA
See All by Fumiaki MATSUSHIMA
Learning from performance improvements on GraphQL Ruby
mtsmfm
1
1.2k
GraphQL Ruby benchmark
mtsmfm
1
840
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.6k
Build REST API with GraphQL Ruby
mtsmfm
0
340
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
740
Gaming PC on GCP
mtsmfm
0
740
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
260
Canary release in StudySapuri
mtsmfm
0
3.1k
Analyze Rails CI
mtsmfm
2
900
Other Decks in Programming
See All in Programming
楽して成果を出すためのセルフリソース管理
clipnote
0
180
print("Hello, World")
eddie
2
530
Deep Dive into Kotlin Flow
jmatsu
1
360
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
130
testingを眺める
matumoto
1
140
Cache Me If You Can
ryunen344
2
3k
Reading Rails 1.0 Source Code
okuramasafumi
0
250
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
今から始めるClaude Code入門〜AIコーディングエージェントの歴史と導入〜
nokomoro3
0
210
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.5k
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
560
Navigating Dependency Injection with Metro
zacsweers
3
2.5k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Bash Introduction
62gerente
615
210k
Embracing the Ebb and Flow
colly
87
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Six Lessons from altMBA
skipperchong
28
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Optimizing for Happiness
mojombo
379
70k
Designing Experiences People Love
moore
142
24k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
@mtsmfm Ruby でつくる Ruby (物理)
松島 史秋 Backend Dev at Autify GitHub, Twitter: @mtsmfm
https://ninirb.github.io
100回 ありがとう!
None
None
3D プリント
データが現実になるのは面白い!
3D プリンタの種類 - 熱溶解積層 (FDM) 方式 - 溶かしたプラスチックを下から積み重ねる - ソフトクリームづくりみたいな
- 光造形方式 - 液体に紫外線を当てて固める - 家庭用はだいたいどっちか - 今回は FDM
None
フィラメント (プラスチック) エクストルーダー (溶けたプラスチックが 出るところ) ベッド (溶けたプラスチックを重 ねて固めるところ) 完成品
None
None
1. RubyScad 2. OpenSCAD 3. STL 4. G-Code 5. プリント
今回の元コード include RubyScad cylinder(h: 10, r1: 0, r2: 10) translate(z:
10) do cylinder(h: 3, r1: 10, r2: 9) end
今回の元コード include RubyScad cylinder(h: 10, r1: 0, r2: 10) translate(z:
10) do cylinder(h: 3, r1: 10, r2: 9) end
$ ruby foo.rb > foo.scad
$ ruby foo.rb > foo.scad cylinder(h = 10, r1 =
0, r2 = 10); translate(v = [0, 0, 10]) { cylinder(h = 3, r1 = 10, r2 = 9); }
$ openscad foo.scad -o foo.stl
https://marketplace.visualstudio.com/items?itemName=mtsmfm.vscode-stl-viewer
1. RubyScad 2. OpenSCAD 3. STL 4. G-Code 5. プリント
G-Code とは - 工作機械の制御に使う - スライサーソフトによって STL から自動生成する - 例:
G0 X270 Y5 Z50 F3600; (270,5,50)の座標に動かす M190 S60; ベッドを60度に M109 S200; エクストルーダーを200度に
None
None
None
STL より 広がっている
下から上に 印刷するため 潰されて広がる
エレファントフット問題 - 最下層だけ広がってしまう - スライサーで最下層を本来よりも狭めに印刷す るオプションがあったりする
欠け 飛び出し 糸引き
一発できれいに出力するのは難しい - ソフトクリームを見本と完璧に同じに作 るようなもの - 変数がとても多い - 気温、湿度、フィラメント、形状、プリ ンタの状態 etc
データが現実になるのは面白い!
None
None
None