0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【FreeCAD 1.0】Assembly4アドオンの騒動と将来性

Posted at

FreeCADは商用CAD並に高機能なオープンソースの3D CADであり、20年以上も開発が続いている。

CADといえば、部品をプリミティブ形状の組み合わせやスケッチの押し出しでモデリングした後に、アセンブリ(組み立て)を行うというのがよくある枠組みである。FreeCADには元々アセンブリの機能が搭載されておらず、有志開発のアドオンに頼ってきたという歴史がある。アセンブリを実現するアドオンは複数あるが、その代表はAssembly4ワークベンチであった。しかし、近年になって遂に、FreeCADがアセンブリ機能を公式に搭載することとなった。これはAssembly4とは似ても似つかない全くの別物であり、困惑したユーザーも多かったはずである。

本記事では、Assembly4の社会情勢について述べる。

標準AssemblyとAssembly4アドオン

最初に、両者はどのように違うのかを手短に説明する。

標準Assembly

これは商用CADによく見られる、幾何拘束ベースのアセンブリである。剛性ジョイント、回転ジョイントなどをソリッドの面やエッジ上に設定しておき、ソルバーが拘束を満たす数値解を求める。

Assembly4アドオン

これはローカル座標系(LCS)を用いた、少しユニークな方法でアセンブリを行う。部品上の接続したい箇所に、LCSと呼ばれるベクトルを設定しておく。このベクトルは

  • 接続する基準点の位置ベクトル (=アンカーポイントと呼ぶ)
  • 法線ベクトル (=オリエント)
  • 法線ベクトル周りの回転角 (=スピン)

の3つからなる。

LCSを用いたジョイントは単純明快であり、アンカーポイントとスピンが一致するように、かつオリエントが真逆になるように部品を配置するだけである。

これは、プログラマー的な思考の持ち主と親和性が高い(と思っている)。特長としては、幾何拘束ベースのアセンブリに比べて堅牢性が非常に高く、計算は軽量であり、特に多くの部品を扱う大規模なモデリングに適している。私は幾何拘束アンチなので、Assembly4アドオンの方が標準Assemblyよりも100倍好きである。

ローカル座標系を用いたアセンブリは珍しいが、FreeCAD/Assembly4アドオンに固有のものではなく、OpenSCADのBOSL2ライブラリも同じ方法を採用している(attachment)。また、私自身は触ったことはないが、商用CADのCatiaでも似たような機能が提供されているらしい。今後この手法がアセンブリの主流になってくれたら良いのだが。

騒動

Assembly4の公式リポジトリは何処へ

大変素晴らしいアドオンであるAssembly4であるが、そのリポジトリは現在GitHub上にはなく、代わりにドイツに居を構えるgitリモートホスト: codebergに置かれている。その理由は、開発者であるZolko氏からの声明はないが、READMEのInstallationセクションによれば

Important Note: Assembly4 has been removed from the Microsoft-owned and USA-based GitHub forge, and is now located on the non-profit codeberg.org forge, located in Europe (Germany)

(意訳) 重要: Assembly4はマイクロソフトの所有するアメリカ企業の運営するGitHubから削除され、現在はヨーロッパ(ドイツ)の非営利企業のcodeberg.orgに移されました。

ということであり、含みのある表現になっている。

何が起こったのか

CHANGELOGを見ると、この移行が行われたのは2025年6月であり、本稿執筆時点からは随分最近のことである。何があったのかは、FreeCADフォーラムのAssembly4スレの6月付近のポストを見ることで知ることが出来る:

Post by ladis » Thu Jun 19, 2025 7:26 pm
I'm in touch with Zolko via email. He was banned by github. ...

Post by obelisk79 » Fri Jun 20, 2025 5:27 pm

easyw-fc wrote: Fri Jun 20, 2025 5:19 am
But was the post enough for a GH ban?
It seems strange to me.
@ladis could you please give some info or ask zolko?

I can't recall the exact phrasing, but someone said he made threats of physical violence and was reported for it. Really sad to see overall, he's clearly very talented, just doesn't play wells with others, his personality reminds me of Zed Shaw.

要点をまとめると、

  1. 開発者であるZolko氏はGitHubアカウントをBANされた。これはZolko氏本人からメールで聞いたとのこと。
  2. BAN理由は、GitHub上で暴力を示唆するような書きこみを行い、誰かに通報されたこと。BANに伴い彼のリポジトリであるAssembly4も消えてしまった。
  3. 彼は明らかに大変才能があるので本当に悲しい by obelisk79氏

ということだ。どうもZolko氏は性格に難のある人物であるようだ。

OSSと企業の敵対

攻撃的発言の内容もフォーラム上にあったので詳しくはそちらを参照。私自身は全く読んでおらず原因も知らないが、アセンブリの覇権とも言えるAssembly4アドオンが公式アセンブリに採用されないのは到底理解できずブチギレるのもやむ無し。

ところで、本節冒頭に書いたREADMEの含みある表現は何だったのだろうか。察するに、自分をアカウントBANしたGitHubへの単なる悪口であろうが、営利主義的側面から批判していることに注目すると、Zolko氏は自分が何らかの利益相反/企業都合のためにBANされたと思っていそうな節もある。

まぁ、高性能なOSSは営利企業の敵ではある。世知辛いことに、有志によるアドオンが公式サポートによって潰される事例というのはよくあることのように思う。私が最も理不尽に感じた例は、JetBrains社が商用Rustエディタを出すためにCLionのRust拡張を買収した例であろうか。無償で素晴らしいRust言語サポートが得られていたにも関わらず、JetBrains信者のRustaceanたちは肩透かしを喰らうこととなった。

しかしFreeCAD自体もOSSだし、今回のケースは利益相反よりもZolko氏の政治力や人望のなさが招いた帰結であるように思うが。

Assembly4の将来性

今回の騒動で懸念されるのは、神アドオンたるAssembly4の開発が、Zolko氏のモチベーション喪失により終了してしまうのではないかということであろう。どうなるかは彼以外に分かるはずもないが、Zolko氏の性格的に、彼はこのアドオンを、意地を張って維持するのではなかろうか…()

いずれにせよ、Assembly4開発者と公式の路線は決定的に分離した。正直FreeCADの標準アセンブリにLCSが導入されることはないだろう。しかし冒頭でも述べたように、ローカル座標系を用いるアセンブリの思想はAssembly4に固有のものではないので、本アドオンがサ終したとしても我々の未来が絶たれたわけではない。

また、こんなことを言うreddit民もいる:

Just wait for the assembler to be fixed and developed further. Having several competing assembler workbenches was just counterproductive in the long run.

(意訳) 標準Assemblyが成長するのを待て。競合するアセンブリアドオンが複数存在する状況は、開発リソースが分散してしまい非生産的だ。長期的にみれば、継続的インテグレーションの保証がある標準Assembly以外は消滅する。

確かに。標準Assemblyの将来性は抜群である。でも自分は幾何拘束を使いたくないので、当面はAssembly4アドオンを使おうと思う。以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?