建築コミュニティポータル:昔の名前で頑張ってます


2017年9月26日(火) 23:24 JST


 掲示板目次 > CAD/コンピュータ > JW_CAD 質問室 新規投稿 返信投稿
 コマンドラインからのJWW→DXF変換
 
ゲストユーザ: ゲストユーザ
 2010年10月27日(水) 15:05 JST (参照数 8347回)  



はじめまして。よろしくお願いいたします。
JW_CADのJWWファイルをDXF形式に変換したいのですが、これを、JW_CADを開いて手作業で行うのではなく、コマンドラインから行える方法を探しております。
JacConvertも試してみたのですが、ヘルプ等を見てもコマンドラインからの実行方法は書いていなかったので、対応していないのですよね?
フリーソフトじゃなくても良いので、ソフトや方法をご存知の方がいらっしゃいましたら、教えていただけませんでしょうか。
どうぞよろしくお願いいたします。

 
引用して書き込む
AFsoft/AF
 2010年10月28日(木) 07:48 JST  
掲示板 Active Member
Active Member

状態: オフライン


登録日: 2007年11月 1日
投稿数: 376
Windows時代ですから、DOS的なコマンドラインからの実行というソフトウェアは余り出てこないんじゃないかと想像しますが、例えば当方のソフトでいくと、コマンドラインではありませんが、「JWC MENU もどき」や「JwwMenu」等で、Jw_cad を起動し図面ファイルを開いたあと、SendKeyな手法で
「@FE{ENTER}abcde.dxf{ENTER}」
のようなキーを送れば、上記のファイル名で DXF保存は出来ますから、Jw_cad を利用して一括変換を行うようなプログラムは、作れない事はないと思いますが、キーウエイトが必要なので、動きとしては結構遅くなるんじゃないかと思います。

当方のプログラムとか1からプログラミングをしないといけないとか、じゃなくても、WSHを使った手法とか、UWSCを使った手法とか、という方法でのSendKey的なものというのは作れるのだそうです。(Jw_cad作者さんのホームページの掲示板で過去にそういう話がありました。私は実際に試したわけではありませんので詳細は分かりません)

ただ、コマンドライン実行=何らかのプログラムから複数ファイルに対して変換を掛けよう、という意味合いなのでしたら、DXF変換後、Jw_cad を終了させる必要はあると思います。とすれば、DXF変換を行っている最中に終了させる事は出来ませんから、待たせないといけない。となると、どれだけ待てばいいのか?という判断をさせるのは悩みどころかもしれません。また、図面ファイルが開くのを待たせる必要が出てくるかもしれませんので、それも悩みどころになるかもしれません。

そうなると、Jw_cad を利用する方法ではなく、コマンドライン上で Jw_cadデータを開いてDXF変換を行うプログラムを探す、無ければ作成する、という方向が良いかもしれません。(私はそういうソフトは知らないです)

 
プロフィール メール ホームページ
引用して書き込む
ゲストユーザ: 投稿者
 2010年10月28日(木) 09:34 JST  



AFsoft/AFさん、早速のご回答ありがとうございます。
SendKeysは、ご指摘の通りいろいろと問題が起きそうですよね・・・。

> コマンドライン実行=何らかのプログラムから複数ファイルに対して変換を掛けよう

前回の書き込みでは省いてしまいましたが、詳しく説明させていただきます。
一回に変換するファイルは1つだけなのですが、ASP.NETのプログラムから制御したいの
です。
最終的に行いたいのは画像への変換です。
コマンドラインにてJWW→画像が可能なソフトは1つだけ見つけたのですが(VoiCeIMAGE)、
何か問題が発生すると固まってしまうという仕様(?)のソフトだったため、他の方法を
探しています。
DWGとDXFを画像に変換可能なコンポーネント製品が見つかったので、JWW→DXFが出来れば
これとの組み合わせでいけるのでは?と考えました。
そこで、前回の書き込みで、この部分のみに絞った質問をさせていただいた次第です。

うーん、この方法も手詰まりになりそうですね・・・。

 
引用して書き込む
AFsoft/AF
 2010年10月28日(木) 14:22 JST  
掲示板 Active Member
Active Member

状態: オフライン


登録日: 2007年11月 1日
投稿数: 376
画像に変換したいのでしたら、もし、Visual BASIC が使えるのでしたら、
Hirocom777さんが Jwwデータを開いて画面表示できるプログラムをソース込みで公開されているようですので、それを利用させてもらって、目的のプログラムを作ってしまう、って事ではどうでしょうか?
http://www.h7.dion.ne.jp/~hirocom/VBdeJW/

 
プロフィール メール ホームページ
引用して書き込む
ゲストユーザ: 投稿者
 2010年10月28日(木) 21:07 JST  



AFsoft/AFさん、再度のご回答ありがとうございます。

> Hirocom777さんが Jwwデータを開いて画面表示できるプログラムをソース込みで公開されている
> ようですので、それを利用させてもらって、目的のプログラムを作ってしまう、って事ではどう
> でしょうか?

早速拝見しました。すごいですね!
ただ、自作は少々厳しいかもしれません(>_<Wink
(VB歴は長いのですが、CAD歴がほぼ0なため、理解できるかどうか・・・。)

その後自分でいろいろと検索してみたのですが、JW_CADはコマンドラインから印刷が
可能なんですね!
c:\jww\Jw_win.exe ファイル名 /p

ということは、通常使うプリンタを一時的に画像出力の仮想プリンタにして、上記
コマンドをたたけばOKなのかな?と。
ただ、プリンタの用紙サイズを図面サイズにあわせる必要があると思いますので、
事前に各サイズに設定した仮想プリンタを複数用意しておいて、ご紹介いただいた
Hirocom777さんのソースを使わせていただいて図面サイズを取得し、その値に応じて
通常使うプリンタを切り替えれば良いのかな・・・と思ったのですが、間違っており
ますでしょうか・・・?
一応、試しに手作業でコマンドをたたいてやってみた限りでは、なんとなく行けそう
だったのですが。(画像出力の仮想プリンタは入れていないので、とりあえずAcrobat
でPDF出力してみました。)
途中でエラーが発生したらどうやって取得するんだ、とか、若干問題はあるような
気もしますが・・・(^_^Wink

当初の質問の趣旨と変わってしまい大変申し訳ございませんが、もし問題点等あり
そうでしたら、ご教示いただけませんでしょうか。
どうぞよろしくお願いいたします。

 
引用して書き込む
AFsoft/AF
 2010年10月28日(木) 21:43 JST  
掲示板 Active Member
Active Member

状態: オフライン


登録日: 2007年11月 1日
投稿数: 376
そちらの動作環境で動作するのであれば
そういう手法でも良いかもしれないですね。
何の仮想ドライバを使うのか(使える用紙サイズの種類もあると思いますので注意されて下さい)、
画像の保存先とファイル名はどうなるのか、
というのはあると思いますけれど。

エラーしたかどうかはやっぱり、画像が正常保存されたかどうかで確認するんじゃないかと思いますけれど。

 
プロフィール メール ホームページ
引用して書き込む
ゲストユーザ: 投稿者
 2010年10月29日(金) 09:17 JST  



AFsoft/AFさん、ありがとうございます。

> 何の仮想ドライバを使うのか(使える用紙サイズの種類もあると思いますので注意されて下さい)、
> 画像の保存先とファイル名はどうなるのか、
> というのはあると思いますけれど。

画像出力の仮想プリンタはフリー・シェア共にかなりの数があるようですので、
いろいろ試してみたいと思います。

> エラーしたかどうかはやっぱり、画像が正常保存されたかどうかで確認するんじゃないかと思いますけれど。

やはりそうなりますよね。
印刷前に図面サイズの取得も兼ねてHirocom777さんのソースで読み込みを行い
ますので、その際に、明らかにJWW形式じゃないファイルは除外可能だろうと
思っています。
それでもエラーになった場合は、しばらく待機してみて、ファイルが出来るか
どうか監視してみるしかないですよね。
これがベストでは無いと思いますが、とりあえず「全く方法が分からない!」
から脱却できましたので、この方法でやってみたいと思います。

なんだか自己完結みたいになってしまい、大変申し訳ございませんでした。
でも、AFsoft/AFさんにHirocom777さんのサイトをご紹介いただかな
ければ、この方法にたどり着くことは出来ませんでした。
本当にありがとうございました。

 
引用して書き込む
内容生成: 0.16 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
投稿可能 
一部のHTMLを許可 
バッドワードをチェック