takashiskiのブログ

覚書の殴り書き

UIでDrag&Dropをする、のメモ

うんうん悩んでやっとわかった気がしたのでメモ。

Drag

  • CanvasGroupをもたせる
  • CanvasGroup.blockRaycastsを開始時にfalse、終了時にtrueにする
  • IBeginDragHandler,IEndDragHandler,IDragHandlerを継承する
  • OnBeginDragで親オブジェクトを退避する
  • OnEndDragで退避していた親オブジェクトを親オブジェクトに設定しなおす
  • OnDragではマウスポインタに追従させる処理をする

Drop

  • IDropHandlerを継承する
  • eventData.PointerDragでDropされたオブジェクトを取得可能
  • 直接parentを編集することもできるが、RectTransformの親を外からSetParentでいじることはよくないらしい*1ので、Draggableなクラスであれば退避されている親を書き換える。そうでなければなにもしない

参考記事

最終的に最後の記事の内容がよさそうだと思った。

komekkun.com

qiita.com

qiita.com

*1:Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.

技術書典で見向きもされない状態を防ぐためにできること

この記事はポエムです。出典は特にありません。

個人的な技術書典の感想

技術書典は同人誌即売会ではありません。技術書即売会です。 基本的に来訪者は自分の糧になるものを求めて訪れているように感じます。

そのため、「今は効かないがいずれガンに効くようになる」のような不確かなものや、「おれはこれがすきだから、これを使ってこれを作ってみた」のようなエクストリームなものは比較的売れず、 即物的な「○○入門」「○○をやってみよう」というような本、または「○○で××をするノウハウ」のような実用的な本が売れる傾向にあるように思います。

極端な話をすると「○○で飯を食えるようにする技術」みたいな本を求めてきているのかもしれない、と感じます。

爆死する本の傾向

「売れなかった」よりも「爆死した」と書いたほうが表現的にマイルドな気がするので爆死を使います。

なんとなく感じる傾向は以下です。

  • サークルカットが目に留まらない
  • タイトルからキーワードを連想しにくい
  • 表紙からキーワードを拾いにくい
  • 本質的なキーワードがわからない
  • ブースの目の前にいても見えない
  • なんか近寄りたくない

サークルカットが目に留まらない

技術書典の参加サークル数がとても多くなってきたため、真面目にすべてのサークルを事前にチェックするのは現実的にできません。 そのため、多くの人はtwitterで流れてきたサークルを拾い上げるか、サークルカットだけ適当にざーっと流し見していると思います。

このとき、サークルカットを追加していなかったり、サークルカットの目に留まる位置にキーワードが含まれていないサークルはチェックされません。 なかったものとして素通りされてしまいます。 デザイン的な信念があるかもしれませんが、技術書を売りたいのであれば諦めてスーパーのチラシのごとく重要なキーワードが目に留まるようにちりばめてください。

タイトルからキーワードを連想しにくい

極端な例だと「サークル会報 vol.1」です。このサークルが何をしているサークルなのか知らなければ、中身がまったくわかりません。 サークルのことを知っていたとしても、とても幅広い技術に関して複数人が寄稿しているようであれば、興味がある技術がないのかわかりません。

表紙からキーワードを拾いにくい

前述の「サークル会報」のようなタイトルの場合は、雑誌のごとく表紙にトップレベルの目次を列挙して内容を知らせなければなりません。 十分に目次が書かれていなければ、書いてある内容が分かりませんのでスルーされます。

本質的なキーワードがわからない

これはジャンルによるのですが、例えばReactの本はだいぶ多くなっています。そんな中単にReactの本だよー、と出すとどうなるでしょうか。 Reactを理由に買う人もいると思います。とりあえず開いて読んで必要そうだから買う人もいるかもしません。しかし、たいていの人は「またReactの本か、よくわかんないしここはいいや」となると思います。

ブースの目の前にいても見えない

これは透明人間とかそういう話じゃなくて本当にあった怖い話です。

技術書典は動員数と、立ち読み時間に対して通路が狭いです。ちょっとでも2,3人が立ち止まるとあっという間に導線が詰まります。一方通行であればいいのですが、双方向なのでひとが詰まりに詰まってとにかくつらいのです。しかもたいていの人は横にあるサークルを見ながら歩くのでものすごく引っ掛かります。 一番混雑してるタイミングではどうなるかというと、ブースとブースの間に人が6人いる満員電車のような状態になっています。人で完全に視線がさえぎられているのです。

以下のツイートの画像を見てください。

混雑度合いを考えてこの図を見ると、75度陳列ですら意味がないも同然なのです。

なんか近寄りたくない

うさん臭さとか、不清潔感とかそういうのです。技術書典だとあまりないと思いますが、コピー本+手書きPOPしかないサークルは段取りとか準備とかよくなくて内容もあんまりよくないんだろうな...下手したら一晩ででっち上げたんだろうな...という印象になるのでPOPは印刷物として用意して持ち込みましょう。

あと、過剰な呼び込みもめんどくさいので嫌です。試し読みしてnot for meだと思ったのに「どうですか!?」ってキラキラした目を向けられ、それに対して「アッいらないです...」っていうの、とてもパワーがいるんです。

対策

タイトルと表紙をちらっと見ただけで主題を読み取れることが理想です。

すでに入稿は終わってしまっているはずなので、不十分に感じたらPOPで対応してください。

そしてPOPは必ずPOPスタンドを使って吊るしPOPにしましょう。座っている人が全く見えないくらいの高さで吊るすべきです。 あなたのサークルを知らない人は、移動中の一瞬でその吊るしPOPを見て、見るべきかどうかを判断します。

吊るしPOPにはPOPスタンドが必要です。椅子の後ろにクソデカポスターを吊るすか、卓上に置くかです。 卓上POPスタンドはT字バーを2分解できるタイプじゃないと、Tのままになってしまってとてもかさばります。気を付けてください。

新 フロアスタンド 黒 K-PT1039

新 フロアスタンド 黒 K-PT1039

声掛けは「あっこの人うちのサークル見てるな」と思ったときに「試し読みどうですか?」と声をかけるくらいで十分です。内容に関しては聞かれたら返答すればいいのです。みなPOPで概要は分かっています。

それと、隣のサークルとの境目を厳守しましょう。人がすでに前に立っているブースのPOPを見たり本を試し読みするために、隣のブースの前に立って横から取りに行く人がいます。 少なくない人数がこの行為をするのですが、隣のブースから見たら関係ないおっさんが自分のブースのPOPの前に立って視線を遮っているわけです。下手したら尻向けてます。バックパックがうちのサークルの客にぶつかってます。速やかに声をかけて移動してもらってください。

自分のブース目当ての人間が隣のブースの前に立った時もそうです。技術書典は比較的呼び込みなどもフリーダムで下手すると机の切れ目からブースの前にでて声掛けをするサークルまでいます。 混雑の原因を作ったり、混雑対応を全くしないことが自分のブースに影響するようであれば直接文句を言うか、運営に声をかけて対処してもらうほかありません。この間の損失は誰も補填してくれません。

展示例

www.irasutoya.com

「吊るしPOP大事だよ」と「隣のブースとの境目は守れ」が書きたいだけのポエムでした。

あ、あと後払いの登録は事前に済ませておきましょう。当日では間に合いません。今回から後払いにダウンロードコンテンツを追加できる機能が追加されたそうなので活用しましょう。

追記

見本誌提出締め切りのお知らせとともに、制限緩和と禁止行為の連絡がありました。

■サークル出展ブースの制限緩和について
□………………………………………………………………………………………………
技術書典6では持ち込み物の高さ制限を緩和しました。
いままで150cmまでとお願いしておりましたが、安全性が確保されていれば高さの制限はありません。
もっとも安定して、安全が確保できる高さにしてください。
(ポスターなど自立するスタンドによる掲示を想定した緩和です。天井が近い、
電気設備に近接するなど防災上の理由でお断りする可能性もあります)
またポスター以外たとえばのぼりやバルーンといった特殊な掲示物は
サークル向けFAQを更新しております。詳細は「持ち込み物について」等をご確認ください。
https://techbookfest.org/event/tbf06#faq
今回も会場は混雑を予想しています。
スペース外への掲示物や荷物配置、通路での呼び込みなどは禁止しています。
当日を無事に、そして楽しく過ごせるよう皆様のご協力をよろしくお願いいたします。

ポスタースタンドを使った、自立していて転倒の危険がない掲示であれば問題がないようです。パイプ椅子に棒縛り付けて吊るす、みたいなのは絶対倒れるので150cmまでです。

というわけで、積極的にポスターを高く掲げましょう。ブース番号とサークル名、キーワードを忘れず記述しましょう。忘れがちですが、表裏で必要です。

そして、やっぱり通路での呼び込み禁止ですね。列整理は列整理だけに徹しましょう。

前職とか近況とか

この記事は退職者アドベントカレンダーその1の6日目の記事です。

adventar.org

新卒で入社し、3年程度勤めた会社を辞めて無職になりました。

色々(新卒退職本的には)面白い、書きたい話はあります。しかしあまりにも特殊な会社に入りすぎたため、知っている人が見れば「あ、これうちしかないな」とわかってしまうので一般的にやばい部分だけにしたいと思います。

あらすじ

読み飛ばして問題ないです。

就職活動失敗気味の最後の最後で面接を受けて入社を決めた会社の部署が、入ってみれば事前に受けていた説明と悪い意味で全く異なる状況であった。新卒でどういう振る舞いが適切かわからない状況で他に新卒や近い立場の人間が誰もいなかったため相談できず、かといって状況が改善されるわけでもなく、しばらくしたら案の定事業縮小となった。縮小にともない異動が発生し、別部署へ。しかし別部署に異動したにも関わらず新しい部署の仕事に加えて何故か前の部署の仕事もやることになる。新しい部署は事前にちらちら聞いていた話には面白そうなものつくってるなーという感じであったのに、蓋を開けてみればいかにも大企業的な完全外注。社内で要件どころか要求すらまともに決定できず/せず、ふわっと投げて先方にいい感じに作ってもらってその結果市場の需要とのずれが発生して全然売れないorなんかしらのトラブルが起きる、ということを繰り返している部署だった。この会社はその部署が主力製品となっているが実際には前述の問題があるため赤字製造部門で、ほかの製品を開発して縮小していこうという考えで動いている人たちもいるがどれもいまいちな様子。そして主力製品のトラブルは後継機へフィードバックされないまま外注での開発が続き、どんどん体力だけが奪われていく。私がやっているのは誰一人使い方を把握していないし利用想定が定かでない機器の動作確認や目的が明示化されていない、当然検証項目が定まっていない/やり方を聞いても教えてくれない検証作業と、外注先へのメールでの進捗確認や動確検証時の不具合報告・対策確認だけ。最初の部署では一人エンジニアで専門外の仕事を振られて誰にも相談できない状態で泣きながら手探りで開発していたものの、開発ができていたので日々新しい知見が得られていた。新しい部署ではただひたすら真綿で首を絞められるよう。組織体制が変わり、かかわりの薄い、開発体制が整っている機能している様子の別部署とのかかわりが出てきた。その部署への転属も検討・進めてより良い返事をいただけていたものの、この会社に関わりたくない、一刻も早く縁を切りたいという気持ちが強くなってしまったため退職を決める。特に後半の2年程度、体力がひたすら奪われていたためそれまでは積極的に参加していたゲームジャムやハッカソンも公開されると申し込みはするものの開催日が近づくと体力的な辛さと今のスキルでできることが全くないように感じてキャンセルをするようになってしまっていた。趣味も含めて実質モノづくりができていなかったため自分のやれることがわからない/自信がないというか何がしたかったんだっけなんもわからん状態になっていた。興味がある会社にはスキルセットが不足している。現状のスキルセットがとても中途半端なので前職関連業界にも売り込むには弱い。転職活動にも踏み切れず無職となる。

やばかった点

特定材料があまりにも多いのである程度共通で誰にでも心当たりがありそうなところだけ書きます。

専従者がいない(最初の部署)

最初の部署は入社時に新しく立ち上げられた部署で、その兵隊として私は雇用されました。入ってから知ったのですが、ほかの人はすべてほかの部署との兼任、しかも責任者など忙しめの人ばかりでした。新部署は実質片手間で進められていたのです。研究開発部門というわけではなく、すでに研究開発が終わっていて、製品化をするぞ!という部署でした。無理です。

やり取りがすべてメール(2番目の部署)

タスク管理ツールやチャットツールが導入されているにも関わらず、非合理的な理由で全て使用されていませんでした。代わりにすべてメールか口頭でした。突然「○○の件調べておいて」だとか「返答しておいて」と言われて「どこにその資料あります?」と聞くと「メールCCいれてたでしょ?」と帰ってくる状態でした。メールも検索性を高めるように共有されているわけではないので頻繁に上長本人しか把握していない状態になりました。

のちにわかったのですが、システム管理者に相当する人間が相当雑でした。ツールをいれるだけいれて使い方の確認の機会を設けなかったり、運用ルールを定めたり周知する活動を実施せず、プロジェクトごとに好きなように運用しろと丸投げしていました。各々が今までの自分のルールを新しいツールに対して適用しようとするから単に「使いにくい」という判断が下されて使われなくなっていく状態でした。それだけでなく、管理者によるやらかしが色々あったっぽいです。その中でも特に「こいつ何やってんの馬鹿じゃないの?」と思ったのは「タスクの締め切りが過ぎてしまってアラートが出ている状態」のときに「締め切りを本日または先に再設定する」という指示を出し、勝手に締め切り日を変更していったことです。社内開発のマイルストーンな締め切りだけならよいのですが、「〇〇へ提出する資料を用意する」みたいなタスクの期日を勝手に変更するものだからタスクリストとしてすら機能しない状態でした。締め切りは常に過ぎていない。今日は8月32日。いいね?

脱線しました。上長はタスク過多で遅延が目立つ状態だったので重要な決定を伴わない検証や雑務を私が巻き取って重要な決定を早く回せるようにするということが私の配置理由や目標だったはずでした。しかし、その上長はやたらと文書化を拒むので私が仕事巻き取ることが全くできませんでした。例えば、動作不良の機器が送り返されてきて、故障個所を確認して交換部品の手配などをする仕事がありました。確認する項目は決まっていて、不良が起きる部分も構造に起因する問題なので大体決まっていました。この作業は重要な意思決定に時間を割くべき人間だけが行う作業ではありません。しかし、彼が文書化をしないために誰も引き取れませんでした。部分的に彼がやっているときに一緒に作業をすることで表層的な部分だけは巻き取りましたが、そこで発現しなかった別の不具合や特殊な連絡先に関しては彼の頭の中からその都度引き出す必要があったため完全に巻き取ることはできませんでした。結果、とても忙しい時期に隙間なく詰められた重要な打ち合わせの隙間を縫って彼が動作確認・発注などをしていました。

タスク管理は彼の頭の中やPCの中だけで閉じているため、外からは全く分かりません。最終的にタスク管理を明示的にしていないことが原因で大量のタスク漏れでスケジュールが遅延したり、その遅延に伴う作業期間の短縮が発生しました。その際、私に彼しか知らないタスクが投げ込まれました。当然理解が不足しているためミスが発生しました。このミスは私の作業結果を上長が確認した上で提出されることになっていたので本来は差し戻されて発生しないものでした。しかし、彼が確認を省略したためにミスをしたものが提出されてしまいました。これにより当然動かなかったので何故動かないのかの検証という新規タスクが発生し、最終的に私のミスが原因であったことが発覚しました。その際に上長確認が省略されたことが無視され、全面的に責任を押し付けられました。「この人は今後もこんな感じなんだろうな」とおもったのでやめるきっかけの一つになりました。

「開発者以外はメモリが4GB」かつその理由が合理的でない(会社全体)

開発メンバーとそれに準ずる人は必要と思しきスペックを自己申告でできていました。ただし実質ノートPCのみ。

よくある話だと思いますが、事務は派遣の人が入っていました。請求書の作成・発送などが彼に割り振られていたのですが、ある日「PCが重すぎるんですけど何かわかりませんか」と相談されました。 そういえばいつの間にか「パソコンの大先生」枠にもなってました。いい年してメールの設定がわからないと丸投げしてくるな。

脱線しました。相談を受けたので、とりあえずやりたい動作をきいてみたところ、単にPDFを開いて印刷したいだけとのことでした。開いて表示されるまで3分はかかっていました。別段ファイルサイズが大きいわけではありません。万事が万事こんなかんじでもっとひどい時もある、ということでした。

HDD+メモリ4GBにしても重すぎたので、色々確認してみました。ちょっとはましになるんですけど、やはり基本的にスペックが低すぎる、というのがありました。

悪しき文化でチャットツールが用意されているにも関わらず、何故か人はとりあえずメールで送って口頭で指示を出します。しかし、ファイルの展開が遅れるため、返事が必ず遅延します。非同期的なのに同期的にやりとりが行われ、なるべく早く用意しなければならない故に優先度が低くないために、ほかの相談やヒアリングをしていても割り込みで確認作業が発生しました。このせいで私の作業も細切れにされるので勘弁してほしいと思い、総務へ相談に行きましたが「開発メンバー以外はすべて4GB+HDDで統一されている」「一人に入れたら全員変えなければならない」「いくらかかると思っている」「贅沢だ」などという返答でした。いくつか質問をしたところ「現状でもなんとかなってる」とはいうものの「OneDriveを開くとしばらく読み込みで固まる」など彼らも不便を感じているはずでした。それなりの給料をもらっているはずなので時間単価もそれなりのはずなのですが、読み込み待機による作業の中断やそれに伴う集中の途切れよりもたかが知れてる金額の出費を抑えることを優先する考えを感じました。彼らから見える材料から導き出される論理ではそれがより良い解であったのかもしれません。「ああ、この人がいる限りはどうでもいい不自由を強いられ続けるんだな」と思ったのもやめた原因です*1

根本的に思想が邪悪な人が多い(一部人物、主観)

関わる仕事の中で、外部とのやり取りが伝言ゲーム化して明らかにすれ違いが発生している箇所がありました。「このすれ違い方は根本的に前提条件が伝わっていないのではないか」「直接やりとりさせるべきでは?」「情報を整理するべきだ。それだけで最終的に作業にかかる時間を半分以下にできるはず」と思い、そのやりとりの担当者へ提案を行いました。返答は以下のようなものでした。

「前提条件など情報を十分に引き出せていないのは先方の営業の努力不足である。彼らの仕事は我々から十分な情報を引き出すことである。彼らが情報を十分に得られていないというのであればそれは先方の営業の努力が足りていないだけだ。我々が資料を積極的に作る必要はない」

「我々が意識すべきことは我々の作業時間の最小化だ。彼らの作業時間はどうでもいい」

どんな生き方をしてきたらこんな思想になるのでしょうか。とても囚人のジレンマ的です。どう考えても協力してやればお互いの作業量が最小化でき、結果としてより早く成果物が準備できます。そもそも、状況としては我々が我々だけでは製品を開発できないので外注を依頼している状況なので、なぜこんな考え方ができるのか不思議でしょうがなかったです。

社内政治と戦ってきた結果なのかもしれませんが、こういう思想の人とは関わってはいけないと思ったのが辞める原因の一つでした(中心人物の一人でした)。

最近の活動

前職のおかげですっかりモノを作ることができなくなってしまっていた*2ので、リハビリをしています。

もっぱらキーボードを制作しています。おかげで以下のことができるようになりました。

  • KiCADを使った簡単なプリント基板の設計
  • KiCAD出力データを使ってプリント基板を発注(Elecrow, ALLPCB, FusionPCB)
  • AVRとarmちょこっと
  • 昇華転写
  • カッティングプロッター
  • CorelDRAWを使った昇華転写印刷用データの作成とその半自動化(VSTA/C#を使ったマクロ製作)*3
  • レーザー加工機の簡単な調整*4
  • 簡単な塗装*5
  • 3Dプリント*6
  • tampermonkeyによるブラウザ開いた時の処理実行

会社を辞めるちょっと前ですが、Maker Faire Tokyoにも出展として参加しました*7

名前空間をきるというか絶縁をとりたくなったというか、キーボードアカウントを別に作ってもっぱらそっちで活動しています。このアカウントでは原則キーボードのことは呟きません。逆にキーボードアカウントではキーボード制作に関係すること以外の情報は極力排除しています。

絶対知られたくないってほどではないので隠してもいませんが、積極的に公表するつもりもないので興味のある方は最近キーボード制作で盛り上がっているあたりを覗いてみてください。たぶんすぐ見つかります。

今のところ、キーボードを複数設計し、キットとして販売しています。今月も一つ公表予定です。

ついでにこの前の記事にも貼ってある、今使ってるキーボードの画像を貼っておきます。ベースはXD75という市販のキーボードで、JIS風配列を定義して使っています。キーキャップフォントはElectroharmonixとComicSans、あとDFポップ体です。yukakumadogもあった。一番癖がある点としては、スペースバー含めすべてのキーが1単位サイズ(1uサイズ)であることです。親指キーが3x2の合計6キー設けることができており、親指により多くの役割を割り振ることができています。

f:id:takashiski:20181204002132j:plain

現状無職です。あらすじの通り、次の当てはありません。

リハビリがてら熱中してるものづくりがちょっとお金になりそうですが、東京で一人暮らしするにはとても足りない金額です。

ひとまず実家の愛知に戻ります。「こいつ面白そうだな」って思ったら愛知で勉強会や会社見学などお声かけいただけると幸いです。愛知にこだわりはない、というかできれば実家からは出たいので他の地域も歓迎です。最終的には長野市あたりで暮らしたい。山が見えないと不安になる。

ひとまず、先日の大垣であったmini maker faireでいくつか面白そうな団体見かけたので調整してそこらへん遊びに行かせてもらうかもしれません。頭のおかしい人々の頭のおかしい成果物は大好きなので今後も可能な限り見に行きたいです。

直近だとNGK2018BのLTにキーボードネタで登壇します。夜の部も出る予定です。

*1:彼らも彼らで先方への提出遅れるとやばい書類とかの作成要求が作成期日がぎりぎり迫った状態で降ってくることがたびたびあったようで、なかなか大変そうでした

*2:何かやろうとするけれども、まとまった元気な時間がとれないせいで大体何もできず、たまに元気な時も「なんもわからん」ということに気づいて手が止まってしまう

*3:AdobeWindows進出により、レーザー界隈以外ほとんど使われていない状態で、ぐぐっても日本語どころか英語情報もいまいちで誰にも相談できなくてなかなか辛かった

*4:LY3020とかK40って呼ばれてるCO2レーザー加工機。安い。興味がある人や調整話をしたい人はご連絡ください

*5:アクリルがあんまり好きじゃないので木板塗装して加工してる

*6:SLA。水洗いレジンは辛い

*7:キーボード製作者有志の団体で出展

キーキャップ昇華転写の話

この記事は自作キーボードアドベントカレンダーその1の四日目の記事です。

adventar.org

当初書こうと思っていたネタが大して面白くもなかったしあえて書くことでもないかなー、と思ったので復習がてらQMKで新しくキーボードを定義するときのtips書きたいと思います。 現在23:50。あと10分...

もう一回没にしたのであと4分...

先行記事

日本語だとぺかそ氏のやつです。もともとはまた別の日本人ではない人がredditにノウハウ共有してやるぜ!勝手にやってくれよな!って投稿したネタっぽいです。

kou014.hateblo.jp

一応過去に雑にまとめました。

takashiski.hatenablog.com

アップデート

冶具

キーキャップは指のおさまりをよくするために天面がすり鉢状になっています。圧力を掛けつつ加熱するため原則鉄板など凹凸のない硬い金属をあてます。そのため、一番くぼんでいる中央付近に圧がかからず転写不良が発生するという問題がありました。

ぺかそ氏は耐熱シリコンをきって貼って隙間を埋める方法を提案していました。

私はそれを調整し、シリコンを円形に切って試行したり、アイロンプレス機を使いより強い圧力をかけることでシリコンを強く変形させて何とかするなどしていました。

最近はL2Kを試したため、型とり用シリコンを使う機会がありました。この型とり用シリコンは耐熱性と明記されているものでなくても200度で放置しても今のところ問題なかったです。

型ですので、本体の表面にある程度沿っています。そのため、天面は中央まで原則接していて、あとは型の天面をフラットにすることでシリコンシートを切ったものに比べて軽い圧力*1でしっかり転写をすることができています。

また、本来昇華転写の前には転写対象に対して予熱が必要ですが、キーキャップは小ささゆえに予熱をすると転写位置の調整が難しいです。しかし、シリコン型をあらかじめ予熱することである程度効率よく加熱することができるようになるため、より短い時間で転写ができています。

確かこれを買いました。不透明なシリコンのため、UVレジンには使えません。ゴミにならなくて本当に良かったです。

中央出し

キーキャップの印字は、原則すべてのキーが同じ位置を基準に印字されています。小さく、そして並んでいるため、僅かなズレでも思った以上に気づいてしまいます。そのため細心の注意を払って位置合わせをする必要があります。

しかし、A4などの転写用紙に印刷した場合は切り出しを人間が何らかの道具で実施する必要があります。人間が何らかの道具を使って切る場合、直線や直角が出ないため位置合わせが絵を見ないとできません。しかし転写のために貼り付けは裏返しで行います。実質不可能です。

そのため、私はカッティングプロッターを調達し、適切な矩形に切り出すことで解決しました。カッティングプロッターは紙を粘着シートに貼り付けることで紙の固定をするため、キーキャップの天面である12x12mm四方程度の紙が粘着面に大量に残ることになります。剥がすのが最初はとても苦痛でした。最終的に、切断でなくミシン目加工を実施することで剥がしも解決しました。

今後の展望

現在1種類のDSAの型しか用意・試行ができていません。ほかの型のDSAやOEMなど傾斜があるプロファイルの型を取ってうまく転写ができるか実験したいです。したいといって3ヶ月が経ちました。

白インクがなく、地の色がでてしまうため濃い色のキーキャップに薄い色を乗せるといったことはできませんが、含侵印刷のため表面手触りがほとんど変わりません。特殊なキーマップを定義しているかた、昇華転写で独自刻印を実施してみませんか?

一応私のほうでも転写用紙の印刷はできますのでお声かけください。

その他

愛知に引っ越すので愛知の方は直近だとNGK2018Bで実物持っていきます。これ以外もいくつか持っていく予定です。お仕事探してるので見るついでにお声かけください。

ngk2018b.connpass.com

この記事は全て既製品ではない印字を施した ほとんどJIS配列のXD75で入力されました。

f:id:takashiski:20181204002132j:plain
普段使いのキーボード

*1:体感だけで実測ではない

CorelDRAWのマクロをC#で組む

世間ではIllustrator全盛ですが、レーザー加工機などでは何故かCorelDRAWが強めです。そのためCorelDRAWを使い始めたのですが、全く情報がありません。マクロはどうやらVBAで書けるようなのですが、辛すぎるので探して回りました。

CorelDRAWって?

Windows専用のグラフィックデザインソフトウェアです。

イラストレーターがWindows対応してしまったためMaker界隈の一部を除き、国内では駆逐されつつあるツールです。

最近はイラストレータ同様、年額サブスクリプションプランが増えましたが、買い切りプランが残っているためいわゆるAdobe税を払い続けるのが嫌な人が選択すつこともあるようです。

定価だと買い切りでも55000円くらいになるのですが、ソースネクスト経由でセールのときに買うと2万円くらいでかえます。

CorelDRAW Graphics Suite

C#が使えるぞ!

ツール>マクロの下に、マクロエディタ以外に「VSTAエディタ」なる謎の項目があります。これを選択するとVisual Studioが起動することから*1、これはVisual Studio Tools for Applicationsの略だということがわかります。そう、そうなのです。VBAだけではなくC#でもマクロを記述できるのです!

APIドキュメント

非常にgoogle検索に引っかかりにくいため見つけるまでに難儀しました。Corel Deveroper Area内の、API Documentationです。やたら重いです。

API Documentation - Developer Area - CorelDRAW Community

ここに書かれている内容すべてがCorel.Interop.VGCore以下に入っています。最初はCorelDRAWの気持ちが中々わからずとても苦労しました。なのでメモ程度ですが記録を残します。

絶対やったほうがいいこと

例えば、1000個Rectangleを生成するマクロを実行すると、とても時間がかかります。それこそ糞ほど時間がかかる上にエディタは操作を受け付けなくなります。途中終了はできません。また実行中はコードの書き換えが不可です。地獄ですね。

なぜこのようになるのかというと、何かしらのObjectの生成や移動のたびに再描画が実施されているからです。

生成数が増えるにつれてデバッグすら辛くなるありさまです。流石に何か方法があるだろうと適当なワードでGoogle検索をしたところ、7年前にVBAの記事が見つかりました。幸い、CorelScriptではなかったのでVBAの記述を参考にドキュメントを読んだところ、描画を一括で行うようにする方法が見つかりました。

Speed up your macros. - Code snippets feedback - Developer Area - CorelDRAW Community

Application.Optimization property - Developer Area - CorelDRAW Community

まずマクロの先頭に次の文を挿入します。これにより、変更時に再描画がされなくなります。

app.Optimazation=true;

マクロの最後に次の文を挿入します。再描画を有効にした後、再描画を実行します。この処理を忘れると文書が真っ白になります。

app.Optimazation=false;
app.Reflesh();

また、マクロの途中でエラーが発生・停止した場合も真っ白になります。単にフラグを折って再描画をするだけのマクロ関数を用意しておくと平和かもしれません。

他にも最適化手法があるようですが、とりあえずこれだけで劇的に変化します。実質フリーズなし。

メモ

なんか起こったら追記します。

重要

バージョン

CorelDRAW2017の場合はVSもVSTAも2017じゃないとだめっぽい。2018の場合も同様。

データ保存

信頼するな。CorelDRAWが起きているときは残っているが、閉じるとどうなるかわからない。VSTAだけどの瞬間かわからない程度前までロールバックしていた。

また、VBAマクロと扱いが違うようでグローバルにしか置けない可能性がある。ちゃんと調べてない。

Startup()

最初に呼ばれる関数です。ここで初期化など実施します。

app

親です。Corel.Interop.VGCore.Application Main.appだそうです。

たぶん Applicationクラスを参照すればよいと思います。ここからDocumentとかPageとかLayerとかShapeをたどっていきます。

Application class - Developer Area - CorelDRAW Community

図形を検索したい

まず、所属するLayerをエディタから検索します。わからない場合は、すべてのLayerを走査します。

LayerのSelectableShapesまたはShapesからShapes(Shapeではない)を得ます。Shapesをforeachなどで走査し、NameやTypeを使って特定してください。

図形の色を変えたい

Shapeは色属性を持っていません。Corelでは外形とフィルに分かれていますので、Shape.OutlineやShape.FillのメンバのColorに対してアクセスします。

図形Aの中心と図形Bの中心を一致させたい。

アンカーが両方とも中心にある前提であれば、ShapeはCenterXとCenterYを持っていますので、SetPositionやPositionX/PositionYに対して他方のCenterX/CenterYを適用することで中心を一致させることができます。

イラストレータを使い込んだことがないのでわかりませんが、CorelDRAWは図形の整列などが強力であるし、PHOTOPAINTの連携で写真の背景切り抜きなどもできます。

比較的安価で強力なツールだと思います。カッティングプロッタやレーザー加工機を使うことがある人であれば、CorelDRAWを選択肢としてもよいのではないでしょうか?

CorelDRAW Graphics Suite

CorelDRAW Essentials Suite 2018(最新)|ダウンロード版

CorelDRAW Essentials Suite 2018(最新)|ダウンロード版

CorelDRAW Graphics Suite 2018

CorelDRAW Graphics Suite 2018

*1:対応したバージョンのVisualStudioとVisual Studio Tools for Applicationsがインストールされている場合のみ

読もうぜ!漫画!

アニメばっかみてないで漫画を読みましょう!!!

2018年7月くらいから買った漫画をざーっとみていって、他の人と感想話したいなぁと思った漫画をリストアップしました。選定の閾値高めにしたので冊数少な目。あと明らかに話題になってるブルーピリオドとかBEASTERSみたいなやつとか、古めのやつは除外しました。

ライアーバード

何とも形容しがたいのでとりあえず読んで。

ライアーバード 1 (リュウコミックス)

ライアーバード 1 (リュウコミックス)

凪を探して:「猫がいない」短編集

ライアーバードの作者の脇田茜の短編集。全部今はもういない猫が絡む話。

Artiste

パリの問題に巻き込まれ続ける料理人の話。 すごく得意なこととすごく不得意なことがある生きづらい人々ばかりが出てくる漫画。

Artiste 1巻 (バンチコミックス)

Artiste 1巻 (バンチコミックス)

ミステリと言う勿れ

とても理屈っぽい主人公が問題に巻き込まれたり首突っ込んだりする話。あんまり語られない論理が多いと思う。

概念ドロボウ

泥棒もの。前作のエンバンメイズが好きだったので買ったのだけど最初の事件の盗まれたものが最後にネタ晴らしされるまで全然わからなくてなかなか衝撃を受けた。

概念ドロボウ(1) (アフタヌーンKC)

概念ドロボウ(1) (アフタヌーンKC)

美少女菩薩ミロクちゃん

この世のすべてを呪って死んだ少女が救済して回る話。救ったり救われたりの定義って難しいよね。

美少女菩薩ミロクちゃん(1) (ガンガンコミックスJOKER)

美少女菩薩ミロクちゃん(1) (ガンガンコミックスJOKER)

二月の勝者

都内の中学受験戦争を勝ち抜かせるために新米塾講師が七転八倒する話。

ゴブリンはもう十分に強い

可愛い絵柄なのにいちいち表現がえげつない。

八百森のエリー

取引数量最小化の原理と不確実性プールの原理

八百森のエリー(1) (モーニングコミックス)

八百森のエリー(1) (モーニングコミックス)

Change!

お嬢様がフリースタイルバトルをする漫画

絢爛たるグランドセーヌ

プロのバレエダンサーを目指して色々やる話

映画大好きポンポさん 2巻

でないとおもった2巻が出てきた。とてもよかった。

宮廷画家のうるさい余白

宮廷画家があれこれする話。

ピーターグリルと賢者の時間

色んな種族の女性が主人公の精子を狙って襲ってくる話

乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった

なろうでよくある題材だけど漫画として絵がすごい好きだった。

ごほうびおひとり鮨

30にして結婚するつもりだった人に振られた女性会社員が東京中の寿司屋をひたすら食べ歩く話。

洗い出した感想

真摯に立ち向かう系とコメディが好きっぽい。あと理性的なド根性。

あと、以前に比べて漫画全然読んでないな、と思いました。アンテナそこまで張れてなくて、セールとかで読み返したくなったずいぶん前に読んだ漫画とか、続き読んでなかった漫画ばかり読んでる感じ。体感ではそんな感じだった。体感では。

おまけ

知り合いが漫画のモデルになったそうです。

【速報】俺氏、3次元で脱童貞したかもしれんが、質問ある?

https://bookwalker.jp/de5487c252-6633-4d04-9be6-54a5552bf99f/?acode=CKmce3jD

問題 : MX Ergoに変えてからある日を境に突然スクロールがとてもピーキーになった

問題

MX Ergoにしてから、ある日を境にスクロールがとてもピーキーになってしまった。

具体的には、PDFの表示が縮小されているので拡大しようとCtrlを押しながらスクロールをすると、1クリックしかしていないにも関わらず拡大率が非常に大きくなる。

また、Youtubeでは音量が100から0、または0から100にしか変更できないという問題も発生した。

解決策

拡大率及び音量は滑らかに変化しているので、何か悪さをしているソフトがいるだろうとあたりを付けた。

犯人は、しつこくインストール要求のポップアップを出してきたlogicool optionsであった。

画像のように、ポイント&スクロールのスムーズスクロールを無効にすることで解決した。

f:id:takashiski:20180911121051p:plain

動作に問題がないのに余計なソフトウェアを入れることはよくないことだと痛感した。

以上。