Indexへ
(13490)//【13496】→(13497)
------------------------
【タイトル】バルーンの線記号変形について
【記事番号】 13496 (*)
【 日時 】08/07/29 11:16
【 発言者 】art

お世話になります。
今三斜による面積を算定しているのですが、外部変形で三斜の図面を作成すると込み入った三角形のヶ所は、○+数字が重なってしまい見づらいので、三角形内から○+文字を引き出そうと思っています。
結構な数の三斜を行っているので、○+数字の引き出しは、線記号変形で行おうと思うのですが、線分(角度、長さが自在)+数字は探したのですが、○+数字+引き出し線の組み合わせの線記号変形は探すことが出来ませんでした。
ごぞんじの方がおられれば教えて頂けないでしょうか。当方がイメージしているのは以下の通りです。
1.三斜の三角形内の任意点をクリック
2.○+数字の引き出し位置をクリック(線分は○の円周上から引き出され角度、長さ自在)
3.次の作業。(数字は、自動で増加)
以上です。よろしくお願い致します。


Indexへ
(13496)←【13497】→(13499)
------------------------
【タイトル】Re(1):バルーンの線記号変形について
【記事番号】 13497 (13496)
【 日時 】08/07/29 13:47
【 発言者 】Den
【 リンク 】http://den.konjiki.jp/



▼artさん:
>1.三斜の三角形内の任意点をクリック
>2.○+数字の引き出し位置をクリック(線分は○の円周上から引き出され角度、長さ自在)
>3.次の作業。(数字は、自動で増加)

線記号変形では角度のフリーは難しいのでは?
以下の形式なら出来ますよ。
1.三斜の三角形内の任意点をクリック
2.○+数字の引き出し位置をクリック(長さ自在、角度は約60度固定)
3.次の作業。(数字は、自動で増加)

--------ここから Jw_opt4o.dat としてデータ作成-----
#連番バルーン
#
100
999

0
762 4.041452 7
00 00 0     0 0.536 2
00 00 0     0 1.464 1.464
00 06 0     0 2.791451 4.834936
06 00 4.041452 7  0 360 0 0 -11 e 2.5
06 06 4.041452 7 20  7 10000 403 -11 "1
10000 2
999

0
762 4.041452 7
00 00 0     0 0.536 2
00 00 0     0 1.464 1.464
00 06 0     0 2.791451 4.834936
06 00 4.041452 7  0 360 0 0 -11 e 2.5
06 06 4.041452 7 20  7 10000 403 -11 "2
10000 3
999

0
762 4.041452 7
00 00 0     0 0.536 2
00 00 0     0 1.464 1.464
00 06 0     0 2.791451 4.834936
06 00 4.041452 7  0 360 0 0 -11 e 2.5
06 06 4.041452 7 20  7 10000 403 -11 "3
10000 4
999
---------------------------------------------------

番号の追加は末尾の2箇所を適宜変更してください
06 06 4.041452 7 20  7 10000 403 -11 "3<----これ
10000 4<----これ
999


Indexへ
(13497)←【13499】→(13501)
------------------------
【タイトル】Re(2):バルーンの線記号変形について
【記事番号】 13499 (13497)
【 日時 】08/07/29 20:16
【 発言者 】art

▼Denさん:
ご無沙汰しております。
早々に解答して頂きありがとうございます。
早速試してみました。うまくいきました。
s=1/500の平面図を使って一日がかりで約1000個の三角形に
底辺と高さと番号を書き込みました。その殆どは、番号が重なっているので
今回教えて頂いた線記号変形を使って番号の引き出しを明日行おうと思います。
ちなみに今までは、書き込んだ番号を一つ一つ移動し円周から線分を指定の三角形
まで引き出していましたので編集作業が大変でした。
これで効率がさらに上がります。
ありがとうございました。

一つ分からない点ですが、
線分の引き出し角度の指定の仕方はどのようにすればよいのでしょうか。
よろしくお願い致します。


Indexへ
(13499)←【13501】→(13502)
------------------------
【タイトル】Re(1):バルーンの線記号変形について
【記事番号】 13501 (13496)
【 日時 】08/07/30 09:19
【 発言者 】めばる

▼artさん:
ご希望に添えるかどうかわかりませんが
角度は自由です。
私の使っているものです。よかったら使ってみてください。

#48
0   引出線(任意)+円文字
760 4  8   
00  05  0  0  4  8 1 1 4
06 00  4  8  0  360 3  1 -11 e 2.5
21006 06  4  8  20  8  10000 403 "1"+
10000  49
999

#49
0   矢印
760  0  0
10  10  0  0  
01  01  0  0  -1.800   0.482 1 1 4
01  01  0  0  -1.800  -0.482 1 1 4
10000 50
999
#50
0  線伸縮
110 01  0 0  -2.5 0 1 1 4
10000 48
999


Indexへ
(13501)←【13502】→(13503)
------------------------
【タイトル】Re(2):バルーンの線記号変形について
【記事番号】 13502 (13501)
【 日時 】08/07/30 11:09
【 発言者 】art

▼めばるさん:
回答頂きありがとうございます。

一旦、○の中心から線分を引き出してその後に線分を伸縮するのですね。
目から鱗でした。
ありがとうございました。


Indexへ
(13502)←【13503】→(13504)
------------------------
【タイトル】Re(1):バルーンの線記号変形について
【記事番号】 13503 (13496)
【 日時 】08/07/30 12:15
【 発言者 】スター

▼artさん:
>お世話になります。
>今三斜による面積を算定しているのですが、外部変形で三斜の図面を作成すると込み入った三角形のヶ所は、○+数字が重なってしまい見づらいので、三角形内から○+文字を引き出そうと思っています。
>結構な数の三斜を行っているので、○+数字の引き出しは、線記号変形で行おうと思うのですが、線分(角度、長さが自在)+数字は探したのですが、○+数字+引き出し線の組み合わせの線記号変形は探すことが出来ませんでした。
>ごぞんじの方がおられれば教えて頂けないでしょうか。当方がイメージしているのは以下の通りです。
>1.三斜の三角形内の任意点をクリック
>2.○+数字の引き出し位置をクリック(線分は○の円周上から引き出され角度、長さ自在)
>3.次の作業。(数字は、自動で増加)
>以上です。よろしくお願い致します。

バルーンを使用するのであれば元の外変で作図される楕円と番号はどうするのですか?
下記に楕円を円に変更する記述があります。
http://hpcgi2.nifty.com/jw_cad/c-board.cgi?cmd=ntr;tree=29987;id=004

また拙作の番号と楕円(円)のみを他のレイヤに移動する外変(三斜番号移動)も有効かも(但しCドライブでしか作動しません。)
http://www.farchi.jp/

以下は私の方法です。
三斜以外でも同様な作業、例えば現場写真撮影位置などの場合実行することが良くあります。
あらかじめ○1、○2・・・等の図形を連番で作成しておきます。
○1、○2それぞれを単独で曲線化しておく方がいいです。
これを置きたい位置に順に置きます。
やはり微調整は必要で全てを置かないと位置が確定しません。
これがあるためにバルーンを使わないのです。

そのあとに矢印を引きます。
環境設定ファイルの線端矢印を継続するモードにしておきます。
S_COMM_1 =  60  1  0  0  0  11  10 111  1
6番目の十の位:線コマンドの矢印チェック等のクリアー

寸法設定で矢の大きさを変更してから、線作画で各円を右0時ドラッグで円周点とし、目標点まで作図する。


Indexへ
(13503)←【13504】→(13507)
------------------------
【タイトル】Re(2):バルーンの線記号変形について
【記事番号】 13504 (13503)
【 日時 】08/07/30 17:07
【 発言者 】art

▼スターさん:
 お世話になります。
 三斜三角形作成の外部変形は、いつも使わせて頂いております。
 ありがとうございます。
 今回は、s=1/500の平面図で管路敷設後の約L=2.0kmの道路全面復旧用に
求積を行っております。
 三斜による求積作業は、「三斜三角形作成」+「gHeron」にて行っております。
(両作者様に感謝です。)
 この組み合わせによる効率の良さは、絶大でして、今回の矩形を三角形にし求積
まで行った作業は、ほぼ半日で行えました。
 チェック作業に求積範囲の塗り潰しをソリッドで行い、これを求積し比較して作業完了です。ほぼ、1日で完了でした。
 手間が掛かるのは、ここからでして小さな三角形の密集ヶ所で番号同士の重複が有る場合に必要な番号の引き出しの作業です。
 今までは、移動のコマンドで番号を適当なヶ所に移動した後、○の円周から線分を引き出して三角形を指示していました。
今回の移動の必要な番号の数が、約1000個近いので別の方法がないか模索中でした。
 外部変形で書き込まれた番号を編集するのか、線記号変形などで新たに番号を入力し元の番号は、消してしまうか(レイヤーが分かれているので簡単に行えます。)考え所です。
 今回は、いろいろとヒントも頂いたので線記号変形で編集してみようと思います。これだと、必要な番号から連番が出来るので助かります。○の円周上から線分を出すのは難しい見たいですが、ワンクリックで線分が伸縮すれば効率は、さほど落ちないのではないかと思います。
 ちなみに現場状況写真用の位置図に使う○+数字の連番の外部変形は別途有ります。この外部変形もよく使うのですが、基準となる番号の指示の外部変形と連番の外部変形が別なため今回のように100番〜111番次は、115番〜118番というように頻繁に基準の番号が変わる場合には、効率が悪いため使用しないつもりです。(作者様、感謝です。)
長々と書いてしまいましたが、以上経過報告でした。


Indexへ
(13504)←【13507】→(13508)
------------------------
【タイトル】Re(3):バルーンの線記号変形について
【記事番号】 13507 (13504)
【 日時 】08/07/30 18:00
【 発言者 】ban

▼artさん:
>▼スターさん:
> お世話になります。
> 三斜三角形作成の外部変形は、いつも使わせて頂いております。
> ありがとうございます。
> 今回は、s=1/500の平面図で管路敷設後の約L=2.0kmの道路全面復旧用に
>求積を行っております。
> 三斜による求積作業は、「三斜三角形作成」+「gHeron」にて行っております。
>(両作者様に感謝です。)
> この組み合わせによる効率の良さは、絶大でして、今回の矩形を三角形にし求積
>まで行った作業は、ほぼ半日で行えました。
> チェック作業に求積範囲の塗り潰しをソリッドで行い、これを求積し比較して作業完了です。ほぼ、1日で完了でした。
> 手間が掛かるのは、ここからでして小さな三角形の密集ヶ所で番号同士の重複が有る場合に必要な番号の引き出しの作業です。
> 今までは、移動のコマンドで番号を適当なヶ所に移動した後、○の円周から線分を引き出して三角形を指示していました。
>今回の移動の必要な番号の数が、約1000個近いので別の方法がないか模索中でした。
> 外部変形で書き込まれた番号を編集するのか、線記号変形などで新たに番号を入力し元の番号は、消してしまうか(レイヤーが分かれているので簡単に行えます。)考え所です。
> 今回は、いろいろとヒントも頂いたので線記号変形で編集してみようと思います。これだと、必要な番号から連番が出来るので助かります。○の円周上から線分を出すのは難しい見たいですが、ワンクリックで線分が伸縮すれば効率は、さほど落ちないのではないかと思います。
> ちなみに現場状況写真用の位置図に使う○+数字の連番の外部変形は別途有ります。この外部変形もよく使うのですが、基準となる番号の指示の外部変形と連番の外部変形が別なため今回のように100番〜111番次は、115番〜118番というように頻繁に基準の番号が変わる場合には、効率が悪いため使用しないつもりです。(作者様、感謝です。)
>長々と書いてしまいましたが、以上経過報告でした。

『y-chans room』の『Jw_cad Blog』で今回の話題、『引出し線付バルーン』に対する線記号変形を紹介されています。
但し、
>2.○+数字の引き出し位置をクリック(線分は○の円周上から引き出され角度、長さ自在)
の条件の内、『線分は○の円周上から引き出され』の部分が、
○の右又は左に短い水平の直線を引き出し、そこに任意角度、長さ自在の直線を
接属する形となっています。
番号は毎回、文字入力が出ますがマウスクリックで前回+1となります。
http://www.y-chan.net/


Indexへ
(13507)←【13508】→(13509)
------------------------
【タイトル】Re(3):バルーンの線記号変形について
【記事番号】 13508 (13504)
【 日時 】08/07/30 19:01
【 発言者 】hayabusa

こんにちは。
一部訂正をしました。

外部変形で同様な処理をする場合下記のようになります。
線記号変形による手法とはまた違った趣になると思いますの
で参考にしてください。

スクリプトはmswin32ruby1.6〜1.8系で動作します。
----外部変形概略----
1.この外部変形は選択した円枠、番号を指定位置まで移動し
 既存の円枠、番号は削除します。
2.対象は全グループです。
3.移動後の番号、円枠、引出線は移動前の属性を継承します。
4.範囲選択した時、円枠は一部範囲内にあれば取得できます。
5.横文字、円を複数選択するとエラーとなります。

以下、Lite & Seen Lite のMiyakeさんの手法に基づくスクリプト兼用バッチファイルです。

バッチファイル名は「番号円枠移動.bat」等適当な名前にしてください。
######下記よりメモ帳にコピペして全角スペース→半角スペースの置換をしてください。
@REM 番号&円枠移動
@echo off
REM #jww
REM #cd
REM #h2
REM #g1 全グループ対象(書込みグレープのみ場合は g0 )
REM #hc 移動する番号と円枠の一部を範囲選択( ※ 左クリックで確定 ※ )
REM #0 移動先をマウス指示 (L)free (R)Read
REM #ht10 ブロック図形の書出しをしない
REM #ht40 ソリッドの書出しをしない
REM #zz
REM #zc
REM #zw
REM #bz
REM #e
:do1
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
del temp.txt
rem pause
exit
goto END
#!ruby -Ks
lgs,lys,lcs,lts,cns,bangou,waku = [],[],[],[],[],[],[]
while ARGF.gets
 ele = split
 if ele[0] =~ /^hq/
  puts "hd"; puts "bz"
 elsif ele[0] =~ /^lg/
  print
  lgs << ele[0]
 elsif ele[0] =~ /^ly/
  print
  lys << ele[0]
 elsif ele[0] =~ /^lc/
  print
  lcs << ele[0]
 elsif ele[0] =~ /^lt/
  print
  lts << ele[0]
 elsif ele[0] =~ /^cn/
  print
  cns << $_
 elsif ele[0] == "ch"
  no = $_.index(/\"/)
  ele[1],ele[2] = sprintf("%0.9f",ele[1]).to_f,sprintf("%0.9f",ele[2]).to_f
  bangou << [lgs[-1],lys[-1],cns[-1],0,ele[0],ele[1],ele[2],ele[3],ele[4],$_[no..-1].strip]
  if bangou.size >= 2
   puts "he 横文字が複数選択されています。"; exit
  end
 elsif ele[0] == "ci"
  if ele.size == 4
   waku << [lgs[-1],lys[-1],lcs[-1],lts[-1],ele[0],ele[1],ele[2],ele[3],0,360,1,0]
   if waku.size >= 2
    puts "he 円が複数選択されています。"; exit
   end
  else
   print
  end
 else
  print
 end
end
if bangou.size == 0
 puts "he 番号が選択されていません。"; exit
end
if waku.size == 0
 puts "he 円枠が選択されていません。"; exit
end
x1,y1,er = waku[0][5].to_f,waku[0][6].to_f,waku[0][7].to_f
ln = (x1**2+y1**2)**0.5; dx,dy = x1/ln*er,y1/ln*er
puts waku[0][0]; puts waku[0][1]; puts waku[0][2]; puts waku[0][3]
puts [dx,dy,x1,y1].join("\s")
waku[0][5],waku[0][6],bangou[0][5],bangou[0][6] = 0,0,0,0
puts waku[0][4..-1].join("\s")
puts "cc4"; puts bangou[0][0]; bangou[0][1]; bangou[0][2]
puts bangou[0][4..-1].join("\s")
puts lgs[0]; puts lys[0]; puts "hr"
:END
#############以上です。


Indexへ
(13508)←【13509】→(13511)
------------------------
【タイトル】Re(3):バルーンの線記号変形について
【記事番号】 13509 (13504)
【 日時 】08/07/30 19:48
【 発言者 】art

ban さん
情報ありがとうございます。
○の円周上からにこだわらなければ十分な内容でした。

hayabusa さん
外部変形まで作って頂いてありがとうございました。
選択後に引き出しの位置が仮表示が出て明示的に選べるともっと使い勝手が良くなると思いました。
でも数回のクリックで○+数字が引き出し線付きで出てくるところはびっくりしました。

大事に使わせて頂きます。ありがとうございました。


Indexへ
(13509)←【13511】→(13512)
------------------------
【タイトル】Re(4):バルーンの線記号変形について
【記事番号】 13511 (13509)
【 日時 】08/07/31 10:24
【 発言者 】hayabusa

▼artさん:
>選択後に引き出しの位置が仮表示が出て明示的に選べるともっと使い勝手が良くなると思いました。

こんにちは。

指示点間の仮線の描画をする為には現状のデータ選択方式ではできませんので下記の
ように修正しました。
今回の方が画面内ですべて操作で出来るので多少時間の短縮につながると思います。

尚、引出線端部設定もバッチフアイルに追加しました。

バッチファイル名は「番号円枠移動.bat」等適当な名前にしてください。
######下記よりメモ帳にコピペして全角スペース→半角スペースの置換をしてください。
@REM 番号&円枠移動
@echo off
REM #jww
REM #cd
REM #h0
REM #g1 全グループ対象(書込みグレープのみ場合は g0 )
REM #1ci 移動する円枠をマウス指示(L)
REM #2ch 移動する番号をマウス指示(L)
REM #3- 引出線の始点をマウス指示 (L)free (R)Read
REM #4 移動先をマウス指示 (L)free (R)Read
REM #zz
REM #zc
REM #zw
REM #bz
REM #e
:do1
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
del temp.txt
rem pause
exit
goto END
#!ruby -Ks
#============= 設 定 =============================================
#
$tanbu = "on2"  #引出線端部作図設定(off≡設定無)
#         on1≡実点; on2≡矢印
$arrow_l= 3   #矢印長さ(図寸 mm)
$arrow_k= 15   #矢印角度(度小数)
#=================================================================
if $tanbu != "off" && $tanbu !~ /^on[1-2]/
 puts "he 引出線端部作図設定エラー。"; exit
end
include Math
lgs,lys,lcs,lts,lws,cns = [],[],[],[],[],[]
while ARGF.gets
 ele = split
 if ele[0] =~ /^hq/
  puts "hd"; puts "bz"
 elsif ele[0] =~ /^lg/
  print
  lgs << ele[0]
 elsif ele[0] =~ /^ly/
  print
  lys << ele[0]
 elsif ele[0] =~ /^lc/
  print
  lcs << ele[0]
 elsif ele[0] =~ /^lt/
  print
  lts << ele[0]
 elsif ele[0] =~ /^lw/
  print
  lws << ele[0]
 elsif ele[0] =~ /^cn/
  print
  cns << $_
 elsif ele[0] =~ /^hp3/
  x1,y1 = ele[1].to_f,ele[2].to_f
 elsif ele[0] =~ /^hp4/
  x2,y2 = ele[1].to_f,ele[2].to_f
 elsif ele[0] == "ch"
  no = $_.index(/\"/)
  bangou = [lgs[-1],lys[-1],cns[-1],0,0,ele[0],ele[1],ele[2],ele[3],ele[4],$_[no..-1].strip]
 elsif ele[0] == "ci"
  if ele.size == 4
   waku = [lgs[-1],lys[-1],lcs[-1],lts[-1],lws[-1],ele[0],ele[1],ele[2],ele[3],0,360,1,0]
  else
   print
  end
 else
  print
 end
end
if bangou == nil
 puts "he 番号が選択されていません。"; exit
end
if waku == nil
 puts "he 円枠が選択されていません。"; exit
end
er = waku[8].to_f
ln = ((x2-x1)**2+(y2-y1)**2)**0.5; dx,dy = (x2-x1)/ln*er,(y2-y1)/ln*er
puts waku[0]; puts waku[1]; puts waku[2]; puts waku[3]; puts waku[4]
puts [x2-dx,y2-dy,x1,y1].join("\s")
if $tanbu == "on1"
 puts "pn"+waku[2][2..-1]; puts ["pt",x1,y1].join("\s")
elsif $tanbu == "on2"
 k0,k1,kl = atan2(dy,dx),($arrow_k.to_f)*PI/180.0,$arrow_l.to_f
 ar1x,ar1y = kl*cos(k0-k1),kl*sin(k0-k1)
 ar2x,ar2y = kl*cos(k0+k1),kl*sin(k0+k1)
 puts [ar1x+x1,ar1y+y1,x1,y1].join("\s")
 puts [ar2x+x1,ar2y+y1,x1,y1].join("\s")
end
waku[6],waku[7],bangou[6],bangou[7] = x2,y2,x2,y2
puts waku[5..-1].join("\s")
puts "cc4"; puts bangou[0]; puts bangou[1]; puts bangou[2]
puts bangou[5..-1].join("\s")
puts lgs[0]; puts lys[0]; puts "hr"
:END
############以上です。


Indexへ
(13511)←【13512】//(13505)
------------------------
【タイトル】Re(5):バルーンの線記号変形について
【記事番号】 13512 (13511)
【 日時 】08/07/31 10:59
【 発言者 】art

▼hayabusaさん:
お世話になります。改良版の外部変形 大変良い感じです。
線記号変形での操作イメージとは少し違いますが、クリック数と作業のし易さや
動作結果は、思っていた通りです。
貴重な外部変形を作って頂いてありがとうございました。
早速編集作業に取りかかりたいと思います。