MENU
256,415

スレッドNo.159

ごぶさたです

 久々で、またもや変形図形を作ってみました。
今回は建築屋の使う測量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

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

このスレッドに返信

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

ロケットBBS

Page Top