2023-02-01 12:10 PM
ArchiCAD25で
プロパティマネージャーで、整数として情報を追加しているのに
円が描けないで困っています。
dim parentProperties[]
myPropertyGUID = ""
n = REQUEST ("Properties_Of_Parent", "ACPROPERTY", parentProperties)
for i = 1 to vardim1(parentProperties)/4
idx = 4*(i-1)
if parentProperties[4+idx] = "Y方向_ベース筋_本数" then
myPropertyGUID = parentProperties[1+idx]
_value1=0
_type=2
n = REQUEST ("Property_Value_Of_Parent", myPropertyGUID, _type, _dim1, _dim2, _value1)
if _type=4 then
n = split(_value1,"%n",_value10)
endif
TEXT2 0,0,_type
TEXT2 0.5,0,_value1
!CIRCLE2 0,0,_value10 ←_value10の数値で円を描きたい
endif
next i
解決済! 解決策の投稿を見る。
2023-02-02 10:30 AM
>>問い合わせの回答以上の話になってしまいますが、myPropertyGUIDのプロパティは「Y方向_ベース筋_本数」としているので、本数を半径にするのが適切なのでしょうか?
ご指摘の通り、本数はLINEで描きます。
エラーの原因はCIRCLEのスクリプトで発生してた様なので、
本質通り、そこをLINEに変えると、_value1(整数)で描画できました。
2023-02-01 01:32 PM
<>はその下のオレンジ文字の処理を説明しています。
!<_value1の初期値を定義>
_value1=0
!<myPropertyGUIDのプロパティが整数の時>
_type=2
!<myPropertyGUIDのプロパティの値を_value1に入れる>
n = REQUEST ("Property_Value_Of_Parent", myPropertyGUID, _type, _dim1, _dim2, _value1)
!<myPropertyGUIDのプロパティが文字列の時>
!※_typeの値を4と定義しているだけでその後の処理には使われていないです。
!myPropertyGUIDを整数のプロパティを対象にしているのでそもそも必要ない処理だと思います。
if _type=4 then
!この下でmyPropertyGUIDのプロパティ値を文字列から整数に変えたい処理ですか?
!そもそも_typeは2で処理がされているのでこのIF文はスルーされています。
n = split(_value1,"%n",_value10)
endif
ですので、ここまでの処理で_value10の値は「0」です。
半径0の円が描かれている状態です。
CIRCLEの半径は正の値しか許容しないので下図のエラーは出ると思いますが、「継続」すると 「正以外または0のパラメータ」という警告ダイアログが出ませんか?
問い合わせの回答以上の話になってしまいますが、myPropertyGUIDのプロパティは「Y方向_ベース筋_本数」としているので、本数を半径にするのが適切なのでしょうか?
2023-02-02 10:30 AM
>>問い合わせの回答以上の話になってしまいますが、myPropertyGUIDのプロパティは「Y方向_ベース筋_本数」としているので、本数を半径にするのが適切なのでしょうか?
ご指摘の通り、本数はLINEで描きます。
エラーの原因はCIRCLEのスクリプトで発生してた様なので、
本質通り、そこをLINEに変えると、_value1(整数)で描画できました。