関連無いのですが、こちらの続きです。
pycatiaを味わう3 - C#ATIA
referenceのお話です。わかりにくいですよねreference。
でも避けては通れないです。
こちらのサンプル見ていると、ちょっと不思議な気がしました。
pycatia/examples/example__hybrid_shape_factory__001.py at master · evereux/pycatia · GitHub
hybrid_shape_reference = Reference(hybrid_shape.com_object)
referenceを取得している・・・正しくはpycatiaのReferenceオブジェクトの
インスタンスを作っているのですが、通常であればCreateReferenceFromObject
メソッドを使うはずなんです。
r1 Part (Object)
どうやっているのかな?と思い、pycatiaのReferenceのコンストラクタの
実装を見てみました。
pycatia/pycatia/in_interfaces/reference.py at master · evereux/pycatia · GitHub
COMオブジェクトを受け取って、pycatiaのAnyObjectのコンストラクタに
放り投げた後にCOMオブジェクトを持っているだけのような気がします・・・。
意外、これだけ?
AnyObjectのコンストラクタを見てみると、
pycatia/pycatia/system_interfaces/any_object.py at 472fd0f32a6439aa800525b8dcd73ea95080fd53 · evereux/pycatia · GitHub
COMオブジェクトを受け取って、pycatiaのPyCATIAのコンストラクタを
実行し、COMオブジェクトを保持しています。
さらにPyCATIAのコンストラクタを見てみると、
pycatia/pycatia/base_interfaces/pycatia.py at 472fd0f32a6439aa800525b8dcd73ea95080fd53 · evereux/pycatia · GitHub
何もしていないです・・・。
謎です。
理解できないので、見なかった事にしておきます。