Indexへ
(624)//【623】→(626)
------------------------
【タイトル】写真方向番号図の作成。
【記事番号】 623 (*)
【 日時 】05/03/30 17:51
【 発言者 】aki

線記号変形で矢印と○の中の数字を連番で入れています。方向が一定なので回転かけるのですが、数字も回転して手直しがとても多くなります。
2点の方向を自由に決められて数字が回転せずに一定方向にするには、どうしたらよいでしょう?


Indexへ
(623)←【626】→(632)
------------------------
【タイトル】Re(1):写真方向番号図の作成。
【記事番号】 626 (623)
【 日時 】05/03/30 21:18
【 発言者 】幡

数字は「編集-データ整理-文字角度整理」で最後にまとめて直したらいいと思います。


Indexへ
(626)←【632】→(638)
------------------------
【タイトル】線記号変形で角度指定せずに任意方向指定できないか?
【記事番号】 632 (626)
【 日時 】05/03/31 08:16
【 発言者 】aki

▼幡さん:ありがとうございます。これで○の中の文字は一括して整理できますね。

ほんとは、線記号変形で角度指定せずに任意方向指定できる方法があればよいのですが。
自分で作ってもいいのですが、初心者のせいかどうも不可能な様な気がします。
8種類ほど方向を作って置くしかないのでしょうか?

>数字は「編集-データ整理-文字角度整理」で最後にまとめて直したらいいと思います。


Indexへ
(632)←【638】→(639)
------------------------
【タイトル】Re(1):線記号変形で角度指定せずに任意方向指定できないか?
【記事番号】 638 (632)
【 日時 】05/03/31 12:00
【 発言者 】コジマ

▼akiさん:
>ほんとは、線記号変形で角度指定せずに任意方向指定できる方法があればよいのですが。
>自分で作ってもいいのですが、初心者のせいかどうも不可能な様な気がします。

私も、以前に挑戦しましたが、不可能なようです。

妥協案として、以下のようにしました。

最初に引き出し線は「線」コマンドの(→)で描いておきます。

以下の線記号変形で、連番の丸文字を記入していく。

#連番 ○1~
#
28
999
1  1 番号名
110 01  -12   0  -4 0
00 00   0   0  0 360   0  0 -11  e 4
21000 00   0   0  10  0  10000 404 "1"+
999


>8種類ほど方向を作って置くしかないのでしょうか?

それも、一案ですかね?
(角度合わせがメンドーな気がしないでもないですが)


Indexへ
(638)←【639】→(652)
------------------------
【タイトル】Re(2):線記号変形で角度指定せずに任意方向指定できないか?
【記事番号】 639 (638)
【 日時 】05/03/31 12:24
【 発言者 】aki

▼コジマさん:妥協案どうもありがとうございました。コピーさせてもらいますね。
>▼akiさん:
>>ほんとは、線記号変形で角度指定せずに任意方向指定できる方法があればよいのですが。
>>自分で作ってもいいのですが、初心者のせいかどうも不可能な様な気がします。
>
>私も、以前に挑戦しましたが、不可能なようです。
>
>妥協案として、以下のようにしました。
>
>最初に引き出し線は「線」コマンドの(→)で描いておきます。
>
>以下の線記号変形で、連番の丸文字を記入していく。
>
>#連番 ○1~
>#
>28
>999
>1  1 番号名
>110 01  -12   0  -4 0
>00 00   0   0  0 360   0  0 -11  e 4
>21000 00   0   0  10  0  10000 404 "1"+
>999
>
>
>>8種類ほど方向を作って置くしかないのでしょうか?
>
>それも、一案ですかね?
>(角度合わせがメンドーな気がしないでもないですが)


Indexへ
(639)←【652】→(667)
------------------------
【タイトル】Re(2):線記号変形で角度指定せずに任意方向指定できないか?
【記事番号】 652 (638)
【 日時 】05/03/31 17:33
【 発言者 】aki

▼コジマさん:
さっそくやってみましたが、文字入力する際に常に1”+と表示され連番にはなりませんでした。
>
>私も、以前に挑戦しましたが、不可能なようです。
>
>妥協案として、以下のようにしました。
>
>最初に引き出し線は「線」コマンドの(→)で描いておきます。
>
>以下の線記号変形で、連番の丸文字を記入していく。
>
>#連番 ○1~
>#
>28
>999
>1  1 番号名
>110 01  -12   0  -4 0
>00 00   0   0  0 360   0  0 -11  e 4
>21000 00   0   0  10  0  10000 404 "1"+
>999
>
>
>>8種類ほど方向を作って置くしかないのでしょうか?
>
>それも、一案ですかね?
>(角度合わせがメンドーな気がしないでもないですが)


Indexへ
(652)←【667】→(669)
------------------------
【タイトル】全角スペースを一括置換
【記事番号】 667 (652)
【 日時 】05/04/01 09:54
【 発言者 】コジマ

▼akiさん:
>▼コジマさん:
>さっそくやってみましたが、文字入力する際に常に1”+と表示され連番にはなりませんでした。

この掲示板を経由してコピペすると、半角スペース2個分が、全角スペースに置換されます。

コピペ後、全角スペースを半角スペースに一括置換してください。


Indexへ
(667)←【669】→(675)
------------------------
【タイトル】ver 4.04 以降
【記事番号】 669 (652)
【 日時 】05/04/01 10:39
【 発言者 】コジマ

▼akiさん:
>▼コジマさん:
>さっそくやってみましたが、文字入力する際に常に1”+と表示され連番にはなりませんでした。

この線記号変形が使用できるのは、ver 4.04 以降です。

verが古いのであれば、最新verのインストールをお奨めします。


Indexへ
(669)←【675】→(704)
------------------------
【タイトル】Re(1):ver 4.04 以降
【記事番号】 675 (669)
【 日時 】05/04/01 12:27
【 発言者 】aki

▼コジマさん:
>▼akiさん:昨日やってみたときに全角スペースをすべて半角にしております。
またバージョンは4.05の最新版です。
ほかにお気づきのところがありましたら、ご教授願います。

>>▼コジマさん:
>>さっそくやってみましたが、文字入力する際に常に1”+と表示され連番にはなりませんでした。
>
>この線記号変形が使用できるのは、ver 4.04 以降です。
>
>verが古いのであれば、最新verのインストールをお奨めします。


Indexへ
(675)←【704】→(633)
------------------------
【タイトル】Re(2):ver 4.04 以降
【記事番号】 704 (675)
【 日時 】05/04/02 14:44
【 発言者 】コジマ

21000 00   0   0  10  0  10000 404 "1"+

21000 00   0   0  10  0  10000 404 "1"+
(全角の+)
になっていないでしょうか?


Indexへ
(704)←【633】→(640)
------------------------
【タイトル】Re(1):写真方向番号図の作成。
【記事番号】 633 (623)
【 日時 】05/03/31 08:25
【 発言者 】siegel

▼akiさん:
>線記号変形で矢印と○の中の数字を連番で入れています。方向が一定なので回転かけるのですが、数字も回転して手直しがとても多くなります。
>2点の方向を自由に決められて数字が回転せずに一定方向にするには、どうしたらよいでしょう?

外部変形でしたら、ASIA Pocketさんの「写真番号」がありますが。
http://www.asia-ct.com/cad/buhin2.htm
文字種 F1 , F2 の2通りある。

ご参考まで。


Indexへ
(633)←【640】→(645)
------------------------
【タイトル】Re(2):写真方向番号図の作成。
【記事番号】 640 (633)
【 日時 】05/03/31 12:28
【 発言者 】aki

▼siegelさん:さっそくHPへいってDLしましたよ。ありがとうございます。求めていたのはこんな感じです。外部変形ですね、線記号変形でできればいいと思ってましたが、簡単にはいかないようですね。
>▼akiさん:
>>線記号変形で矢印と○の中の数字を連番で入れています。方向が一定なので回転かけるのですが、数字も回転して手直しがとても多くなります。
>>2点の方向を自由に決められて数字が回転せずに一定方向にするには、どうしたらよいでしょう?
>
>外部変形でしたら、ASIA Pocketさんの「写真番号」がありますが。
>http://www.asia-ct.com/cad/buhin2.htm
>文字種 F1 , F2 の2通りある。
>
>ご参考まで。


Indexへ
(640)←【645】→(647)
------------------------
【タイトル】Re(3):妥協案ですが
【記事番号】 645 (640)
【 日時 】05/03/31 14:37
【 発言者 】tosi

▼akiさん:
妥協案ですがこんな感じではどうでしょう。

#写真方向
16
999
0     引出線(任意)+円文字
760   4  8   
00  05   0   0   4   8
06  00   4   8   0    360 0    0 -11 e 4.0
25006 06   4   8   20   8   10000  404  -1 "INPUT
10000  2
999
0        矢印
760   0  0
10   10  0    0  
01   01  0    0       -1.800   0.482
01   01  0    0       -1.800   -0.482
999
いろいろ試行錯誤してみましたが
やはり完全なものは不可能な様ですね。
コジマさんの妥協案もいいですね組み合わせる事が出来れば良いんですが・・・

引き出し線は円の中心まで記入されますが、作図後縮めてください。
円の外周で止めるのは無理な様なので、
文字を記入後、引き出し線の始点付近をクリックして下さい矢印が記入されます。


Indexへ
(645)←【647】→(658)
------------------------
【タイトル】Re(1):写真方向番号図の作成。
【記事番号】 647 (623)
【 日時 】05/03/31 16:32
【 発言者 】スター

▼akiさん:
>線記号変形で矢印と○の中の数字を連番で入れています。方向が一定なので回転かけるのですが、数字も回転して手直しがとても多くなります。
>2点の方向を自由に決められて数字が回転せずに一定方向にするには、どうしたらよいでしょう?

話の腰を折るわけではないんですが。ある人はこういうやり方をしています。
・番号と矢印を全部書いた後必ず微調整で移動する場合が多い。
・その場合矢印の向きが狂ってしまう。
そこで
・最初は○番号だけを配置し納得するまで微調整する。
・その後/で--->で矢印の大きさ、線の長さを設定し、ドラッグで円周点で方向を定めて決定する。
 これが一番手戻りが少ないといってました。

あくまで参考です。


Indexへ
(647)←【658】→(665)
------------------------
【タイトル】矢印の修正
【記事番号】 658 (647)
【 日時 】05/03/31 19:50
【 発言者 】コジマ

▼スターさん:
>・番号と矢印を全部書いた後必ず微調整で移動する場合が多い。
>・その場合矢印の向きが狂ってしまう。

これが、JWWの弱点なんですよね。
必ず、消去と書き直しが必要になります。

今のところ、解決策として、外部変形で対応しています。
(消去と書き直しを同時に行う)
(矢印角度、寸法は、自分仕様ですが)

◎バッチファイル(風船修正.bat)

@REM 引出線付風船記号の位置修正
@echo off
REM #jww
REM #cd
REM #h1
REM #hc修正する風船記号(引出線付)を選択してください。
REM #1-引き出し線の始点を指示してください。
REM #2風船記号の中心点を指示してください。
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 風船修正.rb temp.txt > jwc_temp.txt

◎バッチファイル(風船修正.rb)

puts "hd"
def main
    by=[]
    while ARGF.gets
        xy =split
        if xy[0] =~ /^hq/
        elsif xy[0] =~ /^hs/
            xy[1..-1].each{|item|by<        elsif xy[0] =~ /^lg/
            lg=xy[0][2,1]
            zusun=by[lg.hex]
            print $_
        elsif xy[0] =~ /^hp1/
              x1=xy[1].to_f
             y1=xy[2].to_f

        elsif xy[0] =~ /^hp2/
             x2=xy[1].to_f
              y2=xy[2].to_f
        elsif xy[0] =~ /^ly/
            ly=xy[0]
            print $_
        elsif xy[0] =~ /^lc/
            lc=xy[0]
            print $_
        elsif xy[0] =~ /^lt/
            lt=xy[0]
            print $_
        elsif xy[0] =~ /^[0-9]/ or xy[0] =~ /^-/
            senly=ly;senlc=lc;senlt=lt
        elsif xy[0] =~ /^ci/
            r=xy[3].to_f
            if xy.size==8
                hen=xy[6].to_f
            else
                hen=1
            end
            xy[1]=x2
            xy[2]=y2
            puts xy.join("\s")
        elsif xy[0] =~ /^ch/
            if $_=~/\"/
                moji=$&+$'
            end
            puts "cc4"
            xy[1]=x2
            xy[2]=y2
            puts xy[0,5].join("\s")+"\s"+moji
        else
            print $_
        end
    end
    x=x2-x1
    y=y2-y1
    $xy=Math.sqrt(x**2+y**2)
    dx=x/$xy
    dy=y/$xy

    if r+2*zusun<$xy
        puts senly;puts senlc;puts senlt
        naname(x1,y1,x2-Math.sqrt((r**2*(hen*r)**2)/
            ((r**2)*(dy**2)+((hen*r)**2)*(dx**2)))*dx,
            y2-Math.sqrt((r**2*(hen*r)**2)/
                ((r**2)*(dy**2)+((hen*r)**2)*(dx**2)))*dy)

        naname(x1,y1,x1+2*zusun*dx+0.52*zusun*dy,
            y1+2*zusun*dy-0.52*zusun*dx)

        naname(x1,y1,x1+2*zusun*dx-0.52*zusun*dy,
            y1+2*zusun*dy+0.52*zusun*dx)
    end
end
def naname(x1,y1,x2,y2)
printf("%10f %10f %10f %10f\n", x1, y1, x2, y2)
end
main()


Indexへ
(658)←【665】→(668)
------------------------
【タイトル】Re(1):矢印の修正
【記事番号】 665 (658)
【 日時 】05/04/01 08:46
【 発言者 】マッチtoポンプ

▼コジマさん:


>(矢印角度、寸法は、自分仕様ですが)

矢印の長さの変更はできませんか?


Indexへ
(665)←【668】→(674)
------------------------
【タイトル】Re(2):矢印の修正
【記事番号】 668 (665)
【 日時 】05/04/01 10:31
【 発言者 】コジマ

▼マッチtoポンプさん:
>矢印の長さの変更はできませんか?

以下修正版です。
$ya_l=  の右側を自分仕様の数値にしてください。

バッチファイルから入力する方法だと、手間が増えるので、この方法にしました。


◎スクリプトファイル(ファイル名 風船修正.rb)

$ya_l=3    #矢印の長さ(図寸)

puts "hd"
def main
    by=[]
    while ARGF.gets
        xy =split
        if xy[0] =~ /^hq/
        elsif xy[0] =~ /^hs/
            xy[1..-1].each{|item|by<        elsif xy[0] =~ /^lg/
            lg=xy[0][2,1]
            zusun=by[lg.hex]
            print $_
        elsif xy[0] =~ /^hp1/
              x1=xy[1].to_f
             y1=xy[2].to_f

        elsif xy[0] =~ /^hp2/
             x2=xy[1].to_f
              y2=xy[2].to_f
        elsif xy[0] =~ /^ly/
            ly=xy[0]
            print $_
        elsif xy[0] =~ /^lc/
            lc=xy[0]
            print $_
        elsif xy[0] =~ /^lt/
            lt=xy[0]
            print $_
        elsif xy[0] =~ /^[0-9]/ or xy[0] =~ /^-/
            senly=ly;senlc=lc;senlt=lt
        elsif xy[0] =~ /^ci/
            r=xy[3].to_f
            if xy.size==8
                hen=xy[6].to_f
            else
                hen=1
            end
            xy[1]=x2
            xy[2]=y2
            puts xy.join("\s")
        elsif xy[0] =~ /^ch/
            if $_=~/\"/
                moji=$&+$'
            end
            puts "cc4"
            xy[1]=x2
            xy[2]=y2
            puts xy[0,5].join("\s")+"\s"+moji
        else
            print $_
        end
    end
    x=x2-x1
    y=y2-y1
    $xy=Math.sqrt(x**2+y**2)
    dx=x/$xy
    dy=y/$xy

    if r+2*zusun<$xy
        puts senly;puts senlc;puts senlt
        naname(x1,y1,x2-Math.sqrt((r**2*(hen*r)**2)/
            ((r**2)*(dy**2)+((hen*r)**2)*(dx**2)))*dx,
            y2-Math.sqrt((r**2*(hen*r)**2)/
                ((r**2)*(dy**2)+((hen*r)**2)*(dx**2)))*dy)

        naname(x1,y1,x1+$ya_l*zusun*dx+$ya_l*0.536/2*zusun*dy,
            y1+$ya_l*zusun*dy-$ya_l*0.536/2*zusun*dx)

        naname(x1,y1,x1+$ya_l*zusun*dx-$ya_l*0.536/2*zusun*dy,
            y1+$ya_l*zusun*dy+$ya_l*0.536/2*zusun*dx)
    end
end
def naname(x1,y1,x2,y2)
printf("%12f %10f %10f %10f\n", x1, y1, x2, y2)
end
main()


Indexへ
(668)←【674】→(690)
------------------------
【タイトル】Re(3):矢印の修正
【記事番号】 674 (668)
【 日時 】05/04/01 11:47
【 発言者 】マッチtoポンプ

▼コジマさん:
$ya_l=  の右側を自分仕様の数値にしてください。

ありがとうございます。
ok でした。

話しは替りますが、コジマさんの旧作について HELP です。
いじくり廻してるのですが、うごきまへん。 

---矢印付折線.rb---
BEGIN{
$no="2"
while ARGV.length > 1
    case argument=ARGV.pop
        when/^\/a/
            $no=argument[2..-1]
    end
end
}
print "ly0\n"#レイヤ0に出力
print "lc1\n"#線色1で出力
print "lt1\n"#線種1で出力
hash={"1"=>2,"2"=>2.5,"3"=>3,"4"=>3.5,"5"=>4,"6"=>5}
$nagasa=hash[$no]
def sen(x1,y1,x2,y2)
    printf("%e %e %e %e\n", x1, y1, x2, y2)
end
    by=Array.new
    x=Array.new
    y=Array.new
    while ARGF.gets
        xy =split
        if xy[0] =~ /^hs/
            n=1;while (n        end
        if xy[0] =~ /^lg/
            lg=xy[0].delete("lg");zusun=by[$lg.to_i]
        end
        if xy[0] =~ /^hp/
            x.push(xy[1].to_f)
            y.push(xy[2].to_f)
        end
    end
dxy=Math.sqrt((x[1]-x[0])**2+(y[1]-y[0])**2)
dx=(x[1]-x[0])/dxy
dy=(y[1]-y[0])/dxy
yax=$nagasa
yay=0.268*$nagasa

sen(x[0],y[0],
x[0]+yax*zusun*dx+yay*zusun*dy,
y[0]+yax*zusun*dy-yay*zusun*dx)

sen(x[0],y[0],
x[0]+yax*zusun*dx-yay*zusun*dy,
y[0]+yax*zusun*dy+yay*zusun*dx)

m=0
    while (m        sen(x[m],y[m],x[m+1],y[m+1])
        m +=1
    end
-----
---矢印付折線.bat---
@REM 折れ線(始点に矢印、終点無印)
@echo off
REM #jww
REM #cd
REM #h0
REM #1/ ★矢印付き折線★ 始点を指示  (L)free,(R)Read
REM #2/ 折れ点を指示 ( AM1時左ドラッグで15度毎/自由角 )
REM #99# 終点を指示  (L)free,(R)Read
REM #k 矢印の大きさ |2mm (L)|2.5mm (R)|3mm|3.5mm|4mm|5mm|/_/a
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 矢印付折線.rb temp.txt %1 > jwc_temp.txt
-----


Indexへ
(674)←【690】→(693)
------------------------
【タイトル】Re(4):矢印の修正
【記事番号】 690 (674)
【 日時 】05/04/01 16:51
【 発言者 】コジマ

▼マッチtoポンプさん:
>話しは替りますが、コジマさんの旧作について HELP です。
>いじくり廻してるのですが、うごきまへん。 
>


コピペのミスなのか、文が不規則に抜け落ちていました。


---矢印付折線.rb---

BEGIN{
$no="2"
while ARGV.length > 1
  case argument=ARGV.pop
    when/^\/a/
      $no=argument[2..-1]
  end
end
}
print "ly0\n"#レイヤ0に出力
print "lc1\n"#線色1で出力
print "lt1\n"#線種1で出力
hash={"1"=>2,"2"=>2.5,"3"=>3,"4"=>3.5,"5"=>4,"6"=>5}
$nagasa=hash[$no]
def sen(x1,y1,x2,y2)
  printf("%e %e %e %e\n", x1, y1, x2, y2)
end
by=Array.new
x=Array.new
y=Array.new
while ARGF.gets
    xy =split
    if xy[0] =~ /^hs/
        n=1;while (n    end
    if xy[0] =~ /^lg/
        lg=xy[0].delete("lg");zusun=by[lg.hex]
    end
    if xy[0] =~ /^hp/
        x.push(xy[1].to_f)
        y.push(xy[2].to_f)
    end
end
dxy=Math.sqrt((x[1]-x[0])**2+(y[1]-y[0])**2)
dx=(x[1]-x[0])/dxy
dy=(y[1]-y[0])/dxy
yax=$nagasa
yay=0.268*$nagasa

sen(x[0],y[0],
x[0]+yax*zusun*dx+yay*zusun*dy,
y[0]+yax*zusun*dy-yay*zusun*dx)

sen(x[0],y[0],
x[0]+yax*zusun*dx-yay*zusun*dy,
y[0]+yax*zusun*dy+yay*zusun*dx)

m=0
while (m    sen(x[m],y[m],x[m+1],y[m+1])
    m +=1
end


Indexへ
(690)←【693】→(653)
------------------------
【タイトル】Re(5):矢印の修正
【記事番号】 693 (690)
【 日時 】05/04/01 18:01
【 発言者 】マッチtoポンプ

▼コジマさん:
>コピペのミスなのか、文が不規則に抜け落ちていました。

he〜〜〜?
"め組"のコジマさん お疲れさまです。 ^^;


結果ですが、

”コマンドまたはファイル名が違います.” が七行ほど出ます。

それから、レイヤ・線色・線種指定が反映されません。

以上、よろしくです。


Indexへ
(693)←【653】→(666)
------------------------
【タイトル】ありがとうございました。
【記事番号】 653 (623)
【 日時 】05/03/31 17:40
【 発言者 】aki

みなさん、ありがとうございました。線変形の作り方もよくわからなかったので
みなさんの方法は、一長一短あるにせよ、初心者の私には役にたちました。


Indexへ
(653)←【666】//(629)
------------------------
【タイトル】Re(1):ありがとうございました。
【記事番号】 666 (653)
【 日時 】05/04/01 09:13
【 発言者 】ひでと

▼akiさん:
>みなさん、ありがとうございました。線変形の作り方もよくわからなかったので
>みなさんの方法は、一長一短あるにせよ、初心者の私には役にたちました。
もうおそいようで恐縮ですが、金公さんのサイトで
http://sweep-jp.com/gaihen/hideto/maru.htm
「丸」という外部変形を載せてていただいています。
比較的ご要望のものに近いのではと思いました。
ただ、現在載せていただいているものは、引き出し線に矢印をつけないとうまくいかない
バグがありまして、まだ訂正版をお願いしていません。
矢印つきでしたらうまく動くと思います。