• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ME10→DXF→JWCADの変換)

ME10→DXF→JWCADの変換

このQ&Aのポイント
  • ME10→DXF→JWCADの変換方法を教えてください
  • ME10からJWCADにデータを送る際の変換方法を知りたいです
  • ME10で作成したデータをJWCADで正しく表示する方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.4

これはME10のVer10.5以降のDXF変換がおかしいんです。 DXFファイルのヘッダーで、範囲を示しているところがありますが、 $EXTMIN 10 1.000000000000E+20    (A4サイズで中心配置だと本来-150ぐらい) 20 1.000000000000E+20    (A4サイズで中心配置だと本来-110ぐらい) 30 1.000000000000E+20    (通常は0になる?) 9 $EXTMAX 10 -1.000000000000E+20    (A4サイズで中心配置だと本来150ぐらい) 20 -1.000000000000E+20    (A4サイズで中心配置だと本来110ぐらい) 30 -1.000000000000E+20    (通常は0になる?) などというありえない数字になってしまいます。 この部位は変換設定できないので、どうしようもないのですが、 解決策としては、できあがったDXFファイルから上記の部分を削除してしまえば、JWでは勝手に範囲認識します。(JW-Win Ver4.03dで確認) あと、ME10のVer8.7があれば、それで変換するとこの問題は出ないのですが。 #くれぐれも重要なファイルならバックアップしてから作業してください。 ME10 Ver10.5で出力したDXFファイルの例です。 そのDXFファイルをメモ帳などで開きます。 すると、 0 SECTION 2 HEADER 9 $ACADVER 1 AC1014 9 $ACADMAINTVER 70 0 9 $DWGCODEPAGE 3 DOS932 9 $INSBASE 10 0.0 20 0.0 30 0.0 9 $EXTMIN             ここから 10 1.000000000000E+20 20 1.000000000000E+20 30 1.000000000000E+20 9 $EXTMAX 10 -1.000000000000E+20 20 -1.000000000000E+20 30 -1.000000000000E+20 9               ここまで $LIMMIN 10 0.0 20 0.0 9 ・ ・ ・ (続く) という風になってます。 たぶん、どのDXFファイルでも(同じVerのソフトなら)同じ行数に出てくると思います。 それを、$EXTMINの行から$LIMMINの上の行までを削除してしまい、上書き保存するだけ。 ちょっと間違ってました。 $EXTMIN~$EXTMAXを削除すると、勝手に領域認識するのではなく、 その前に呼び出したファイルの範囲が表示されますね。 そのため、上記作業を行ったファイルの前に、元のおかしい範囲のファイルを読んでいると、表示がおかしいままになりますね。 適当なファイルを(DXFでなくて、JWファイルでも良いようです)仮で読んでから、上記の範囲削除ファイルを読む必要がありそうです。 ME10のマクロで、擬似的に$EXTMIN~$EXTMAXを作れますね。  ↓ こんなマクロで。 DEFINE JWWDXFOUT LOCAL JWW_NAME LOCAL Window_ll LOCAL Window_ur LOCAL EXTMIN_10 LOCAL EXTMIN_20 LOCAL EXTMAX_10 LOCAL EXTMAX_20 READ STRING 'ファイル名入力。' JWW_NAME Tm_window_fit INQ_ENV 1 IF ((INQ 2)>0) INQ_ENV 2 LET Window_ll (INQ 101) LET Window_ur (INQ 102) LET EXTMIN_10 (X_OF Window_ll) LET EXTMIN_20 (Y_OF Window_ll) LET EXTMAX_10 (X_OF Window_ur) LET EXTMAX_20 (Y_OF Window_ur) END_IF STORE DXF ALL JWW_NAME OPEN_OUTFILE 1 (JWW_NAME + '.TXT') WRITE_FILE 1 '$EXTMIN' WRITE_FILE 1 ' 10' WRITE_FILE 1 EXTMIN_10 WRITE_FILE 1 ' 20' WRITE_FILE 1 EXTMIN_20 WRITE_FILE 1 ' 30' WRITE_FILE 1 '0' WRITE_FILE 1 ' 9' WRITE_FILE 1 '$EXTMAX' WRITE_FILE 1 ' 10' WRITE_FILE 1 EXTMAX_10 WRITE_FILE 1 ' 20' WRITE_FILE 1 EXTMAX_20 WRITE_FILE 1 ' 30' WRITE_FILE 1 '0' WRITE_FILE 1 ' 9' CLOSE_FILE 1 END_DEFINE これを実行すれば、DXFファイルと同時に、同じ名前で$EXTMIN~$EXTMAXの範囲のテキストファイルが出来ます。 その内容をDXFファイルの該当箇所に貼り付けてやればできあがり。 自動的に変更できないかな?と思ってみたけど、やりかたがわかりませんでした。

noname#230358
質問者

お礼

ご回答ありがとうございます。 原因が分かりましたので参考になりました。 ただ私の勉強不足で申し訳ないのですが「DXFファイルのヘッダー」とは? >解決策としては、できあがったDXFファイルから上記の部分を削除してしまえば、JWでは勝手に範囲認識します。(JW-Win Ver4.03dで確認) この操作を試したいのですが上記の削除部分の表示方法が分かりません。 具体的な手順を教えていただけないでしょうか。 ありがとうございます。 さっそく試してみたいと思います。

その他の回答 (4)

noname#230359
noname#230359
回答No.5

回答(4)さんが完璧な回答をされていますが、補足・別案等を少々。 私はME10・JWCAD使いではありませんが、 会社で使っているパソコンにME10(Ver.11)があるので試してみたところ、同様な現象になりました。 また、回答(2)さんのように、JWCADのマウス両ボタン右上ドラッグ(全体表示)では、フィットしないのも困りものですね。 回答(3)さんの言われるように、DXFには倍率の情報は無く、CADによりスケールの設定は異なるので、本不具合は「良くあること」です。 今回の、ME10→JWCADでは、質問者さん・回答(4)さんの言われる方法以外にいくつか考えられます。 1. コクリエイトのサポートに連絡して、対応してもらう。  このままでもAutoCADでの読み込みには支障ないので、断られる可能性大です。 2. コンバートソフトを使う。  例えば「JacConvert」(シェアウェア)。  試してみたところ、DXF→DXF・DXF→JWWとも不具合解消されました。  DXF解析機能もあるので、DXF→DXFで$EXTMIN・$EXTMAXの変化を確認できます。 CADメーカは、  ◇AutoCADが書き出したDXFが、自身で問題なく読み込めるよう。  ◇自身が書き出したDXFが、AutoCADで問題なく読み込めるよう。 には注力しますが、その他は都度対応程度と考えますが、いかがでしょうか? これを利用して、下記の方法が万能とも考えます。 3. CAD-Aで書き出したDXFをAutoCADで読み込んで、そのままDXFで書き出しCAD-Bで読み込む。  ビンボー人の私が自腹を切ってまでAutoCADを買った理由の一つです。:-) 回答(4)さんへ、 >$EXTMIN~$EXTMAXを削除すると、勝手に領域認識するのではなく、 >その前に呼び出したファイルの範囲が表示されますね。 連絡をありがとうございます。私も勘違いしていました。

noname#230358
質問者

お礼

ご回答ありがとうございます。 いろんな案を出していただき感謝いたします。 CADユーザーが増えれば増えるほどこういった「良くあること」が増えるので 各メーカーさんが機能も重要ですが互換性にもっと力を注いでもらえると ユーザーとしてはうれしいですね。 ご意見参考にさせていただきます。 ありがとうございました。 ご回答ありがとうございます。 いろんな案を出していただき感謝いたします。 CADユーザーが増えれば増えるほどこういった「良くあること」が増えるので 各メーカーさんが機能も重要ですが互換性にもっと力を注いでもらえると ユーザーとしてはうれしいですね。 ご意見参考にさせていただきます。 ありがとうございました。 ご回答ありがとうございます。 いろんな案を出していただき感謝いたします。 CADユーザーが増えれば増えるほどこういった「良くあること」が増えるので 各メーカーさんが機能も重要ですが互換性にもっと力を注いでもらえると ユーザーとしてはうれしいですね。 ご意見参考にさせていただきます。 ありがとうございました。

noname#230359
noname#230359
回答No.3

寸法線とか字はどうなってますか。単にjwで表示されるときに全画面表示で小さくなるのなら余分な点とか要素が画面の端に混ざってませんかdxfには倍率の情報は無いので読みこんだcadで要素の最大値を探して全画面表示してるだけなのでなにか余分なごみが混ざってる可能性があります。

noname#230358
質問者

お礼

返事が遅くなりまして申し訳ありません。 ご回答ありがとうございました。 以前に他CADから作成された.dxfファイルをME10で読み込んだときに 『余分なごみ』がたくさんあった経験がありましたので、もしやと思い JWで周辺を削除してみましたが何もありませんでした。 他のやり方を探してみます。 ありがとうございました。

noname#230359
noname#230359
回答No.2

ゴーヤさん、はじめまして。 僕の使っているCADはナスカですが、やはりAutoCadからコンバートすると、ノミの様な大きさになります。 我流ですが、一度原点を消してから図形を“FITボタン”で表示させると丁度良い大きさで表示されます。JWCADには“FITボタン”の様な機能は有りませんか? 原点は後で自分の都合の良いところ、或いは加工の原点に付け直せば良いと思います。

noname#230358
質問者

お礼

返事が遅くなりまして申し訳ありません。 ご回答ありがとうございました。 手順が容易だったので試そうと思いチャレンジしたところ『全体表示(FIT)』という機能は 見つけたのですが原点というものが存在するのか見つけられませんでした。 なにぶんJWの知識は皆無なものですから。 もしJWでこのような加工ができるというご回答があれば よろしくお願いします。 ありがとうございました。

noname#230359
noname#230359
回答No.1

拡大して図面データーがちゃんと有るのでしたら、CADで拡大して使えば良いんじゃないでしょうか?(倍率だけの問題だったら) 基準寸法に合せて分数で拡大出来ますので・・・ ちなみにその都度大きさ(倍率)が変わるって事は無いですよね? JWだと99.999倍が一度に出来る最大倍率ですので、2万倍を2回繰り返すようになりますが・・・ 移動コマンドを使って上記方法で拡大して貼り付ければ表示できます。 レイヤを強制移動すれば拡大率(実寸に変更)も変更できます。

noname#230358
質問者

お礼

返事が遅くなりまして申し訳ありません。 ご回答ありがとうございました。 倍率が変わることはありません。(おそらく。。。) JWの使い方が分からないのでやり方が間違ってるかもしれないですが 拡大して使用できなくはないですが全体表示(フィット)すると元に戻ってしまうのでJWで操作しない方法で考えてみます。 ありがとうございました。

関連するQ&A