2024-07-01 03:08 PM
以下の様なスクリプトをGDLオブジェクトのサブタイプを”ラベル”として書いています。
!==========
text2 0,0,str(COLU_CORE_X*1000,1,0)+"x"+str(COLU_CORE_Y*1000,1,0)
!==========
柱の構造が▢の場合正確な値が取得出来ています。
次に柱の構造を▢から断面形状に変更するとCOLU_CORE_Xの値がCOLU_CORE_Yに置き換わってしまいます。
また、以下の様にセグメントを対象としたスクリプトにし、断面形状でセグメントを追加するとちゃんと取得出来ているのでCOLU_CORE_Yが断面形状で値を正しく取れていいないと思われます。
!==============================
DIM C_Width[]
DIM C_Height[]
if vardim1(COLU_SEGMENT_INFO.segments) > 1 then
for i = 1 to vardim1(COLU_SEGMENT_INFO.segments)
C_Width[i] = COLU_SEGMENT_INFO.segments[i].crossSection.endWidth:
C_Height[i] = COLU_SEGMENT_INFO.segments[i].crossSection.endHeight:
next i
else
C_Width[1] = COLU_CORE_X
C_Height[1] = COLU_CORE_Y
endif
text2 0,0,str(C_Width[1]*1000,1,0)+"x"+str(C_Height[1]*1000,1,0)
!==============================
バグであれば改善してほしいです。
Operating system used: Mac Apple Silicon Sonoma 14.5
解決済! 解決策の投稿を見る。
2024-07-02 10:38 AM
細かい検証はしていないのですが、COLU_CORE_X,YではなくCOLU_DIM1,2を使うのはどうでしょうか?
_dimx = str(COLU_DIM1 *1000, 1, 0 )
_dimy = str(COLU_DIM2 *1000, 1, 0 )
text2 0,0,_dimx+"x"+_dimy
2024-07-02 10:38 AM
細かい検証はしていないのですが、COLU_CORE_X,YではなくCOLU_DIM1,2を使うのはどうでしょうか?
_dimx = str(COLU_DIM1 *1000, 1, 0 )
_dimy = str(COLU_DIM2 *1000, 1, 0 )
text2 0,0,_dimx+"x"+_dimy
2024-07-02 01:06 PM
inuさん
COLU_DIM1,2で断面形状でも問題なくX,Yの値を取得できました。
レファレンスでCOLU_DIM1,2は何を取るのかなって思っていましたが、試していませんでした。
これで必要もないのにセグメントを追加せずに済ます。
有難う御座いました。
2024-07-02 01:41 PM
追記
これまで、柱、梁の公称幅、高さを取るパラメータは無いと思っていましたが、 COLU_DIM1,2 で取ることが出来ました。
梁の幅、高さはBEAM_THICKNESS,BEAM_HEIGHTで断面形状の梁でも問題なく取れますが、フカシ込みの全体の幅、高さになり、公称幅、高さを得るにはREQUESTからフカシのパラメータを取得して計算によって値を得ていました。
梁にもBEAM_DIM1,2がほしいと思いました。
2024-07-04 02:28 PM
セグメントで分割した数の分だけ、For分で取得するやり方をしたことがありませんでした。
ありがとうございます!!