お知らせ

Announcement: We’re aware of an issue affecting starting a new topic from category pages and creating new blog posts. New topics can still be started directly from the relevant board. Learn more here.

Python Script ノードで intersectwith 関数は使えないでしょうか。

Python Script ノードで intersectwith 関数は使えないでしょうか。

buf_fa
Advocate Advocate
1,124件の閲覧回数
9件の返信
メッセージ1/10

Python Script ノードで intersectwith 関数は使えないでしょうか。

buf_fa
Advocate
Advocate

intersectwith 関数を使おうとすると、エラーになります。

 

                points = []
                line = Line3d(obj.StartPoint, obj.EndPoint)
                intersection_result = line.IntersectWith(plane)

0 件のいいね
解決済み
1,125件の閲覧回数
9件の返信
返信 (9)
メッセージ2/10

katsuhisa.shibataJUJVG
Collaborator
Collaborator

planeは何クラスで,エラーはどういうエラーでしょうか。

メッセージ3/10

buf_fa
Advocate
Advocate

コメントありがとうございます。

planeのクラスはよくわかっていません。

エラーは No method match ・・・でした。

もう少し、勉強してみます。

0 件のいいね
メッセージ4/10

katsuhisa.shibataJUJVG
Collaborator
Collaborator
解決済み

print(type(plane))

してみてください。

AutoCADのヘルプ で リソース の下の 開発用ドキュメント を押し,右上の日本語を英語にして Managed .NET/ObjectARX/JavaScript の Managed .NET の下の Reference Guide を押します。自分はLine3dというオブジェクトを知りませんでしたが,Autodesk.AutoCAD.Geometry Namespaceにありますね。IntersectWith MethodはLine3dクラスにはなく,一つ上のLinearEntity3dクラスですね。変種が4つありますが,引数がplaneですから型はPlanarEntityです。PlanarEntityクラスを見ると下にBoundedPlaneとPlaneがありますので,IntersectWith Methodの引数の型はPlanarEntity,BoundedPlane,Planeの3つのうちのどれかでなければならない,ということになります。

メッセージ5/10

buf_fa
Advocate
Advocate

ありがとうございます。少なくとも関数が使えると確信いたしましたので、少し粘って勉強致します。

 

メッセージ6/10

katsuhisa.shibataJUJVG
Collaborator
Collaborator

ここはCIMフォーラムなので,ひょっとして,で。

TINサーフェスと点があり,点からサーフェスに向かってある方向に進んでいくとどこかでTINサーフェスに当たりますが,その点を求めたい,ということではないでしょうか。

Civil 3D関係のAPIは Civil 3Dのヘルプ のAPI Reference Guideですが,TINサーフェスはAutodesk.Civil.DatabaseServices NamespaceのTinSurface Classで,GetIntersectionPoint Methodがそれです。

メッセージ7/10

buf_fa
Advocate
Advocate

ありがとうございます。

今回の目的はちょっと違いましたが、大変参考になります。

0 件のいいね
メッセージ8/10

buf_fa
Advocate
Advocate

解決としましたが、添付のpython script の交点座標があっていません。

どこがおかしいでしょうか?

0 件のいいね
メッセージ9/10

katsuhisa.shibataJUJVG
Collaborator
Collaborator

確かに変ですね。

2Dだと正しく出ました。

メッセージ10/10

buf_fa
Advocate
Advocate

返信ありがとうございます。

2dで計算する事にします。

0 件のいいね