Indexへ
(2779)//【2763】→(2766)
------------------------
【タイトル】外部変形の登録図形ついて
【記事番号】 2763 (*)
【 日時 】04/03/05 18:03
【 発言者 】totoko

つい最近から外部変形について勉強しはじめました。
そこで質問なのですが外部変形のプログラムを作成するときに
登録図形を使用するということは可能なのでしょうか?

素人の質問で申し訳ございませんがご返答の程よろしくお願い申し上げます。


Indexへ
(2763)←【2766】→(2767)
------------------------
【タイトル】Re(1):外部変形の登録図形ついて
【記事番号】 2766 (2763)
【 日時 】04/03/05 18:17
【 発言者 】古川 furukawa@mail.ne.jp
【 リンク 】http://jwx.hp.infoseek.co.jp/



▼totokoさん:
>そこで質問なのですが外部変形のプログラムを作成するときに
>登録図形を使用するということは可能なのでしょうか?

やってやれない事はありませんが、残念ながら、簡単ではありません。

図形ファイルを独自に解析して、外部変形形式に置き換える必要があるのですが、リファレンス編に載っている、JWWのファイル仕様を全て理解する必要があります。これが結構大変だったりします。(^^ゞ


Indexへ
(2766)←【2767】→(2770)
------------------------
【タイトル】Re(2):外部変形の登録図形ついて
【記事番号】 2767 (2766)
【 日時 】04/03/05 18:22
【 発言者 】古川 furukawa@mail.ne.jp
【 リンク 】http://jwx.hp.infoseek.co.jp/



>リファレンス編に載っている、JWWのファイル仕様を全て理解する必要があります。

おっと、図形ファイルはレファレンス編にも載っていないので独自に解析する必要があります。JWWのファイル仕様を理解されている方ならそんなに難しくはないのですが。


Indexへ
(2767)←【2770】→(2771)
------------------------
【タイトル】Re(3):外部変形の登録図形ついて
【記事番号】 2770 (2767)
【 日時 】04/03/05 19:30
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/



▼古川さん:
>>リファレンス編に載っている、JWWのファイル仕様を全て理解する必要があります。
>
>おっと、図形ファイルはレファレンス編にも載っていないので独自に解析する必要があります。JWWのファイル仕様を理解されている方ならそんなに難しくはないのですが。

昔、DOSの図形ファイル(jwk)のデーター構造を解析したことがあります。
バイナリデーターとニラッメコでつらい、2度としたくありません。

JWCのデーター構造との違いは表示倍率が枠内に納まるよう設定されて
いることでした。後はJWCのデーター構造と同じでした。

図形ファイルを利用したいのであれば、一度画面に呼び出し外部変形で
出力し、テキストファイルですが、それを作成する外部変形に利用
されたら、いかかがでしょうか。


Indexへ
(2770)←【2771】→(2772)
------------------------
【タイトル】Re(4):外部変形の登録図形ついて
【記事番号】 2771 (2770)
【 日時 】04/03/05 22:45
【 発言者 】totoko

▼古川さん・chiさん

早速のご返答ありがとうございます。
私がやろうとした事はどうやら難しい事のようですね。
勉強を始めたばかりの私にはまだまだ早すぎるようです。。。

登録図形を利用したいと考えたのは予めBL化して図形登録した部品を外部変形によって自動描画し部品数の積算に役立てたかったのです。

BL化を使用したJWのファイルを外部変形で出力しそれを再度読み込ませても
何も描画されませんでした。
と言うことは、BL化された図形に関しては外部変形で描画する事はできないのか??
と考え、登録図形を使用するのはどうだろうと言う考えに至りました。

でもそれも難しいようですね。
もう少し勉強を掘り進めてみて、何か良い方法を考えて見ることにします!

私のような素人の質問にお答え頂きありがとうございました!
また質問させて頂きたいと思いますのでその際は宜しくお願いいたします^^


Indexへ
(2771)←【2772】→(2781)
------------------------
【タイトル】Re(5):外部変形の登録図形ついて
【記事番号】 2772 (2771)
【 日時 】04/03/06 01:48
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/



▼totokoさん:
>登録図形を利用したいと考えたのは予めBL化して図形登録した部品を外部変形によって自動描画し部品数の積算に役立てたかったのです。
>
>BL化を使用したJWのファイルを外部変形で出力しそれを再度読み込ませても
>何も描画されませんでした。
>と言うことは、BL化された図形に関しては外部変形で描画する事はできないのか??

何をしたいのか、私になりに、勝手に理解しました。
今まで、ブロック図形を扱ったことがないので確信できませんが
ブロック図形のカウントを外部変形で、カウントできないと思います。

可能性としてカウントするためには、ブロック図形に対し符号を打つことです。
符号をカウントすることにより集計できます。

私がいう符号とは、具体的にいうと建具記号のことです。
ひとつの円の中に2つの文字があるとき、それは建具記号だと判断し
個数が集計できます。

この発言余計なお世話にならないように祈りつつ。


Indexへ
(2772)←【2781】→(2783)
------------------------
【タイトル】Re(6):外部変形の登録図形ついて
【記事番号】 2781 (2772)
【 日時 】04/03/06 16:37
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼chiさん:

>何をしたいのか、私になりに、勝手に理解しました。
>今まで、ブロック図形を扱ったことがないので確信できませんが
>ブロック図形のカウントを外部変形で、カウントできないと思います。

全然関係ありませんけれど、私は外部変形について全く解りませんが
私のサイトに「JWdatV」というツールを置いてあります。
まだ、ブロックを完全に読めるという確証は得ていないのですが
JWWデータを読み込んで、ブロック数をカウントする事が出来る
つもりのプログラムです。(苦笑)

http://www.atsmile.com/jw/


Indexへ
(2781)←【2783】→(2797)
------------------------
【タイトル】Re(7):外部変形の登録図形ついて
【記事番号】 2783 (2781)
【 日時 】04/03/06 20:15
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/



▼jokerさん:
>▼chiさん:
>
>>何をしたいのか、私になりに、勝手に理解しました。
>>今まで、ブロック図形を扱ったことがないので確信できませんが
>>ブロック図形のカウントを外部変形で、カウントできないと思います。
>
>全然関係ありませんけれど、私は外部変形について全く解りませんが
>私のサイトに「JWdatV」というツールを置いてあります。
>まだ、ブロックを完全に読めるという確証は得ていないのですが
>JWWデータを読み込んで、ブロック数をカウントする事が出来る
>つもりのプログラムです。(苦笑)
>
>http://www.atsmile.com/jw/

ホームページ拝見しました。凄いですね、頭が下がります。

実のところ、いままで実戦でブロック図形を使ったことがありません。
ブロック図形を使うメリットを少し考えたいと思います。今、思いつくのは
 データー量が少なくなる
 ひとつの図形を変形させると同じブロック図形も変形する(のかな)
 一発で消せる
 部品をカウントできる(試していません)
でしょうか。

実のところ、一度だけブロック図形を作ったことがあります。
ブロック図形はDXF経由でAutoCadに伝わるかのテストのためです。
okでした。
寸法のブロック図形はNGでした。解説書によるとDXFの寸法ブロック図形は
特殊ブロックのようです。


Indexへ
(2783)←【2797】→(2791)
------------------------
【タイトル】Re(8):外部変形の登録図形ついて
【記事番号】 2797 (2783)
【 日時 】04/03/07 22:30
【 発言者 】Y'f

▼chiさん、こんにちは。
>ブロック図形を使うメリットを少し考えたいと思います。今、思いつくのは
> :
> ひとつの図形を変形させると同じブロック図形も変形する(のかな)

上記のようにできるようになるのを切望しているものの一人ですが、現状仕様
ではブロック図形を編集するには個別にブロック解除を行う必要がありますの
で、できません。

今後のブロック図形の展開を楽しみに待っています。


Indexへ
(2797)←【2791】→(2792)
------------------------
【タイトル】Re(7):外部変形の登録図形ついて
【記事番号】 2791 (2781)
【 日時 】04/03/07 16:28
【 発言者 】totoko

▼chiさん・jokerさん

色々なご意見ありがとうございます。
jokerさんのサイト早速拝見させて頂きました。
本当に凄い!の一言に尽きます。
これから活用させて頂きますね!

さて、題名についての話しに戻らせて頂きます。

色々な情報を頂きましたが
現時点でBL化された図形をカウントする事はjwwの機能を使用することにより
クリアー出来ています。

では外部変形を使用して具体的に何をしたいのかと言うと。。。

ある一定の決まった範囲・・・A線からB線までの間に
決まったBL図形を入るだけ配置させたい、という事なのです。

もっと簡単に質問をするならば、外部変形のプログラムを作成する時に
BL化された図形を使用することは出来るのでしょうか?と言う事になります。

ちゃんと勉強もせずに
よく解らない質問をしてしまい申し訳ございません。。


Indexへ
(2791)←【2792】→(2793)
------------------------
【タイトル】Re(8):外部変形の登録図形ついて
【記事番号】 2792 (2791)
【 日時 】04/03/07 17:02
【 発言者 】古川 furukawa@mail.ne.jp
【 リンク 】http://jwx.hp.infoseek.co.jp/



▼totokoさん:
>もっと簡単に質問をするならば、外部変形のプログラムを作成する時に
>BL化された図形を使用することは出来るのでしょうか?と言う事になります。

外部変形とは、早い話が、JWW が出力した座標ファイルを加工して、座標ファイルとしてJWWに戻すと言う物です。

一度、ブロック図形がどのような座標ファイルとして出力されるか、確認されてはいかがでしょうか? 考えるより、その方が早いでしょう。

メニューから、その他 → 座標ファイル、ファイル書き込み、です。その後で、[ファイル編集]ボタンをクリックすると、内容をすぐに確認できます。

それをそのまま加工して読み込めば、手動外部変形みたいな物です。


Indexへ
(2792)←【2793】→(2795)
------------------------
【タイトル】Re(8):外部変形の登録図形ついて
【記事番号】 2793 (2791)
【 日時 】04/03/07 17:48
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/



▼totokoさん:

ツリーが長くなりそろそろ叱られそうですが。

(旧)徹底解説リファレンスを読んでテストしましたが
ブロック図形は外部変形では、原点座標とブロック名しか出力されません
でした。ブロック図形の原点座標を変更して「jwc_temp.txt」として
戻してみましが、受け付けないようです。

リファレンスにをよく見ればブロック図形は読み込みデーターの対象外の
ようです。


Indexへ
(2793)←【2795】→(2807)
------------------------
【タイトル】Re(8):外部変形の登録図形ついて
【記事番号】 2795 (2791)
【 日時 】04/03/07 18:31
【 発言者 】coolyoppe

▼totokoさん:
>▼chiさん・jokerさん
>
>色々なご意見ありがとうございます。
>jokerさんのサイト早速拝見させて頂きました。
>本当に凄い!の一言に尽きます。
>これから活用させて頂きますね!
>
>さて、題名についての話しに戻らせて頂きます。
>
>色々な情報を頂きましたが
>現時点でBL化された図形をカウントする事はjwwの機能を使用することにより
>クリアー出来ています。
>
>では外部変形を使用して具体的に何をしたいのかと言うと。。。
>
>ある一定の決まった範囲・・・A線からB線までの間に
>決まったBL図形を入るだけ配置させたい、という事なのです。
>
>もっと簡単に質問をするならば、外部変形のプログラムを作成する時に
>BL化された図形を使用することは出来るのでしょうか?と言う事になります。
>
>ちゃんと勉強もせずに
>よく解らない質問をしてしまい申し訳ございません。。

こんにちは。
ブロック化された実体データは、ブロック定義データとしてプログラム内部へ
保存され、それを参照するという形で、ブロックデータが利用されます。
つまりブロックデータは、名前、大きさ、位置などの情報しか持っておらず
実体データはブロック定義データが持っているということです。
(参照先のデータを利用するという点では、画像読込に似ています。)

現在、外部変形に書き出しできるブロックデータはブロック名と基準点位置
座標のみです。
また、ブロックデータは書き出しのみ可能で、読み込みには対応しておらず
外部変形からブロックデータを生成しJWWに読み込ませるということは、
標準機能では無理なようです。
外部変形からJWWにブロック図形を生成したい場合、現状では皆さんの
回答のとおり、データ解析などを行い、直接JWWデータとして貼り付ける
以外、方法はないかと思います。
(将来、ブロック定義データのほうも外部変形で扱えるようになれば解決
されるかと思いますが・・・。)


Indexへ
(2795)←【2807】//(2774)
------------------------
【タイトル】Re(8):while 文 requireメソッド
【記事番号】 2807 (2791)
【 日時 】04/03/09 11:24
【 発言者 】コジマ

>ある一定の決まった範囲・・・A線からB線までの間に
>決まったBL図形を入るだけ配置させたい、という事なのです。

ご存知かもしれませんが、一定の決まった範囲に図形を配置するには、
図形を座標で、メソッド定義しておいて、while 文で実行させます。

図形部分を別のスクリプトファイルにしておいて、require"ファイル名"で呼び出す
ことも出来るようです。(ライブラリ)
(エクセルのVLOOKUP関数のようなもの)

但し、外部変形は以下のように、寸法がパラメトリックな場合にはメリットがありますが、寸法の決まった図形(BL図形)を配置するときは、登録図形を呼び出して
連続複写したほうが断然速いです。

以下 Rubyスクリプト例です。

REM 線の上に円+中心線を連続配置する 外部変形
echo off
REM #cd
REM #jww
REM #c末端からの逃げ(mm) :/_
REM #c穴のピッチ(mm) :/_
REM #c穴の直径(mm) :/_
REM #h1        範囲内のデータのみを選択
REM #e
copy jwc_temp.txt temp.txt > nul
cscript //nologo 穴ピッチ.rb temp.txt %1 %2 %3 > jwc_temp.txt


# 線の上に円+中心線を連続配置する Rubyスクリプト
BEGIN{
   $nige = ARGV[1].to_f  # 線端からの逃げ
   $pitch = ARGV[2].to_f  # 穴の間隔
   $hd = ARGV[3].to_f   # 穴の直径
    while ARGV.length > 1
      ARGV.pop
    end
}
def main
    while ARGF.gets
    xy = split

    if xy[0] =~ /^[0-9]/ or xy[0] =~ /^-/
    xy.collect!{ |item| item.to_f }        # 数値化
    if xy[1] == xy[3]            # 横線のとき
    if xy[2] < xy[0] # 始点が終点より大きいとき
    x = xy[2]     # 始点と終点を入れ替える
    xy[2] = xy[0]
    xy[0] = x
    end
    x = xy[0]+$nige    # 穴の位置の初期値
    while (x < xy[2]-$nige) # 終点まで位置を移動しながら繰り返す
    ana(x, xy[1], $hd, $hd)
    x += $pitch
    end
    end

    if xy[0] == xy[2] # 縦線のとき
    if xy[3] < xy[1]  # 始点が終点より大きいとき
    y = xy[3]      # 始点と終点を入れ替える
    xy[3] = xy[1]
    xy[1] = y
    end
    y = xy[1]+$nige      # 穴の位置の初期値
    while (y < xy[3]) # 終点まで位置を移動しながら繰り返す
     print "lc6\n"
    ana(xy[0], y, $hd, $hd)
    y += $pitch
    end
    end
    end
    end
    end
def ana(x1, y1, width, depth)  #穴の定義(以下が図形部分)
    ww = width/2
    dd = depth/2
    print "lc1\n"   #線色1の指定
    print "lt5\n"   #線種5の指定
    printf("%e %e %e %e\n", x1-width, y1, x1+width, y1) #横中心線
    printf("%e %e %e %e\n", x1, y1-depth, x1, y1+depth) #縦中心線
    print "lc6\n"   #線色6の指定
    print "lt1\n"   #線種1の指定
    printf("ci %e %e %e\n", x1, y1, dd) #円
end
main()