興味があろうがなかろうが。

なるべく役に立つ、とがった内容を記していきたいと思います。

プログラミング

【FreeCADプログラミング】要素同士の最近距離取得

FreeCADを使って、要素同士の最近距離を取得するプログラムを紹介しています。

【FreeCADプログラミング】オブジェクトの同一判定

FreeCADを使って、オブジェクトの同一判定を行うプログラムを紹介しています。

【FreeCADプログラミング】ある位置が要素の内側に位置しているか判定

FreeCADを使って、指定された位置が要素の内側に位置しているか判定するプログラムを紹介しています。

【FreeCADプログラミング】選択した要素を取得する ~getSelectionEx編~

FreeCADを使って、選択した要素を取得するプログラム(getSelectionExを使用)を紹介しています。

【FreeCADプログラミング】UNDOポイントを実装する

FreeCADを使って、UNDOポイントを実装するプログラムを紹介しています。

【FreeCADプログラミング】UNDO, REDOの実行

FreeCADを使って、UNDO, REDOを実行するプログラムを紹介しています。

【FreeCADプログラミング】ビューの表示方向の設定

FreeCADを使って、選択したフェースの真正面から見た視点にビューを切り替えるプログラムを紹介しています。

【FreeCADプログラミング】ビューの表示方向の取得

FreeCADを使って、ビューの表示方向を取得するプログラムを紹介しています。

【FreeCADプログラミング】ドキュメントに修正がかかっているかチェック

FreeCADでドキュメントの修正状態を確認するためのプログラムを紹介しています。

【FreeCADプログラミング】PyQtを使用したウインドウ表示

FreeCADからPyQtのウインドウを表示するプログラムを紹介しています。

【FreeCADプログラミング】行列(マトリックス)の回転移動

FreeCADを使って、行列(マトリックス)の回転移動を行うプログラムを紹介しています。

【FreeCADプログラミング】行列(マトリックス)の平行移動

FreeCADを使って、行列(マトリックス)の平行移動を行うプログラムを紹介しています。

【FreeCADプログラミング】あるエッジに平行なエッジの本数を数える

本日のお題は『あるエッジに平行なエッジの本数を数える』です。 久しぶりの演習課題となります。ぜひ最初は回答を見ずにチャレンジしてみてください。 とりあえず、これまでの記事を使えば、ある程度実装できると思います。

【FreeCADプログラミング】エッジの開閉確認

本日のお題は『エッジの開閉確認』です。 あるエッジが開円弧であるか、閉円弧であるかという確認は、たまに行うことがあります。 今回は判定の方法を説明していきたいと思います。

【FreeCADプログラミング】選択済みのオブジェクトを追加する

本日のお題は『選択済みのオブジェクトを追加する』です。 これまでは、事前に選択したオブジェクトをたびたび取得してきました。 今回はその逆で、選択中のオブジェクトを意図的に増やす処理を説明していきます。

【FreeCADプログラミング】重心位置の取得

本日のお題は『重心位置の取得』です。 設計用途ではなかなか使用することはなく、解析系のプログラミングで使われることのほうが多い気がしますが、紹介しておきたいと思います。

【FreeCADプログラミング】色の変更

本日のお題は『色の変更』です。 お察しの通り、オブジェクトの色を変更します。 前回お話しした透過度の変更よりは、使用する頻度が高いので、覚えておきましょう。

【FreeCADプログラミング】透過度の変更

本日のお題は『透過度の変更』です。 お察しの通り、オブジェクトの透け具合を変更します。 カスタマイズプログラミングをする際、あまり需要がない機能ですが、こんなこともできるということを頭の片隅に入れておきましょう。

【FreeCADプログラミング】バウンディングボックス(AABB)の取得

本日は『バウンディングボックスの取得』について説明していきたいと思います。 この単語を知らない方はいきなり意味不明ですよね。 今回は長くなりそうなので、早速解説にいってみたいと思います。

【FreeCADプログラミング】ソリッドから構成要素(フェース, エッジ, 端点)を取得

本日のお題は『ソリッドから構成要素(フェース, エッジ, 端点)を取得』です。 3Dのソリッドモデルは基本的に『点・エッジ・フェース』で構成されており、それらの情報を相互に参照できることが多いです。 今回はまず、ソリッドボディから複数の構成要素が取…

【FreeCADプログラミング】作成履歴のパラメータ変更

本日のお題は『作成履歴のパラメータ変更』です。 今回はすでに作成された履歴のパラメータを変更していきたいと思います。 これができるようになると、プログラムでできることがさらに広まりますので、覚えておきましょう。

【FreeCADプログラミング】タイプ(型)の確認方法

本日のお題は『タイプ(型)の確認方法』です。 CADデータから情報を取得した際、その情報が『作成履歴の情報』なのか、『フェースの情報』なのか、はたまた全く異なる情報なのかを判断する必要があります。 今回は、取得した情報の型を見分ける方法を紹介して…

【FreeCADプログラミング】ドキュメントから作成履歴の取得

本日のお題は『ドキュメントから作成履歴の取得』です。 今回は先日説明したドキュメントから、これまでの作成した履歴(形跡)を取得します。 履歴を取得できると、すでに作成済みのオブジェクトのパラメータを確認したり、変更(※)したりすることができます。…

【FreeCADプログラミング】ツリーからドキュメントの取得

本日のお題は『ツリーからドキュメントの取得』です。 これまでは要素の選択ありきで処理を行っていましたが、ボタン1つで完全自動化をする場合は、ツリーの構成を自動で取得する必要があります。 割と重要な内容ですので、しっかり押さえておきましょう。

【FreeCADプログラミング】エッジの端点位置を取得

本日のお題は『エッジの端点を取得する方法』です。 CADのカスタマイズをする際、点・エッジ・フェースといった端点の座標を活用することがあります。 ネタとしてはパッとしませんが、重要な内容ですので、まずは取得できることを確認しておきましょう。

【FreeCADプログラミング】ベクトル確認用の矢印ソリッドを作ろう

本日のお題は『ベクトル確認用の矢印ソリッドを作ろう』です。 ベクトルの計算をする時、ベクトルの数値自体は分かるものの、実際の方向が目視できず、分かりにくかったと思います。 今回は確認しやすいよう、押出しなどを駆使して、オブジェクトを作ってい…

【FreeCADプログラミング】要素の表示・非表示

本日のお題は『要素の表示・非表示』です。 先日、Selection APIによる要素の取得方法をご紹介しましたので、今回は取得した要素に対して、処理をしてみたいと思います。

【FreeCADプログラミング】フェースの法線ベクトルを取得

本日のお題は『フェースの法線ベクトルを取得』です。 法線ベクトルという言葉は、普段の生活の中ではなかなか出てこないため、とっつきにくいですかね。 簡単に言えば、面の向いている方向(ベクトル)です。 理屈と意味さえ分かってしまえば難しくはないので…

【FreeCADプログラミング】選択した要素を取得する ~getSelection編~

本日のお題は『選択した要素を取得する ~GetSelection編~』です。 今回からビュー上の要素をいじり始めます。 これまでは机上のベクトル計算などがメインだったため、退屈だったかもしれませんが、それも少しずつおさらばしていくことになります。たぶん。

【FreeCADプログラミング】ある点からある方向へ10mm移動した位置を求める方法

今日はベクトル計算の中から、私が一番最初に苦しんだ『点から点への移動計算』について触れていきたいと思います。 なお、机上の鉛筆計算だと掴みにくいかもしれませんので、FreeCADのコンソールを使って検算していきます。