お知らせ
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Civil3Dで、線形の任意位置の情報(X座標、Y座標、標高、接線角、単距離、弦接線角、区間弦長)を知る方法はありますか?

yuuki_okabe
Participant

Civil3Dで、線形の任意位置の情報(X座標、Y座標、標高、接線角、単距離、弦接線角、区間弦長)を知る方法はありますか?

yuuki_okabe
Participant
Participant

Civil 3D 日本仕様アドインの中間点出力で、任意の測点位置の情報を書き出したいのですが、下記のURL(2024年8月23日時点)のとおりそのような機能がないとのことでした。

 

https://www.autodesk.com/jp/support/technical/article/caas/sfdcarticles/sfdcarticles/kA9Kf000000scIf...

 

Civil 3D 日本仕様アドインの中間点出力以外で、1つずつでも構わないので、指定した測点位置で、その位置の情報(X座標、Y座標、標高、接線角、単距離、弦接線角、区間弦長)を確認する方法はありますでしょうか?

 

下記の方法で、X座標やY座標はわかるので、接線角や弦接線角あたりが算術可能であればありがたいのですが・・・

https://faq.mypage.otsuka-shokai.co.jp/app/answers/detail_view/a_cd/27E9655C0D

0 件のいいね
返信
453件の閲覧回数
12件の返信
返信 (12)

katsuhisa.shibataJUJVG
Collaborator
Collaborator

標高は「下記の方法」と同様,縦断を選択して「情報」で知ることができます。
Dynamoで組んでみました。Civil 3D 2024で作成しました。Civil3DToolkit Add-onが必要です。2025では動きませんでした。2025でCivil3DToolkitをインストールする際,エラーメッセージが出たので,そのせいだと思います。ときどき話題になるバージョン問題ではないかと思いますが,お付き合いする気にはなりません。
計算結果をExcelに出力します。設定するものはDynamoの左側にあります。線形と縦断とExcelのファイル名とExcelのシート名です。測点のリストを「Code Block(測点)」に与えます。現状ではこれをAlignment.Stationsで生成しています。手動設定するならAlignment.Stationsの下にある「Code Block(手動設定測点)」を使います。「接線角」があるので,線形の折れ点が測点リストに含まれないようにしてください。
出力されるものは順に
測点,x(東座標),y(北座標),標高,接線角,単距離,弦接線角(atan2方式),弦接線角(Vector.AngleWithVector方式),区間弦長
です。角度の単位は度で,数学的角度(東が0,北が90)です。弦接線角は初めVector.AngleWithVector方式で作成したのですが,これでは符号が出ないことがわかりましたので,atan2方式にしました。
動作が正しいことの保証はいたしません。

0 件のいいね

MM1956
Advocate
Advocate

>接線角や弦接線角あたりが算術可能であればありがたいのですが・・・

クロソイドは『千三つさんが教える土木工学 』

単曲線は『土木LIBRARY

でどうでしょうか

yuuki_okabe
Participant
Participant

返信がおそくなってしまい申し訳ありません。

「Civil3DToolkit Add-on」というのは、添付画像のことであってますでしょうか?

 

Dynamoで組まれたものを使用したことがなく、app storeで検索をしてみてでてきたのがこちらだったので

説明欄の記載を見る限り、dynamo関連ではなさそうだったので、もし違うようでしたらインストール方法をご教授いただけますと幸いです。

 

yuuki_okabe_0-1737456994272.png

 

 

0 件のいいね

yuuki_okabe
Participant
Participant

ご回答いただきましてありがとうございます。

やはり、Civil3Dで算出する機能はなく1つずつ手計算するか

katsuhisa.shibataJUJVG様のようにdynamoで組むしかなさそうですね・・・

 

0 件のいいね

katsuhisa.shibataJUJVG
Collaborator
Collaborator

Civil3DToolkit Add-onですが。

Dynamo上で [パッケージ] > [Package Manager] を実行するとダイアログが出ます。[検索]にCivil3DToolkitと入力して出てきたものをインストールします。自分の環境ではCivil 3D 2025ではインストール時にメッセージが出ました。これが出ると一部の機能が使えなくなるようです。[詳細を表示]を押して低いバージョンを選ぶと動くようになることがあるらしいです。

0 件のいいね

katsuhisa.shibataJUJVG
Collaborator
Collaborator

接線角は接線の角度だろうと思うのですが,手作業で求める場合,特にこれがどうすればよいか,自分にはわかりません。特にクロソイド部。例えばCreateFeatureLineFromAlignで縦断から計画線を作れるのですが,クロソイド部を拡大すると両者に差がありますので,この計画線はクロソイド部の縦断を正確に表したものではないと思われます。

0 件のいいね

MM1956
Advocate
Advocate

先に書き込んだ千三さんのマクローリン展開の部分に誤記があるようなので代わりに以下を参考にしてください。

とあるデザイナーのテクニカルノート

0 件のいいね

MM1956
Advocate
Advocate

用途がわからないので、とりあえずクロソイドの場合、手作業と言ってもExcelで数字を入れると出てきます。
たとえば今回のケースだったら通常パラメーターが決まっているので、Civil3Dから任意点の測点を取得しKA測点との差が曲線長(L)になります。
あとはR=A^2/L τ=L/2R で求まるし、σはy/xをATANで求めるのが簡単(誤差は土木で問題にならないと思います)
xとyを微分積分やマクローリン展開では失神しそうになるので無視して、結果のみを拝借したExcelのサンプルを添付します。(赤字にAとLを入力です)
お約束通り間違いがあったらゴメンナサイ。

0 件のいいね

katsuhisa.shibataJUJVG
Collaborator
Collaborator

「とあるデザイナーのテクニカルノート」というページを見たのですが。
クロソイド関係の式を見るといつも思うのが,変数と定数がわかりにくい,ということです。よく RL=A^2 という式を見ます。数式では大文字は定数であることが多く,ここではAは定数なのですが,RとLはどうでしょうか。結論は変数です。だから上記ページでもdLというものが出てきます。RとLを定数だとすることもできると思うのです。考えている曲線には終わりがあり,曲線長がLで最終曲率がRであると定義するのもありだと思います。その場合は曲線の途中の曲率や始点からの曲線長には別の変数を与えなければいけません。クロソイド関係の記述を見るとその辺ちゃんと考えているのか,と思います。
さて,上記ページですが,「マクローリン展開する」の前まではたぶんいいのです。マクローリン展開で計算する前提は 変数<<1 です。接線角って<<1ですか?
ここまで読めば「曲線の描画」の項に書いてある「半径Rが10、τが45°のクロソイド曲線を描画する。」という文章が意味不明であることがわかると思います。図もあるのですが,どこが45度なのでしょう。その下のプログラムコードも数値計算の基本は…なのですが,もう書きません。

問題はこのページではなく,このページを見て何かをしようとすることです。数値計算って難しく,土木用ソフトウェアを販売している会社では数学とプログラミングの両方がわかる人間を雇って製品を作っています。Civil 3Dに線形の接線角を求める方法が用意されているのか,私は見つけられていないのですが,なければ大きな問題だと思います。Civil 3Dで求めようと思えば現状API(Alignment.PointLocationの6引数バージョン)とDynamoノード(当方提示のAlignInfo_dyn.dynのAlignmentExtensions.GetBearingByStationOffset)は用意されているので,これらを使用する,ということになろうかと思います。

0 件のいいね

MM1956
Advocate
Advocate

>「半径Rが10、τが45°のクロソイド曲線を描画する。」という文章が意味不明であることがわかると思います。図もあるのですが,どこが45度なのでしょう。

 

工事屋は単純に考えて、半径Rが10 τが45° だったら電卓で L=15.7079632678  A=12.5331413730956 となります。

0 件のいいね

katsuhisa.shibataJUJVG
Collaborator
Collaborator

調べたところ,線形のエンティティが情報を持っていることがわかりました。
元の文章には「測点位置で」とあり,当方が以前出したAlignInfo_dyn.dynは測点に対し,情報を出力しますが,添付のAlignEntityInfo.dynはエンティティの情報を出力します。
クロソイドに対しDeltaという情報が出ますが,これが接線角かと思います。
また,曲線に対してはChord Direction/Lengthという情報が出ますが,これが弦接線角,区間弦長かと思います。

0 件のいいね

mari.shimode
Community Manager
Community Manager

@yuuki_okabe さん、こんにちは。コミュニティのご利用ありがとうございます。

 

コミュニティからの返信は参考になりましたか。引き続きトピックを未解決の状態で保ち、他の方からもご意見を募りたいようでしたら、一言お知らせいただけると幸いです。

 

十分なアイディアを得ることができ、参考になる返信がありましたら、その返信の左下に表示されている「解決策として承認」ボタンを押してください。
同じ問題を抱えた方の参考になりますので、ご協力のほどよろしくお願いいたします。

 



Mari Shimode
Community Manager
0 件のいいね