Indexへ
(5435)//【5439】→(5440)
------------------------
【タイトル】範囲消去で質問
【記事番号】 5439 (*)
【 日時 】06/02/12 00:08
【 発言者 】麻衣

範囲消去で 
例えば 500mm以下の長さの線を選択する事は 出来ないでしょうか。
任意の長さから任意の長さまで 数値を指定出来ると良いのですが

50mm以下の線を
1mm〜300mmの線を
と言う様な感じが指定出来る
これは RV変換後の ゴミ線を選択して消去したいのです。
Jw_Winの範囲消去の機能UP出来ないでしょうか。


Indexへ
(5439)←【5440】→(5459)
------------------------
【タイトル】Re(1):範囲消去で質問
【記事番号】 5440 (5439)
【 日時 】06/02/12 00:15
【 発言者 】麻衣

自己レスに追加です。

>範囲選択で 

多角形範囲を指定出来ないでしょうか?。

例えば RV変換後の ゴミ線だけを選択して消去したいのです。

現範囲指定は 四角範囲でしか範囲を指定できないので
範囲選択で 多角形範囲が指定出来ると 便利になるのですが

>Jw_Winの範囲消去の機能UP出来ないでしょうか。


Indexへ
(5440)←【5459】→(5492)
------------------------
【タイトル】Re(2):範囲消去で質問
【記事番号】 5459 (5440)
【 日時 】06/02/13 09:14
【 発言者 】Ojin

▼麻衣さん:

スレつかないようですね。この手の質問はこちらへどうぞ!
http://hpcgi2.nifty.com/jw_cad/c-board.cgi?cmd=tre;id=004

ところで
http://www.page.sannet.ne.jp/kiyoaki-oikawa/index.htm
ここ(無精者の道具箱)に
「範囲消去」という外変がありますが、これをアレンジすればあるいはと思われます。(私には到底できませんが・・・。ある外変を検索していて飛び込んだ部屋なので、どなたの部屋か分かりませんがお世話になっています。)

>自己レスに追加です。
>
>>範囲選択で 
>
>多角形範囲を指定出来ないでしょうか?。
>
>例えば RV変換後の ゴミ線だけを選択して消去したいのです。
>
>現範囲指定は 四角範囲でしか範囲を指定できないので
>範囲選択で 多角形範囲が指定出来ると 便利になるのですが
>
>>Jw_Winの範囲消去の機能UP出来ないでしょうか。


Indexへ
(5459)←【5492】→(5495)
------------------------
【タイトル】Re(2):範囲消去で質問
【記事番号】 5492 (5440)
【 日時 】06/02/13 22:17
【 発言者 】ハマグチ

追加要望のようではありませんが 指定の長さの線を消してくれます

http://homepage2.nifty.com/igus/

後は作者様にひたすらお願いする 無責任か...

急いでいる場合は、範囲を作図しておき軸角収得で範囲に角度をつけて追加範囲を囲み目的の範囲とする

多点範囲が可能になりましたら、私にも教えて!


Indexへ
(5492)←【5495】→(5496)
------------------------
【タイトル】Re(2):範囲消去で質問
【記事番号】 5495 (5440)
【 日時 】06/02/13 23:43
【 発言者 】スター

▼麻衣さん:
>自己レスに追加です。
>
>>範囲選択で 
>
>多角形範囲を指定出来ないでしょうか?。
>
>例えば RV変換後の ゴミ線だけを選択して消去したいのです。
>
>現範囲指定は 四角範囲でしか範囲を指定できないので
>範囲選択で 多角形範囲が指定出来ると 便利になるのですが
>
>>Jw_Winの範囲消去の機能UP出来ないでしょうか。

どんなRV変換ソフトを使用しているかわかりませんが、一般的にRV変換には最初からゴミ取り機能が付いていると思いますが?


Indexへ
(5495)←【5496】→(5499)
------------------------
【タイトル】Re(2):範囲消去で質問
【記事番号】 5496 (5440)
【 日時 】06/02/14 01:53
【 発言者 】コジマ

▼麻衣さん:
>>範囲選択で 
>
>多角形範囲を指定出来ないでしょうか?。
>
>例えば RV変換後の ゴミ線だけを選択して消去したいのです。
>


◎バッチファイル(ファイル名 線消.bat)

@REM 指定範囲指定長さ以下の線を消す
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #zw
REM #ht10
REM #ht30
REM #ht40
REM #c消去する線の最長寸法    無指定:50mm    /_/a
REM #c消去する線の最短寸法 無指定:0     /_/b
REM #h4
REM #hp
REM #1-消去範囲を点指示。全選択=AM0:00ドラッグ free(L) Read(R)
REM #99#
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 線消.rb temp.txt %1 %2> jwc_temp.txt


◎スクリプトファイル(ファイル名 線消.rb)

include Math;$max_l=50;$min_l=0
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            $max_l=argument[2..-1].to_f
        when /\/b/
            $min_l=argument[2..-1].to_f
    end
end
def main
    hp=[];zukei=[]
    while ARGF.gets
        xy=split
        if xy[0]=~/^hp/
            hp<<[xy[1].to_f,xy[2].to_f]
        end
    end
    hp<0 && hp[0] != hp[-1]
    0.upto(hp.size-2){|i|zukei<<[hp[i][0],hp[i][1],hp[i+1][0],hp[i+1][1]]}

    puts "hd"
    open("temp.txt","r"){|f|
        while line=f.gets
            xy=split
            if xy[0]=~/^hq/
            elsif xy[0]=~/^\d/
                xy.collect!{|item|item.to_f}
                x,y=xy[2]-xy[0],xy[3]-xy[1]
                l=sqrt(x**2+y**2)

                if zukei.size>0
                    if area(zukei,[xy[0],xy[1]]) && area(zukei,[xy[2],xy[3]])
                        if $min_l==0
                            if l<$max_l
                            else
                                print $_
                            end
                        else
                            if l<$max_l && l>$min_l
                            else
                                print $_
                            end
                        end
                    else
                        print $_
                    end
                else
                    if $min_l ==0
                        if l<$max_l
                        else
                            print $_
                        end
                    else
                        if l<$max_l && l>$min_l
                        else
                            print $_
                        end
                    end
                end
            else
                print $_
            end
        end
    }
end
#線と線の交点を返す(延長線上は含まない)
def sen_sen_kouten(sen1,sen2)
    sen1x=sen1[2]-sen1[0]
    sen1y=sen1[3]-sen1[1]
    sen1xy=sqrt(sen1x**2+sen1y**2)
    sen1_arg=atan2(sen1y,sen1x)
    x1_1=sen1[0]
    x1_2=sen1[0]+sen1xy
    y1_1=sen1[1]
    y1_2=sen1[1]

    x=sen2[0]-sen1[0]
    y=sen2[1]-sen1[1]
    xy=sqrt(x**2+y**2)
    arg=atan2(y,x)
    henkaku=arg-sen1_arg
    x2_1=sen1[0]+xy*cos(henkaku)
    y2_1=sen1[1]+xy*sin(henkaku)

    x=sen2[2]-sen1[0]
    y=sen2[3]-sen1[1]
    xy=sqrt(x**2+y**2)
    arg=atan2(y,x)
    henkaku=arg-sen1_arg
    x2_2=sen1[0]+xy*cos(henkaku)
    y2_2=sen1[1]+xy*sin(henkaku)

    x=x2_2-x2_1
    y=y2_2-y2_1
    delta=y/x

    if ika3(y2_1)>=ika3(y1_1) &&
        ika3(y2_2)        ika3(y2_1)        ika3(y2_2)>=ika3(y1_1)
        y=y1_1-y2_1
        dx=y/delta
        kouten_x=x2_1+dx
        kouten_y=y1_1
        if kouten_x>=x1_1 && kouten_xkouten_x>x1_1 && kouten_x<=x1_2
            x=kouten_x-x1_1
            y=kouten_y-y1_1
            xy=sqrt(x**2+y**2)
            kouten_xt=x1_1+xy*cos(sen1_arg)
            kouten_yt=y1_1+xy*sin(sen1_arg)
            return [kouten_xt,kouten_yt]
        else
            nil
        end
    end
end
def ika3(x)
    a=(((x.to_f)*1000).to_i/1000.to_f)
    return a
end
#tenの位置がzukei(閉鎖図形)の内(true)か、外(false)かを判定
def area(zukei,ten)

    zahyo=[]
    zukei.each{|item|zahyo<
    if zahyo.size==1 or zahyo.size>1 && zahyo.size%2==1
        return true
    else
        return false
    end
end
main


Indexへ
(5496)←【5499】→(5504)
------------------------
【タイトル】Re(3):範囲消去で質問
【記事番号】 5499 (5496)
【 日時 】06/02/14 09:20
【 発言者 】ハマグチ

すばやい対応、又有意義なコマンドありがとうございます
旨く動いております
とても便利です。


Indexへ
(5499)←【5504】→(5506)
------------------------
【タイトル】Re(3):範囲消去で質問
【記事番号】 5504 (5496)
【 日時 】06/02/14 10:42
【 発言者 】Ojin

▼コジマさん:
こんにちは、いつも私たちの要望に答えていただきありがとうございます。

JWWのコマンドの範囲選択の代わりとして多角形範囲を指定出来ないでしょうか?。
いつも勝手なお願いばかりしてすみません。せっかく多角範囲が指定できるならとっても便利だと思いますので・・・。


Indexへ
(5504)←【5506】→(5510)
------------------------
【タイトル】Re(4):標準コマンドと外部変形の連携は不可能
【記事番号】 5506 (5504)
【 日時 】06/02/14 10:59
【 発言者 】コジマ

▼Ojinさん:
>こんにちは、いつも私たちの要望に答えていただきありがとうございます。
>
>JWWのコマンドの範囲選択の代わりとして多角形範囲を指定出来ないでしょうか?。
>いつも勝手なお願いばかりしてすみません。せっかく多角範囲が指定できるならとっても便利だと思いますので・・・。

外部変形は、その名のとおり標準機能外部の処理です。
マクロではありません。(JWWはマクロの代用として外部変形があるようです)
(マクロは、内部処理)

外部変形で選択したものは、外部変形で処理するしかありません。


Indexへ
(5506)←【5510】→(5515)
------------------------
【タイトル】Re(5):標準コマンドと外部変形の連携は不可能
【記事番号】 5510 (5506)
【 日時 】06/02/14 12:48
【 発言者 】Ojin

▼コジマさん:

>外部変形は、その名のとおり標準機能外部の処理です。
>マクロではありません。(JWWはマクロの代用として外部変形があるようです)
>(マクロは、内部処理)
>
>外部変形で選択したものは、外部変形で処理するしかありません。

やはり無理でしたか。ありがとうございました。

作者様、いつもJWWを使わせていただきありがとうございます。ここでお願いがある(虫のいい話で申し訳ありません)のですが、次のバージョンアップをされるとき、範囲指定で多角形も選択できるよう考慮していただけないでしょうか? ブロック図形の問題等色々たいへんと思いますがよろしくお願いします。


Indexへ
(5510)←【5515】→(5518)
------------------------
【タイトル】自在消去
【記事番号】 5515 (5510)
【 日時 】06/02/14 14:21
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼Ojinさん & ALL:
> 範囲指定で多角形も選択

多角形選択をして消すのが目的なのでしたら、
「Snap_Kin の外部変形プログラム for Jww」
http://fox.zero.ad.jp/~zap01296/jww/
で公開されている「外変#38 ◆自在・消去◆」や、
sugiさん
http://homepage2.nifty.com/igus/
が公開されている「自在・消去」
を利用させていただく、って手法は、あると思います。

消す線の長さ指定、というのは無かったような気はしますけど。


Indexへ
(5515)←【5518】→(5555)
------------------------
【タイトル】Re(1):自在消去
【記事番号】 5518 (5515)
【 日時 】06/02/14 15:56
【 発言者 】Ojin

▼jokerさん:
有難うございます。

> 範囲指定で多角形も選択

私の場合は、範囲選択で普通に使うコマンドを多角形でも使えないかな? と思ったので投稿させていただきました。
削除だけでなく、移動とか変更とかにも使えると便利かなと・・・。
同じレイヤ内の同じ線色、同じ線種の一部分を変更とかしたい時がよくあるので(ほとんど自分の入力ミスですが・・・)そんな時とても役にたちそうです。仕事がらブロック図形とか使う必要が殆どないのと幾何学的な地形を扱うことが多くて四角範囲ではとても面倒なんです。今までやってきているから「どうしても欲しい。」というほどでもないですが。
作者様、年寄りのたわごとと聞き逃してください。
皆さん、香港A型(インフルエンザ)が流行っているようです。身体に気をつけてお仕事がんばってください。


Indexへ
(5518)←【5555】→(5559)
------------------------
【タイトル】Re(1):自在消去
【記事番号】 5555 (5515)
【 日時 】06/02/15 22:40
【 発言者 】ハマグチ

▼jokerさん:
>sugiさん
>http://homepage2.nifty.com/igus/
>が公開されている「自在・消去」
>を利用させていただく、って手法は、あると思います。
>
>消す線の長さ指定、というのは無かったような気はしますけど。

先月、お忙しい中 久々のバージョンアップがありました。
微少線が追加され一定の長さの線を消してくれますよ。


Indexへ
(5555)←【5559】→(5564)
------------------------
【タイトル】sugiさんの自在消去
【記事番号】 5559 (5555)
【 日時 】06/02/16 14:01
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼ハマグチさん:
>先月、お忙しい中 久々のバージョンアップがありました。
>微少線が追加され一定の長さの線を消してくれますよ。

あ、そうでしたか。(^^)
私がsugiさんの外部変形アプリを見させてもらったのはかなり以前の話なので
気づきませんでした。

でしたら、この話は、sugiさんの外部変形アプリを使用させていただく、
という手法も十分アリな訳ですね。


Indexへ
(5559)←【5564】→(5576)
------------------------
【タイトル】Re(1):sugiさんの自在消去
【記事番号】 5564 (5559)
【 日時 】06/02/16 18:38
【 発言者 】ハマグチ

所定の長さ maxとmin の指定が出来、多角形で範囲指定できる外部変形コマンド
を、コジマ様が 作ってくださったので このツリーに関しては コジマ様の
コマンドを お勧めしたいです。
ただこれ以外にも いろいろありますから ぜひ皆さんにも sugiさん のところも
覗いて欲しいですね。


                ハマグチ 


Indexへ
(5564)←【5576】→(5565)
------------------------
【タイトル】Re(2):sugiさんの自在消去
【記事番号】 5576 (5564)
【 日時 】06/02/17 13:41
【 発言者 】麻衣

コジマさん ハマグチさん  Ojinさん スターさん jokerさん 

皆さん 有用な情報ありがとうございます。
モデム障害中に こんなにレスがついててビックリ!!してます。
書き込み 遅れました事 お許し下さいね。

コジマさんの作成して戴きました線消.bat「外部変形」にて
問題なく処理できる様になりましたので 
皆さん 色々な情報 本当に ありがとう御座いました。


Indexへ
(5576)←【5565】→(5567)
------------------------
【タイトル】Re(2):投稿者の方ぬきで盛り上がっているようですが?
【記事番号】 5565 (5440)
【 日時 】06/02/16 21:31
【 発言者 】コジマ

多分、この板もご覧になっていないのだろうな?


Indexへ
(5565)←【5567】→(5569)
------------------------
【タイトル】Re(3):投稿者の方ぬきで盛り上がっているようですが?
【記事番号】 5567 (5565)
【 日時 】06/02/17 06:50
【 発言者 】麻衣

コジマさん ハマグチさん  Ojinさん スターさん jokerさん 

皆さん 有用な情報ありがとうございます。
モデム障害中に こんなにレスがついててビックリ!!してます。
書き込み 遅れました事 お許し下さいね。

多角形範囲と線の長さ指定 長さの範囲指定 等が出来る外部変形は
ちょっと無理みたいですね。
紹介して戴きました外部変形使わさせて戴きました。
コジマさんの外変 線消し.bat で多角範囲が出来れば一番いいのですが
ちょっと無理のようですね。本当にありがとう御座いました。
コジマさんの作成された線消し.BATを利用させてい

やはり JW_WIN本体に「多角形範囲」を追加して戴ける事を
作者様に それとなくお願いしたいと存じます。

下記は可能なのかどうか判りませんが教えて戴けませんでしょうか。

 現在は内部コマンドや外変のメニュー登録が公開されていますが
jw_winの内部の公開可能なメゾット、プロパティ、関数(交点計算、
角度計算、データ検索、データ追加、データ削除、SORT等色々)等を
OPENにして頂ければ もっと複雑な本体コマンドとして変形が可能に
なると思うのですが 可能なのでしょうか 無理な話なのでしょうか?


Indexへ
(5567)←【5569】→(5571)
------------------------
【タイトル】Re(4):多角形範囲指定できますけど。
【記事番号】 5569 (5567)
【 日時 】06/02/17 10:27
【 発言者 】コジマ

▼麻衣さん:
>モデム障害中に こんなにレスがついててビックリ!!してます。
>書き込み 遅れました事 お許し下さいね。

こちらも、そんな事情とは、わからなかたので、結果報告がないことが気になっていました。


>多角形範囲と線の長さ指定 長さの範囲指定 等が出来る外部変形は
>ちょっと無理みたいですね。

多角形範囲指定できますよ。

点指示で、多角形に囲った内部の図形にしか、与えた条件の線消は実行しません。

点指示を省略すると、全選択になって、全ての図形に、えた条件の線消を実行します。


Indexへ
(5569)←【5571】→(5575)
------------------------
【タイトル】Re(5):多角形範囲指定できますけど。
【記事番号】 5571 (5569)
【 日時 】06/02/17 12:38
【 発言者 】麻衣

▼コジマさん  こんにちは。

大変 失礼しました。「全角」が邪魔してました!。

多角形範囲の指定も99点までOK!!
最大値と最小値の長さ指定もバッチシOKです
これ本当に良いですね。 便利に利用させて頂きます。
めちゃくちゃ 四角範囲に比べると ぶち短時間になり便利に使えますよ!。

全体範囲の場合は データを赤く表示後 確認して削除 出来るようになると
もっと便利になるよな気が致しましたが・・・。


Jw_Win本体の範囲指定に「多角」範囲が追加されると大変便利になりますね。
時間短縮にもなりますし とても便利になるのではないでしょうか!。

コジマさん 凄いです  本当にありがとう御座いました。
また こんなに有意義なJW_WIN 外部変形を公開されました事に感謝致します。


Indexへ
(5571)←【5575】→(5593)
------------------------
【タイトル】内部関数等の利用は不可
【記事番号】 5575 (5567)
【 日時 】06/02/17 13:37
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼麻衣さん:
>jw_winの内部の公開可能なメゾット、プロパティ、関数(交点計算、
>角度計算、データ検索、データ追加、データ削除、SORT等色々)等を
>OPENにして頂ければ もっと複雑な本体コマンドとして変形が可能に
>なると思うのですが 可能なのでしょうか 無理な話なのでしょうか?

現在の外部変形プログラムのスタイルからすると、
JWW本体と、バッチファイル以外の外部変形プログラムそのものは、
完全に分離した状態だと思いますので、JWW内部の関数などを利用
することは出来ないと思います。

メソッド・プロパティというのは、どういうのを想定されているのか
分りませんが、データタイプに付随するメソッドとかはありませんし、
データタイプのプロパティは、各データのパラメータそのものです。

関数は、自前で用意されたらおしまいだと思います。
数学が分っていれば、関数はいくらでも作れると思います。
交点計算は、2次方程式の解、
角度計算は、三角関数や平方根などを駆使すれば可能だと思います。
データ追加・削除・ソートなどは、読み込んだデータをいじるだけ
だと思います。


Indexへ
(5575)←【5593】//(5447)
------------------------
【タイトル】Re(1):内部関数等の利用は不可
【記事番号】 5593 (5575)
【 日時 】06/02/18 09:38
【 発言者 】麻衣

jokerさん こんにちは。

>現在の外部変形プログラムのスタイルからすると、
>JWW本体と、バッチファイル以外の外部変形プログラムそのものは、
>完全に分離した状態だと思いますので、JWW内部の関数などを利用
>することは出来ないと思います。

なるほど あくまで外部で自前で加工や追加をする事を目的として
jwc_temp.txtが 考えられているのですね。
jwの内部で加工するのでは無いんですね。

なんとなく ぼゃ〜っと解ってきたっていう感じかな?。
色々と教えて戴きましてありがとうございました。

パワーユーザの皆さんが多くおられて この様に情報交換が
出来る場を提供して下さってる作者様には 本当に感謝 感謝です。