ごぶさたです
久々で、またもや変形図形を作ってみました。
今回は建築屋の使う測量3部作です。よかったら使ってみて感想お聞かせください。
少し時間ができましたので、横着に製図作業ができればと思いました。
また、牧野様にはお願い事がありますのでそのときはよろしく・・・。
#-----------------------------------------------------------------------
#法面
gpoint_read3
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
$readkakudo_set:%result_a
%gpread_x1=0
%gpread_x2=3000
%gpread_x3=2000
%gpread_y1=0
%gpread_y2=2000
%gpread_y3=0
%sen_c=3
%sen_l=14
#足の鉛直点の座標を計算する関数
#計算結果のx座標%result_xにy座標%result_yに代入される
$encyoku_ten:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2:%gpread_x3:%gpread_y3
#適当な変数名を作成し結果結果を代入する
%kotenx1=%result_x1
%koteny1=%result_y1
#足長さを算出する関数
#計算後変数%result_aに値が代入される
$sen_nagasa:%kotenx1:%koteny1:%gpread_x3:%gpread_y3
#足長さと足の間隔
#%LL2=%result_a-100
%LL2=%result_a*0.8
%kankaku1=%LL2
#峰の長さと法面記号本数の計算
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%mine1=%result_a
%LL1=%result_a/%LL2
#本数を整数に丸め
$atai_marume:%LL1:0:1
#if %result_a>2 then
%kazu1=%result_a-1
#endif
#間隔計算用変数作成初期化
line:0:0:0:%LL2 :0:%sen_c:1:%sen_l
%kkaku1=%kankaku1
#ループ処理
loop %kazu1 do
line:%kkaku1-%kankaku1/2:0:%kkaku1-%kankaku1/2:%LL2/2:0:%sen_c:1:%sen_l
line:%kkaku1 :0:%kkaku1 :%LL2 :0:%sen_c:1:%sen_l
%kkaku1=%kkaku1+%kankaku1
endloop
#line:%kkaku1-(%kankaku1/2):0:%kkaku1-(%kankaku1/2):%LL2/2:0:%sen_c:1:%sen_l
#moji:0:-500 :0:1:8:0:%kkaku1:0
#moji:0:-1000:0:1:8:0:%mine1:0
#moji:0:-1500:0:1:8:0:%kankaku1:0
%hikaku1=%kkaku1-%mine1
%hikaku2=%kankaku1*0.5
if %hikaku1<%hikaku2 then
line:%kkaku1-%hikaku2:0:%kkaku1-%hikaku2:%LL2/2:0:%sen_c:1:%sen_l
endif
#--------------------------------------------------------------------------
#ガードレール
zisun_set
%l_col=2
%l_typ=1
%l_lay=8
%gpread_x1=-2000
%gpread_x2=2000
%gpread_y1=0
%gpread_y2=0
gpoint_read2
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
$readkakudo_set:%result_a
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%sn1=%result_a
#左
arc:0 :-110:110:1:90:270:0:%l_col:%l_typ:%l_lay
arc:400:-80 :80 :1:0 :360:0:%l_col:%l_typ:%l_lay
arc:400:-80 :60 :1:0 :360:0:%l_col:%l_typ:%l_lay
#右
arc:%sn1:-110:110:1:270:90:0:%l_col:%l_typ:%l_lay
arc:%sn1-400:-80 :80 :1:0 :360:0:%l_col:%l_typ:%l_lay
arc:%sn1-400:-80 :60 :1:0 :360:0:%l_col:%l_typ:%l_lay
#中
line:0:0:%sn1:0:0:%l_col:%l_typ:%l_lay
%kankaku1=2000
%sn2=%sn1-800
$bunkatu_atai:%sn2:%kankaku1:0
%kazu1=%result_a-1
%kankaku1=%result_x1
%kkaku1=%result_x2
loop %kazu1 do
arc:%kkaku1+400:-80 :80 :1:0 :360:0:%l_col:%l_typ:%l_lay
arc:%kkaku1+400:-80 :60 :1:0 :360:0:%l_col:%l_typ:%l_lay
%kkaku1=%kkaku1+%kankaku1
endloop
#------------------------------------------------------------------------
#ブロック塀 (塀の壁芯を2点指示)
#実寸に設定
zisun_set
input"塀の厚さ 100--0 120--1 150--2"%data1="0"
if %data1=0 then
%data2=50
endif
if %data1=1 then
%data2=60
endif
if %data1=2 then
%data2=75
endif
%gpread_x1=-1000
%gpread_x2=1000
%gpread_y1=0
%gpread_y2=0
gpoint_read2
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%kaku=%result_a
$readkakudo_set:%kaku
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%nagasa=%result_a
#延長方向
line:0:-%data2 :0 :%data2 :0:5:1:8
line:0:-%data2 :%nagasa:-%data2 :0:5:1:8
line:0:%data2 :%nagasa:%data2 :0:5:1:8
line:%nagasa:-%data2:%nagasa:%data2:0:5:1:8
#分割線
bunkatusen2:0:-%data2:0:%data2:%nagasa:-%data2:%nagasa:%data2:400:0:2:5:1:8
$bunkatu_atai:%nagasa:400:2
%kazu1=%result_a/2
$atai_marume:%kazu1:0:1
%kazu2=%result_a
#%kankaku1=%result_x1
#%kkaku1=%result_x2
%cnt1=1
loop %kazu2 do
line:(%cnt1*2-2)*400:-%data2/3*2:(%cnt1*2-1)*400:-%data2/3*2:0:6:1:8
line:(%cnt1*2-2)*400:-%data2/3 :(%cnt1*2-1)*400:-%data2/3 :0:6:1:8
line:(%cnt1*2-2)*400:0 :(%cnt1*2-1)*400:0 :0:6:1:8
line:(%cnt1*2-2)*400: %data2/3 :(%cnt1*2-1)*400: %data2/3 :0:6:1:8
line:(%cnt1*2-2)*400: %data2/3*2:(%cnt1*2-1)*400: %data2/3*2:0:6:1:8
%cnt1=%cnt1+1
endloop
#-------------------------------------------------------------------------
> ないしょ〜 (^^ゞ
ん〜。じゃぁ希望を込めて・・・文字列の検索と言えば・・・
たぶん 天空率計算のできる日影図コマンドかな?
きっと 建具コマンドの部品作成補助プログラムだろう。
ああ〜 どのグループでも、どのレイヤーでもペイント出来るんだな。
正解は JWWデータが読み書きできる出入力コマンドでした。
なんて・・。楽しみ楽しみ!!
余談ですが、私の暮らす町のお役所では、設計成果物をDXFではなく
JWW形式で提出する事に決まっています。なぜか・・解りませんが。
ないしょ〜 (^^ゞ
こんにちは。よろしくお願いします。
> 楽しみにされている方もいると思いますので完成機能を一つほど、
> 文字列検索ジャンプ機能は何とか完成しました。
> (今回の目標まではまだまだで・・・だらだらと進めています)
もしかして、範囲指定された空間の中にある文字列を検索して、ピックアップ表示して、
文字列の置き換えをして、属性まで変更して・・・。
おぉー、なんだか楽ちんなオペレートができそうですね。
なんだか、クリスマスプレゼントかお年玉になりそうで、楽しみ楽しみ!!
こんばんは。
詳しい内容をありがとうございます。
良く分かりました。
できる範囲から実験しようかなーと思います。
> いろいろと批評めいてしまい申し訳ないです。ただ、私のようなMA一本槍でのCAD
> ライフではMAが完璧に近ければ近いほど、もう少し・・と言うところが残念でして
どーも。(^^)いえ嬉しいです。
今は今回目標までの・・新機能作成に奮闘していますが、
欲しい機能も沢山あり・・キリが有りませんね。(^^;)
> さて、本日の変形図形は 外構図に利用できるフェンス記号です。
> ネタが少なくなってきたので、今日は1本だけで許してください。
何度も時間の掛かった図形の公開ありがとうございます。
私も何か有ればと思いましたが、今回殆ど変形図形を作っていません。(汗)
機能はちょっと良くしましたが・・・(^^;)
PS
楽しみにされている方もいると思いますので完成機能を一つほど、
文字列検索ジャンプ機能は何とか完成しました。
(今回の目標まではまだまだで・・・だらだらと進めています)
牧野さま、さっそくのご返事ありがとうございます。
文字列に関しては、私の勘違いでした。すいません。
プルダウンに残る数値に違和感を感じるのは
四角のB×D
円寸法
複線の距離
で、その他 面取りの寸法指定では、新しい入力データはプルダウンに残らないよう
ですし(一度他のコマンドに移ると入力したものが消えてしまう)建具コマンドでの
長さでも同じようです。
JW建具では見込寸法が多彩でありがたいのですが、新たに入力したものは忘れら
れてしまいますね。度々入力しなくてはならないのが残念です。できれば、基本設定
で、利用者がいくつか入力しておきたいですね。(それと、コピーのレイヤも同じく
利用者が基本設定で「元レイヤ」か「書込みレイヤ」のどちらかを優先にしておける
と大変便利かと思います。)
測定距離について、「単距離」「累寸距離」の2種類を同時に表示されると便利かと
思います。連続して測定するばあいには度々「CL」しなければ測定できないです。
いろいろと批評めいてしまい申し訳ないです。ただ、私のようなMA一本槍でのCAD
ライフではMAが完璧に近ければ近いほど、もう少し・・と言うところが残念でして
・・。
さて、本日の変形図形は 外構図に利用できるフェンス記号です。
ネタが少なくなってきたので、今日は1本だけで許してください。
#-----------------------------------------------------------------------
#フェンス(基礎ブロック表示)
zisun_set
input"始点の支柱 必要--0 不要--1"%data1="0"
input"支柱の間隔 1800--0 2000--1"%data2="1"
input"線の種類 破線--0 一点鎖線--1"%data3="1"
input"基礎の種類 小型--0 大型--1 控え付--2 無し--3"%data4="0"
%gpread_x1=-1000
%gpread_x2=1000
%gpread_y1=0
%gpread_y2=0
%l_col=2
%k_col=1
%l_lay=8
if %data3=0 then
%l_typ=3
endif
if %data3=1 then
%l_typ=5
endif
# 小型基礎
if %data4=0 then
%kisox1=-100
%kisox2=100
%kisoy1=-100
%kisoy2=100
endif
# 大型基礎
if %data4=1 then
%kisox1=-150
%kisox2=150
%kisoy1=-150
%kisoy2=150
endif
# 控え付基礎
if %data4=2 then
%kisox1=-100
%kisox2=100
%kisoy1=-450
%kisoy2=100
%hikaey1=0
%hikaey2=-350
endif
# 基礎無し
if %data4=3 then
%kisox1=0
%kisox2=0
%kisoy1=0
%kisoy2=0
endif
gpoint_read2
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
$readkakudo_set:%result_a
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%sn1=%result_a
#始点
if %data1=0 then
dot:0 :0:%l_col:%l_lay
arc:0 :0:30:1:0:360:0:%l_col:1:%l_lay
arc:0 :0:50:1:0:360:0:%l_col:1:%l_lay
line:%kisox1:%kisoy1:%kisox1:%kisoy2:0:%k_col:1:%l_lay
line:%kisox1:%kisoy2:%kisox2:%kisoy2:0:%k_col:1:%l_lay
line:%kisox2:%kisoy2:%kisox2:%kisoy1:0:%k_col:1:%l_lay
line:%kisox2:%kisoy1:%kisox1:%kisoy1:0:%k_col:1:%l_lay
line:0:%hikaey1:0:%hikaey2:0:%l_col:%l_typ:%l_lay
endif
#終点
dot:%sn1:0:%l_col:%l_lay
arc:%sn1:0:30:1:0:360:0:%l_col:1:%l_lay
arc:%sn1:0:50:1:0:360:0:%l_col:1:%l_lay
line:%sn1+%kisox1:%kisoy1:%sn1+%kisox1:%kisoy2:0:%k_col:1:%l_lay
line:%sn1+%kisox1:%kisoy2:%sn1+%kisox2:%kisoy2:0:%k_col:1:%l_lay
line:%sn1+%kisox2:%kisoy2:%sn1+%kisox2:%kisoy1:0:%k_col:1:%l_lay
line:%sn1+%kisox2:%kisoy1:%sn1+%kisox1:%kisoy1:0:%k_col:1:%l_lay
line:%sn1:%hikaey1:%sn1:%hikaey2:0:%l_col:%l_typ:%l_lay
#中
line:0:0:%sn1:0:0:%l_col:%l_typ:%l_lay
if %data2=1 then
%kankaku1=2000
endif
if %data2=0 then
%kankaku1=1800
endif
$bunkatu_atai:%sn1:%kankaku1:2
%kazu1=%result_a-1
%kankaku1=%result_x1
%kkaku1=%result_x2
loop %kazu1 do
dot:%kkaku1:0:%l_col:%l_lay
arc:%kkaku1:0:30:1:0:360:0:%l_col:1:%l_lay
arc:%kkaku1:0:50:1:0:360:0:%l_col:1:%l_lay
line:%kkaku1+%kisox1:%kisoy1:%kkaku1+%kisox1:%kisoy2:0:%k_col:1:%l_lay
line:%kkaku1+%kisox1:%kisoy2:%kkaku1+%kisox2:%kisoy2:0:%k_col:1:%l_lay
line:%kkaku1+%kisox2:%kisoy2:%kkaku1+%kisox2:%kisoy1:0:%k_col:1:%l_lay
line:%kkaku1+%kisox2:%kisoy1:%kkaku1+%kisox1:%kisoy1:0:%k_col:1:%l_lay
line:%kkaku1:%hikaey1:%kkaku1:%hikaey2:0:%l_col:%l_typ:%l_lay
%kkaku1=%kkaku1+%kankaku1
endloop
#-------------------------------------------------------------------------
>きっと、誰かが直してくれるだろうと他力本願・・・。
私か小森さんしかいないでしょう?(笑)
変更したのですが、長さが短いと上手くハッチ出来ないようです。(^^;)
>お願い事は、プルダウンから拾い上げる既入力済の数値データや文字データについてですが
作成方法をイメージして見ました。
何ともイメージだけでは色々な問題もあり
また複雑すぎて分からない・・が現状です。
色々実験してみて進めていくしか無いかなーと思います。
しかし・・・やっては見ましたが、
出来ないかも知れないし出来るかもしれない・・・が
今の私の答え方でしょうか?
(スキルの問題が・・(^^;))
それと、文字入力部分は出来ていたつもりでしたが、違ってましたっけ?(^^;)
>また、一つ変形図形UPします。
有り難うございます、頂きました。
かなり複雑な変形沢山作られているようですね。
これだけ理解されている方は私の周りにはいないようです。(^^)
牧野様 早速の添削有難うございました。あの部分私自身の能力不足でして、諦めていたん
です。 きっと、誰かが直してくれるだろうと他力本願・・・。
さて、牧野様にはドキドキしていただこうかと。
お願い事は、プルダウンから拾い上げる既入力済の数値データや文字データについてですが
どうも使いづらく、jwcやjwwの仕様が羨ましくて失礼を承知でお願いしてみようかと
思いました。 以前、牧野様ご自身が度々キー入力される派であることをお話されていたの
を思いだして無理かなぁと思いますが・・・。 よろしくお願いします。
また、一つ変形図形UPします。
#-----------------------------------------------------------------------
#軽鉄間仕切(壁芯を指定する)
zisun_set
input"タイプ 50-0 65-1 90-2 100-3"%data1=1
input"仕上張・クロス貼・塗装-0 捨張-1"%data2=0
input"始点 躯体付-0 開口部-1"%h_typ=0
input"終点 躯体付-0 開口部-1"%o_typ=0
%gpread_x1=-400
%gpread_x2=400
%gpread_y1=0
%gpread_y2=0
#軽鉄間仕切の色
%l_col=2
# 〃 のレイヤ
%l_lay=2
#スタッドの幅(%s_typ)
if %data1=0 then
%s_typ=25
%s_hab=112.5
endif
if %data1=1 then
%s_typ=32.5
%s_hab=142.5
endif
if %data1=2 then
%s_typ=45
%s_hab=192.5
endif
if %data1=3 then
%s_typ=50
%s_hab=212.5
endif
#スタッドの間隔(%s_pit)
if %data2=0 then
%s_pit=303
endif
if %data2=1 then
%s_pit=455
endif
#始点・終点の指定(壁芯指定)
gpoint_read2
#線角度の取得
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
$readkakudo_set:%result_a
#線長さの取得
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
if %o_typ=0 then
%sn1=%result_a-45
endif
if %o_typ=1 then
%sn1=%result_a-105
endif
#if %o_typ=2 then
# %sn1=%result_a-%s_hab
#endif
#始点
if %h_typ=0 then
line: 41: %s_typ-8 : 45: %s_typ-8 :0:%l_col:1:%l_lay
line: 45: %s_typ-8 : 45: %s_typ :0:%l_col:1:%l_lay
line: 45: %s_typ : 0: %s_typ :0:%l_col:1:%l_lay
line: 0: %s_typ : 0: %s_typ-8 :0:%l_col:1:%l_lay
line: 0: %s_typ-8 : 2: %s_typ-10:0:%l_col:1:%l_lay
line: 2: %s_typ-10: 2:-%s_typ+10:0:%l_col:1:%l_lay
line: 2:-%s_typ+10: 0:-%s_typ+8 :0:%l_col:1:%l_lay
line: 0:-%s_typ+8 : 0:-%s_typ :0:%l_col:1:%l_lay
line: 0:-%s_typ : 45:-%s_typ :0:%l_col:1:%l_lay
line: 45:-%s_typ : 45:-%s_typ+8 :0:%l_col:1:%l_lay
line: 45:-%s_typ+8 : 41:-%s_typ+8 :0:%l_col:1:%l_lay
endif
if %h_typ=1 then
line:101: %s_typ-8 :105: %s_typ-8 :0:%l_col:1:%l_lay
line:105: %s_typ-8 :105: %s_typ :0:%l_col:1:%l_lay
line:105: %s_typ : 60: %s_typ :0:%l_col:1:%l_lay
line: 60: %s_typ : 60: %s_typ-8 :0:%l_col:1:%l_lay
line: 60: %s_typ-8 : 62: %s_typ-10:0:%l_col:1:%l_lay
line: 62: %s_typ-10: 62:-%s_typ+10:0:%l_col:1:%l_lay
line: 62:-%s_typ+10: 60:-%s_typ+8 :0:%l_col:1:%l_lay
line: 60:-%s_typ+8 : 60:-%s_typ :0:%l_col:1:%l_lay
line: 60:-%s_typ :105:-%s_typ :0:%l_col:1:%l_lay
line:105:-%s_typ :105:-%s_typ+8 :0:%l_col:1:%l_lay
line:105:-%s_typ+8 :101:-%s_typ+8 :0:%l_col:1:%l_lay
#補強材
line: 60: %s_typ : 30: %s_typ :0:%l_col:1:%l_lay
line: 30: %s_typ : 30:-%s_typ :0:%l_col:1:%l_lay
line: 30:-%s_typ : 60:-%s_typ :0:%l_col:1:%l_lay
endif
if %h_typ=2 then
line:%s_hab+41: %s_typ-8 :%s_hab+45: %s_typ-8 :0:%l_col:1:%l_lay
line:%s_hab+45: %s_typ-8 :%s_hab+45: %s_typ :0:%l_col:1:%l_lay
line:%s_hab+45: %s_typ :%s_hab : %s_typ :0:%l_col:1:%l_lay
line:%s_hab : %s_typ :%s_hab : %s_typ-8 :0:%l_col:1:%l_lay
line:%s_hab : %s_typ-8 :%s_hab+2 : %s_typ-10:0:%l_col:1:%l_lay
line:%s_hab+2 : %s_typ-10:%s_hab+2 :-%s_typ+10:0:%l_col:1:%l_lay
line:%s_hab+2 :-%s_typ+10:%s_hab :-%s_typ+8 :0:%l_col:1:%l_lay
line:%s_hab :-%s_typ+8 :%s_hab :-%s_typ :0:%l_col:1:%l_lay
line:%s_hab :-%s_typ :%s_hab+45:-%s_typ :0:%l_col:1:%l_lay
line:%s_hab+45:-%s_typ :%s_hab+45:-%s_typ+8 :0:%l_col:1:%l_lay
line:%s_hab+45:-%s_typ+8 :%s_hab+41:-%s_typ+8 :0:%l_col:1:%l_lay
endif
#終点
if %o_typ=0 then
line:%sn1+4 : %s_typ-8 :%sn1 : %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1 : %s_typ-8 :%sn1 : %s_typ :0:%l_col:1:%l_lay
line:%sn1 : %s_typ :%sn1+45: %s_typ :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ :%sn1+45: %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ-8 :%sn1+43: %s_typ-10:0:%l_col:1:%l_lay
line:%sn1+43: %s_typ-10:%sn1+43:-%s_typ+10:0:%l_col:1:%l_lay
line:%sn1+43:-%s_typ+10:%sn1+45:-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ+8 :%sn1+45:-%s_typ :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ :%sn1 :-%s_typ :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ :%sn1 :-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ+8 :%sn1+4 :-%s_typ+8 :0:%l_col:1:%l_lay
endif
if %o_typ=1 then
line:%sn1+4 : %s_typ-8 :%sn1 : %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1 : %s_typ-8 :%sn1 : %s_typ :0:%l_col:1:%l_lay
line:%sn1 : %s_typ :%sn1+45: %s_typ :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ :%sn1+45: %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ-8 :%sn1+43: %s_typ-10:0:%l_col:1:%l_lay
line:%sn1+43: %s_typ-10:%sn1+43:-%s_typ+10:0:%l_col:1:%l_lay
line:%sn1+43:-%s_typ+10:%sn1+45:-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ+8 :%sn1+45:-%s_typ :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ :%sn1 :-%s_typ :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ :%sn1 :-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ+8 :%sn1+4 :-%s_typ+8 :0:%l_col:1:%l_lay
#補強材
line:%sn1+45: %s_typ :%sn1+70: %s_typ :0:%l_col:1:%l_lay
line:%sn1+70: %s_typ :%sn1+70:-%s_typ :0:%l_col:1:%l_lay
line:%sn1+70:-%s_typ :%sn1+45:-%s_typ :0:%l_col:1:%l_lay
endif
if %o_typ=2 then
line:%sn1+4 : %s_typ-8 :%sn1 : %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1 : %s_typ-8 :%sn1 : %s_typ :0:%l_col:1:%l_lay
line:%sn1 : %s_typ :%sn1+45: %s_typ :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ :%sn1+45: %s_typ-8 :0:%l_col:1:%l_lay
line:%sn1+45: %s_typ-8 :%sn1+43: %s_typ-10:0:%l_col:1:%l_lay
line:%sn1+43: %s_typ-10:%sn1+43:-%s_typ+10:0:%l_col:1:%l_lay
line:%sn1+43:-%s_typ+10:%sn1+45:-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ+8 :%sn1+45:-%s_typ :0:%l_col:1:%l_lay
line:%sn1+45:-%s_typ :%sn1 :-%s_typ :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ :%sn1 :-%s_typ+8 :0:%l_col:1:%l_lay
line:%sn1 :-%s_typ+8 :%sn1+4 :-%s_typ+8 :0:%l_col:1:%l_lay
endif
#中
$bunkatu_atai:%sn1:%s_pit:3
%kazu1=%result_a-1
%kankaku1=%result_x1
%kkaku1=%result_x2
loop %kazu1 do
line:%kkaku1+41: %s_typ-8 :%kkaku1+45: %s_typ-8 :0:%l_col:1:%l_lay
line:%kkaku1+45: %s_typ-8 :%kkaku1+45: %s_typ :0:%l_col:1:%l_lay
line:%kkaku1+45: %s_typ :%kkaku1 : %s_typ :0:%l_col:1:%l_lay
line:%kkaku1 : %s_typ :%kkaku1 : %s_typ-8 :0:%l_col:1:%l_lay
line:%kkaku1 : %s_typ-8 :%kkaku1+2 : %s_typ-10:0:%l_col:1:%l_lay
line:%kkaku1+2 : %s_typ-10:%kkaku1+2 :-%s_typ+10:0:%l_col:1:%l_lay
line:%kkaku1+2 :-%s_typ+10:%kkaku1 :-%s_typ+8 :0:%l_col:1:%l_lay
line:%kkaku1 :-%s_typ+8 :%kkaku1 :-%s_typ :0:%l_col:1:%l_lay
line:%kkaku1 :-%s_typ :%kkaku1+45:-%s_typ :0:%l_col:1:%l_lay
line:%kkaku1+45:-%s_typ :%kkaku1+45:-%s_typ+8 :0:%l_col:1:%l_lay
line:%kkaku1+45:-%s_typ+8 :%kkaku1+41:-%s_typ+8 :0:%l_col:1:%l_lay
%kkaku1=%kkaku1+%kankaku1
endloop
#--------------------------------------------------------------------------
こんばんは。
> 久々で、またもや変形図形を作ってみました。
> 少し時間ができましたので、横着に製図作業ができればと思いました。
公開ありがとうございます。m(_ _)m
全て頂きました。
> 今回は建築屋の使う測量3部作です。よかったら使ってみて感想お聞かせください。
すべてループ使用されていますね。
おーお。(^^)
法面は3点目の距離で幅長さが決まるようですね。。便利です。
ガードレールも支柱が@2m以下で均等に分割されて便利です。
ブロック塀も分割だけでなくハッチングまでされて便利です。
あ,ブロック塀で最後のハッチングがはみ出る場合があるようですね。
ちょっと私なりに変更して見ました。どうでしょう?(^^;)
> また、牧野様にはお願い事がありますのでそのときはよろしく・・・。
な。。。 何でしょうか? ( ;^_^Aドキドキ
念のため分からない方の為に
↓macadに変形図形データーを取り込む方法
http://www3.rocketbbs.com/731/bbs.cgi?id=3938646&mode=res&no=137
以下データー
ブロック塀2 (塀の壁芯を2点指示)
#実寸に設定
zisun_set
input"塀の厚さ 100--0 120--1 150--2"%data1="0"
if %data1=0 then
%data2=50
endif
if %data1=1 then
%data2=60
endif
if %data1=2 then
%data2=75
endif
%gpread_x1=-1000
%gpread_x2=1000
%gpread_y1=0
%gpread_y2=0
gpoint_read2
$sen_kakudo:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%kaku=%result_a
$readkakudo_set:%kaku
$sen_nagasa:%gpread_x1:%gpread_y1:%gpread_x2:%gpread_y2
%nagasa=%result_a
#延長方向
line:0:-%data2 :0 :%data2 :0:5:1:8
line:0:-%data2 :%nagasa:-%data2 :0:5:1:8
line:0:%data2 :%nagasa:%data2 :0:5:1:8
line:%nagasa:-%data2:%nagasa:%data2:0:5:1:8
#分割線
bunkatusen2:0:-%data2:0:%data2:%nagasa:-%data2:%nagasa:%data2:400:0:2:5:1:8
$bunkatu_atai:%nagasa:400:2
%kazu1=%result_a/2
$atai_marume:%kazu1:0:1
%kazu2=%result_a-1
#%kankaku1=%result_x1
#%kkaku1=%result_x2
%cnt1=1
loop %kazu2 do
hatch1:(%cnt1*2-2)*400:-%data2:(%cnt1*2-1)*400:%data2:50:50:45:3:6:1:8
%cnt1=%cnt1+1
endloop
%LL1=(%cnt1*2-2)*400
%LL2=%nagasa-%LL1
#moji:0:320:0:2:6:0:%LL2:-1
if %LL2>=400 then
hatch1:(%cnt1*2-2)*400:-%data2:(%cnt1*2-1)*400:%data2:50:50:45:3:6:1:8
endif
if %LL2<400 then
hatch1:(%cnt1*2-2)*400:-%data2:%nagasa:%data2:50:50:45:3:6:1:8
endif