MENU
312,560

スレッドNo.361

エラーメッセージが・・・

 牧野様、年末のバージョンアップ大変ありがとうございました。
また、ホームページのリニューアルお疲れ様です。

さて、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

引用して返信編集・削除(未編集)

このスレッドに返信

このスレッドへの返信は締め切られています。

ロケットBBS

Page Top