エラーメッセージが・・・
牧野様、年末のバージョンアップ大変ありがとうございました。
また、ホームページのリニューアルお疲れ様です。
さて、Maのサンプルにあります階段の断面の変形を少しいじって、
2点の指定で(2点目は左右どちらでも)、希望する蹴上げ寸法以下の
近似値と、その段数で階段長さを均等に分割するものを・・・と思い
作り始めたのですが。 分からないエラーメッセージが出てしまいます。
結果は、希望どうりの作図にはなるのですが・・・。
これが出来上がれば、木製階段と鉄骨階段の変形を作るつもりです。
また、お願いになりますが添削お願いできないでしょうか?
#--------------------------------------------------------
#階段 (下階より左右どちらかの上階の対角 2点指示)
input"けあげ(mm)"%keag=180
#踏み面200 けあげ100で作成
%l_col=1
%l_lay=1
%gpread_x1=0
%gpread_x2=0
%gpread_y1=0
%gpread_y2=300
#2点の座標取得
gpoint_read2
#階段の長さと高さ
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%takasa=%gpread_y2-%gpread_y1
%nagasa=%gpread_x2-%gpread_x1
%sta_x=%gpread_x1
%end_x=%gpread_x2
%sta_y=%gpread_y1
%end_y=%gpread_y2
#蹴込み
if %end_x>%sta_x then
%kek=20
endif
if %end_x<%sta_x then
%kek=-20
endif
#段数
$bunkatu_atai:%takasa:%keag:0
%dansu=%result_a+1
#蹴上げ・踏面
%kea=%takasa/%dansu
%fumizura=%nagasa/(%dansu-1)
#ループ処理
loop %dansu-1 do
line:%f+%kek:%k :%f :%k+%kea:0:1:%l_col:%l_lay
line:%f :%k+%kea:%f+%fumizura+%kek:%k+%kea:0:1:%l_col:%l_lay
%k=%k+%kea
%f=%f+%fumizura
endloop
line:%f+%kek:%k:%f:%k+%kea:0:1:%l_col:%l_lay
> 「気ままに解説」 さっそくの対応ありがとうございます。
ええ、私もどうしようかと思っていました。
> 出版されるんでしょうね・・・(^^); 楽しみです。
いやいや、それは無いでしょう。(^^;
> そして、バージョンアップ たいへんお疲れ様でした。
建具コマンドにはビックリで・・・即処理しました。
「気ままに解説」 さっそくの対応ありがとうございます。
項目が増え続けても安心です。きっと、そのうち解説本(ムックと言うんですか?)
出版されるんでしょうね・・・(^^); 楽しみです。
そして、バージョンアップ たいへんお疲れ様でした。
せっかくですので、
以前作成された図形も、まとめて公開たいと思います。
> これからもページが増え続ける・・・
それはどうか分かりませんよ。(笑)
> クリックすると、その解説へ飛ぶようにできないでしょうか?
何とか作り変えました。
> 気ままに解説で紹介させて頂きました。
ど〜も。変形に関しては、皆様にお使いいただけるよう、あるいは
もっと実用的に見直している最中です。 ただ、さわればおかしく
なるものが多々ありまして・・・。牧野様の添削をお願いしなけれ
ばならない事態に陥ってしまいまして・・・また、よろしくお願い
いたします。
「きままに解説」の件ですが、これからもページが増え続ける
ことだろうと思います。 どこかに、目次を作っていただいて
クリックすると、その解説へ飛ぶようにできないでしょうか?
将来のためによろしく、お願いいたします。
いつも、公開ありがとうございます。
気ままに解説で紹介させて頂きました。
牧野様、さっそくの添削ありがとうございました。
お蔭様で「階段3部作(?)」できました。
鉄骨階段の0段目に変な立ち上がりが作図されてしまい
ますが、ご愛嬌ということで・・・。
#------------------------------------------------------------------------木製階段
階段 (下階より左右どちらかの上階の対角 2点指示)
input"けあげ(mm)"%keag=180
%l_col=3
%l_lay=3
%gpread_x1=0
%gpread_x2=500
%gpread_y1=0
%gpread_y2=500
#2点の座標取得
gpoint_read2
#階段の長さと高さ
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%takasa=%gpread_y2-%gpread_y1
%nagasa=%gpread_x2-%gpread_x1
%sta_x=%gpread_x1
%end_x=%gpread_x2
%sta_y=%gpread_y1
%end_y=%gpread_y2
#蹴込み
if %end_x>%sta_x then
%kek=15
endif
if %end_x<%sta_x then
%kek=-15
endif
#段数
$bunkatu_atai:%takasa:%keag:0
%dansu=%result_a+1
#蹴上げ・踏面
%kea=%takasa/%dansu
if %dansu<=1 then
%fumizura=1
endif
if %dansu>1 then
%fumizura=%nagasa/(%dansu-1)
endif
%k1=0
%f1=0
#ループ処理
loop %dansu-2 do
line:%f1+%kek:%k1 :%f1+%kek :%k1+%kea-30:0:%l_col:1:%l_lay
line:%f1+%kek:%k1+%kea-30:%f1 :%k1+%kea-30:0:%l_col:1:%l_lay
line:%f1 :%k1+%kea-30:%f1 :%k1+%kea :0:%l_col:1:%l_lay
line:%f1 :%k1+%kea :%f1+%fumizura+%kek:%k1+%kea :0:%l_col:1:%l_lay
%k1=%k1+%kea
%f1=%f1+%fumizura
endloop
line:%f1+%kek:%k1 :%f1+%kek :%k1+%kea-30:0:%l_col:1:%l_lay
line:%f1+%kek:%k1+%kea-30:%f1 :%k1+%kea-30:0:%l_col:1:%l_lay
line:%f1 :%k1+%kea-30:%f1 :%k1+%kea :0:%l_col:1:%l_lay
#--------------------------------------------------------------------------RC階段
階段 (下階より左右どちらかの上階の対角 2点指示)
input"けあげ(mm)"%keag=180
%l_col=1
%l_lay=1
%gpread_x1=0
%gpread_x2=500
%gpread_y1=0
%gpread_y2=500
#2点の座標取得
gpoint_read2
#階段の長さと高さ
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%takasa=%gpread_y2-%gpread_y1
%nagasa=%gpread_x2-%gpread_x1
%sta_x=%gpread_x1
%end_x=%gpread_x2
%sta_y=%gpread_y1
%end_y=%gpread_y2
#蹴込み
if %end_x>%sta_x then
%kek=20
endif
if %end_x<%sta_x then
%kek=-20
endif
#段数
$bunkatu_atai:%takasa:%keag:0
%dansu=%result_a+1
#蹴上げ・踏面
%kea=%takasa/%dansu
if %dansu<=1 then
%fumizura=1
endif
if %dansu>1 then
%fumizura=%nagasa/(%dansu-1)
endif
%k1=0
%f1=0
#ループ処理
loop %dansu-2 do
line:%f1+%kek:%k1 :%f1 :%k1+%kea:0:%l_col:1:%l_lay
line:%f1 :%k1+%kea:%f1+%fumizura+%kek:%k1+%kea:0:%l_col:1:%l_lay
%k1=%k1+%kea
%f1=%f1+%fumizura
endloop
line:%f1+%kek:%k1:%f1:%k1+%kea:0:%l_col:1:%l_lay
#--------------------------------------------------------------------------鉄骨階段
階段 (下階より左右どちらかの上階の対角 2点指示)
input"けあげ(mm)"%keag=180
%l_col=2
%l_lay=2
%gpread_x1=0
%gpread_x2=500
%gpread_y1=0
%gpread_y2=500
#2点の座標取得
gpoint_read2
#階段の長さと高さ
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%takasa=%gpread_y2-%gpread_y1
%nagasa=%gpread_x2-%gpread_x1
%sta_x=%gpread_x1
%end_x=%gpread_x2
%sta_y=%gpread_y1
%end_y=%gpread_y2
#蹴込み
if %end_x>%sta_x then
%kek=20
endif
if %end_x<%sta_x then
%kek=-20
endif
#段数
$bunkatu_atai:%takasa:%keag:0
%dansu=%result_a+1
#蹴上げ・踏面
%kea=%takasa/%dansu
if %dansu<=1 then
%fumizura=1
endif
if %dansu>1 then
%fumizura=%nagasa/(%dansu-1)
endif
%k1=0
%f1=0
#ループ処理
loop %dansu-2 do
line:%f1+%kek:%k1 :%f1+%kek :%k1+20 :0:%l_col:1:%l_lay
line:%f1 :%k1+%kea-20:%f1 :%k1+%kea:0:%l_col:1:%l_lay
line:%f1 :%k1+%kea :%f1+%fumizura+%kek:%k1+%kea:0:%l_col:1:%l_lay
%k1=%k1+%kea
%f1=%f1+%fumizura
endloop
line:%f1+%kek:%k1 :%f1+%kek :%k1+20 :0:%l_col:1:%l_lay
こんばんは。
変形図形は少し変数名判断が雑になってまして・・・(^^;)
「%k」の変数名事態は問題ないのですが、
「%kea」の変数に「%k」が一致し%kの部分が変換されてしまったため、
エラーがでています。
ですから合致しないような変数名「%k1」とかえました。
「%f」も同様ですので「%f1」と変更しました。
(プログラムを修正しないといけないのですが・・・)
もう一つ
(%dansu-1)が初期値で0で計算してしまうので、
%nagasa/0=∞のエラーがでています。
下記のように1以下の場合は、1になるように処理を追加しました。
if %dansu<=1 then
%fumizura=1
endif
if %dansu>1 then
%fumizura=%nagasa/(%dansu-1)
endif
これで無事動きました。
以下修正データーです。
階段 (下階より左右どちらかの上階の対角 2点指示)
input"けあげ(mm)"%keag=180
%l_col=1
%l_lay=1
%gpread_x1=0
%gpread_x2=500
%gpread_y1=0
%gpread_y2=500
#2点の座標取得
gpoint_read2
#階段の長さと高さ
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%takasa=%gpread_y2-%gpread_y1
%nagasa=%gpread_x2-%gpread_x1
%sta_x=%gpread_x1
%end_x=%gpread_x2
%sta_y=%gpread_y1
%end_y=%gpread_y2
#蹴込み
if %end_x>%sta_x then
%kek=20
endif
if %end_x<%sta_x then
%kek=-20
endif
#段数
$bunkatu_atai:%takasa:%keag:0
%dansu=%result_a+1
#蹴上げ・踏面
%kea=%takasa/%dansu
if %dansu<=1 then
%fumizura=1
endif
if %dansu>1 then
%fumizura=%nagasa/(%dansu-1)
endif
%k1=0
%f1=0
#ループ処理
loop %dansu-2 do
line:%f1+%kek:%k1 :%f1 :%k1+%kea:0:1:%l_col:%l_lay
line:%f1 :%k1+%kea:%f1+%fumizura+%kek:%k1+%kea:0:1:%l_col:%l_lay
%k1=%k1+%kea
%f1=%f1+%fumizura
endloop
line:%f1+%kek:%k1:%f1:%k1+%kea:0:1:%l_col:%l_lay