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

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

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

本日のお題は『エッジの開閉確認』です。

あるエッジが開円弧であるか、閉円弧であるかという確認は、たまに行うことがあります。

今回は判定の方法を説明していきたいと思います。

1. 環境

  • FreeCAD 0.18

2. エッジの開閉円弧を確認する方法

EdgeクラスにisClosed()メソッドというAPIが用意されているので、こちらを利用します。一応、下記リンク先から情報を仕入れました。

TopoShape API - FreeCAD Documentation

3. プログラムを書いてみよう

今回はエッジを1本選択し、そのエッジが閉じているか、開いているかを確認するプログラムを書きました。

とはいっても、取得したEdgeに対して、isClosed()を呼び出すだけですが。

# -*- coding: utf-8 -*-

#import ptvsd
#print("Waiting for debugger attach")
# 5678 is the default attach port in the VS Code debug configurations
#ptvsd.enable_attach(address=('localhost', 5678), redirect_output=True)
#ptvsd.wait_for_attach()

import FreeCAD
import FreeCADGui

sel = FreeCADGui.Selection.getSelectionEx()

if(len(sel) != 0):
	FreeCAD.Console.PrintMessage(str(sel[0].SubObjects[0].isClosed()))

3.1. 開円弧を選択した場合

f:id:appli-get:20200524201345p:plain

開円弧を選択した場合
False

3.2. 閉円弧を選択した場合

f:id:appli-get:20200524201335p:plain

閉円弧を選択した場合
True

4. まとめ

  • エッジの開閉確認にはisClosed()メソッドを使用する

5. 最後に

エッジの形状を見て、条件分岐するときに役に立つことがあるので、こういうチェックができることだけは頭の片隅に入れておきましょう。

更なる情報をお探しの方は!

下記のリンクから、FreeCADプログラミングのトップページに飛びます。

よろしければご参照くださいませ。

www.interested-or-not.com