Page 548 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼JWK JWSファイルの使い方 多呂 19/8/28(水) 19:12 ┣Re:JWK JWSファイルの使い方 ふゆ〜な〜 19/8/28(水) 20:02 ┣Re:JWK JWSファイルの使い方 LA 19/8/28(水) 23:14 ┃ ┣Re:JWK JWSファイルの使い方 多呂 19/8/29(木) 11:49 ┃ ┃ ┗Re:JWK JWSファイルの使い方 LA 19/8/31(土) 18:44 ┃ ┗Re:JWK JWSファイルの使い方 多呂 19/8/29(木) 11:53 ┣Re:JWK JWSファイルの使い方 LA 19/8/28(水) 23:16 ┃ ┗[投稿者削除] ┃ ┗Re:JWK JWSファイルの使い方 LA 19/8/31(土) 18:24 ┃ ┗[投稿者削除] ┃ ┗Re:JWK JWSファイルの使い方 LA 19/9/5(木) 23:46 ┣Re:JWK JWSファイルの使い方 Since Dos 19/8/29(木) 18:06 ┃ ┗Re:JWK JWSファイルの使い方 多呂 19/8/30(金) 8:13 ┃ ┣Re:JWK JWSファイルの使い方 多呂 19/8/30(金) 8:30 ┃ ┗Re:JWK JWSファイルの使い方 Since Dos 19/8/30(金) 13:32 ┃ ┗Re:JWK JWSファイルの使い方 多呂 19/8/30(金) 13:59 ┃ ┗Re:JWK JWSファイルの使い方 Since Dos 19/8/30(金) 14:16 ┗Re:JWK JWSファイルの使い方 AKIRA 19/8/31(土) 15:24 ┗Re:JWK JWSファイルの使い方 LA 19/8/31(土) 18:33 ┗Re:JWK JWSファイルの使い方 AKIRA 19/9/1(日) 8:43 ─────────────────────────────────────── ■題名 : JWK JWSファイルの使い方 ■名前 : 多呂 ■日付 : 19/8/28(水) 19:12 -------------------------------------------------------------------------
エクスプローラから jwsファイルを サムネイル表示で パーツを表示して JWCAD画面に ドラッグアンドドロップしても エラーになります。 使えない仕様なのかもしれませんが、 できると便利と思います。 他のソフト経由でもいいので 何か楽にできませんか? |
▼多呂さん: *.jwk *.jwsはjw_cadの図形ファイルです。 使い方は jwwを起動して メニュー→その他→図形と進み そのファイルが保存されているフォルダーを開くと表示されます。 >エクスプローラから jwsファイルを >サムネイル表示で >パーツを表示して >JWCAD画面に ドラッグアンドドロップしても >エラーになります。 > >使えない仕様なのかもしれませんが、 >できると便利と思います。 >他のソフト経由でもいいので 何か楽にできませんか? |
▼多呂さん: こんにちは 以前、こんなものを作りました。 図形ファイルをエクスプローラから開くと、起動中のJWWを操作してその図形を読み込みます。 JWWが起動していない場合は、新たに起動し、その中心に図形を配置します。 動作には、UWSC (うみうみ さん作)が必要です。 https://www.vector.co.jp/download/file/winnt/util/fh688296.html (公式サイトが閉じてしまった為、Vectorのものです) よろしければ、どうぞ使ってやって下さい。 以下の内容をコピーして、メモ帳等のテキストエディタに貼り付け、 OpenJwks2.uws とでも名前を付けて保存して下さい。 その後、スクリプトの最後尾にあるコメントの様に、拡張子jwk,jws に関連づけを行うと、エクスプローラから、図形ファイルが開ける様になります。 //============この次行から================== //図形ファイルを開くv2.0A (JWWv8.00d+UWSC v5.1.2にて動作確認) //線記号変形・建具(番号を指定)にも対応 フォルダのみも可(末尾に\) 最初のページ以外には非対応 OPTION SHORTCIRCUIT //論理演算の短絡評価 (ex. A AND B で A=偽 なら、Bを評価しない) //OPTION SAMESTR してないので大文字小文字区別なし CONST wt=0.01 //ウェイト小 CONST dbg=0 //DebugMode 0:off 1:fukidasi 2:print CONST jww=" - jw_win" PUBLIC id0 //JWWのid path=REPLACE(PARAM_STR[0],".DAT@",".DAT\") IF RESIZE(PARAM_STR)>=1 THEN cm=PARAM_STR[1] ELSE cm="" //コメント folder="" //Tree選択用 file="" //List選択用 mode=1 //0:新規JWW 1:ActiveなJWW DEF_DLL PostMessageA(Hwnd,Long,Long,Dword):Bool:user32 CONST WM_COMMAND = $111 DIM optT[]="","【建具平面","【建具断面","【建具立面","【線記号変形" //2重起動のチェック 処理が間に合わないでJWWが落ちるのを回避 id=GETID(GET_THISUWSC_WIN) s=STATUS(id,ST_TITLE) FOR i IN GETALLWIN() ExitEx("ふたつ同時はだめです" ,(STATUS(i,ST_TITLE)=s AND id<>i)) NEXT DbgPRINT("拡張子の取得")// //線記号変形は便宜的に.op4 とし、〜\JW_OPT4.DAT\1.op4 の様な具合に記述する (建具についても同様) IFB COPY(path,LENGTH(path))="\" THEN //フォルダTREEのみ選択の場合 xt=COPY(path,LENGTH(path)-4) IF COPY(xt,1,1)<>"." THEN path=path + LET(xt,".jws\") ELSE xt=COPY(path,LENGTH(path)-3) ENDIF DbgPRINT("図形フォルダのチェック") //存在しないとJWWが落ちるので危険注意 f=EMPTY;optN=0 SELECT xt CASE ".jwk" , ".jws" ExitEx(path+"は存在しません",!FOPEN(path,F_EXISTS)) folder=COPY(path,1,POS("\",path,-1)-1) file=COPY(path,LENGTH(folder)+2); DbgPrint("file:"+file) CASE ".jwk\" , ".jws\" folder=COPY(path,1,POS("\",path,-2)-1) ExitEx(folder+"は存在しません",!FOPEN(folder+"\",F_EXISTS)) file="" DbgPrint("folder:"+folder) CASE ".op4",".op4\",".op1",".op2",".op3",".op1\",".op2\",".op3\" folder=COPY(path,1,POS("\",path,LET(i,-1,-2,LENGTH(xt)=4))-1) optN=VAL(COPY(xt,4,1));DbgPRINT(optN,1) DbgPrint("folder:"+folder) ExitEx(folder+"は存在しません",LET(f,FOPEN(folder,F_READ))=-1) s=COPY(FGET(f,1),2) //JW_OPT??.DATの1行目読込 最初の文字(#)は除外 FCLOSE(f) opt4=COPY(folder,POS("JW_OPT",path)+7,1) IF opt4="." THEN opt4="A" opt4=optT[optN]+opt4+"】" + s IFB LENGTH(xt)=4 THEN ;folder=COPY(path,1,POS("\",path,-2)) + opt4 ;file=COPY(path,POS("\",path,-1)+1) ;file=COPY(file,1,LENGTH(file)-4) //拡張子を削除 ELSE //"op4\" etc ;folder=COPY(path,1,POS("\",path,-3)) + opt4 ;file="" ENDIF DEFAULT ExitEx(path + "は無効です") SELEND DbgPRINT("JWW起動中チェック")// id0=GETID(jww,"",0) IFB id0=-1 or STATUS(id0,ST_ICON) or mode=0 THEN //最小化対応 id0=EXEC("d:\jww\jw_win.exe") WHILE STATUS(id0,ST_BUSY); SLEEP(wt*10);WEND //JWWが立上がるまで待つ mode=0 ENDIF DbgPRINT("ファイル選択dlgが開いていたら閉じる")// id = GETID("ファイル選択", "#32770",0.01) DbgPRINT("ID取得") IFB id<>-1 AND STATUS(id,ST_PARENT)=id0 AND STATUS(id,ST_VISIBLE) THEN //非表示ダイアログの可能性有 DbgPRINT("ダイアログを閉じる") ACW(id);SLEEP(wt);KBD(VK_ESC);SLEEP(wt) ENDIF DbgPRINT("JWWをアクティブに") BusyWait(id0);ACW(id0) REPEAT ;SLEEP(wt);UNTIL STATUS(id0,ST_ACTIVE) DbgPRINT("コマンド実行") SELECT xt CASE ".jws",".jwk",".jws\","jwk\" id=OpenDlgJww(id0,32862,"ファイル選択") //図形 CASE ".op4",".op4\" id=OpenDlgJww(id0,32869,"ファイル選択") //線記号変形 CASE ".op1",".op1\" id=OpenDlgJww(id0,32848,"ファイル選択") //建具平面 CASE ".op2",".op2\" id=OpenDlgJww(id0,32866,"ファイル選択") //建具断面 CASE ".op3",".op3\" id=OpenDlgJww(id0,32865,"ファイル選択") //建具立面 DEFAULT ExitEx("コマンド不明:"+xt) SELEND //ここでアクティブから外れる事がある //===次コメに続く=== |
▼LAさん: ありがとうございました。 やってみました。 その後、スクリプトの最後尾にあるコメントの様に、拡張子jwk,jws に関連づけを行うと、エクスプローラから、図形ファイルが開ける様になります。 は どの実行ファイルに関連付けするのでしょうか? UWSC でしょうか? UWSCを起動して 下記テキストファイルを実行させましたが シンタックスエラー 3行目:こんにちは と 窓が出て OKしか選択できません。 関連付けだけで JW側で読み込まれるのでしょうか? >▼多呂さん: >こんにちは > > >以前、こんなものを作りました。 >図形ファイルをエクスプローラから開くと、起動中のJWWを操作してその図形を読み込みます。 >JWWが起動していない場合は、新たに起動し、その中心に図形を配置します。 >動作には、UWSC (うみうみ さん作)が必要です。 >https://www.vector.co.jp/download/file/winnt/util/fh688296.html >(公式サイトが閉じてしまった為、Vectorのものです) >よろしければ、どうぞ使ってやって下さい。 > > >以下の内容をコピーして、メモ帳等のテキストエディタに貼り付け、 >OpenJwks2.uws とでも名前を付けて保存して下さい。 > >その後、スクリプトの最後尾にあるコメントの様に、拡張子jwk,jws に関連づけを行うと、エクスプローラから、図形ファイルが開ける様になります。 > > >//============この次行から================== >//図形ファイルを開くv2.0A (JWWv8.00d+UWSC v5.1.2にて動作確認) >//線記号変形・建具(番号を指定)にも対応 フォルダのみも可(末尾に\) 最初のページ以外には非対応 >OPTION SHORTCIRCUIT //論理演算の短絡評価 (ex. A AND B で A=偽 なら、Bを評価しない) >//OPTION SAMESTR してないので大文字小文字区別なし >CONST wt=0.01 //ウェイト小 >CONST dbg=0 //DebugMode 0:off 1:fukidasi 2:print >CONST jww=" - jw_win" >PUBLIC id0 //JWWのid >path=REPLACE(PARAM_STR[0],".DAT@",".DAT\") >IF RESIZE(PARAM_STR)>=1 THEN cm=PARAM_STR[1] ELSE cm="" //コメント >folder="" //Tree選択用 >file="" //List選択用 >mode=1 //0:新規JWW 1:ActiveなJWW >DEF_DLL PostMessageA(Hwnd,Long,Long,Dword):Bool:user32 >CONST WM_COMMAND = $111 >DIM optT[]="","【建具平面","【建具断面","【建具立面","【線記号変形" > >//2重起動のチェック 処理が間に合わないでJWWが落ちるのを回避 >id=GETID(GET_THISUWSC_WIN) >s=STATUS(id,ST_TITLE) >FOR i IN GETALLWIN() > ExitEx("ふたつ同時はだめです" ,(STATUS(i,ST_TITLE)=s AND id<>i)) >NEXT > >DbgPRINT("拡張子の取得")// >//線記号変形は便宜的に.op4 とし、〜\JW_OPT4.DAT\1.op4 の様な具合に記述する (建具についても同様) >IFB COPY(path,LENGTH(path))="\" THEN //フォルダTREEのみ選択の場合 > xt=COPY(path,LENGTH(path)-4) > IF COPY(xt,1,1)<>"." THEN path=path + LET(xt,".jws\") >ELSE > xt=COPY(path,LENGTH(path)-3) >ENDIF > >DbgPRINT("図形フォルダのチェック") //存在しないとJWWが落ちるので危険注意 >f=EMPTY;optN=0 >SELECT xt >CASE ".jwk" , ".jws" > ExitEx(path+"は存在しません",!FOPEN(path,F_EXISTS)) > folder=COPY(path,1,POS("\",path,-1)-1) > file=COPY(path,LENGTH(folder)+2); > DbgPrint("file:"+file) >CASE ".jwk\" , ".jws\" > folder=COPY(path,1,POS("\",path,-2)-1) > ExitEx(folder+"は存在しません",!FOPEN(folder+"\",F_EXISTS)) > file="" > DbgPrint("folder:"+folder) >CASE ".op4",".op4\",".op1",".op2",".op3",".op1\",".op2\",".op3\" > folder=COPY(path,1,POS("\",path,LET(i,-1,-2,LENGTH(xt)=4))-1) > optN=VAL(COPY(xt,4,1));DbgPRINT(optN,1) > DbgPrint("folder:"+folder) > ExitEx(folder+"は存在しません",LET(f,FOPEN(folder,F_READ))=-1) > s=COPY(FGET(f,1),2) //JW_OPT??.DATの1行目読込 最初の文字(#)は除外 > FCLOSE(f) > opt4=COPY(folder,POS("JW_OPT",path)+7,1) > IF opt4="." THEN opt4="A" > opt4=optT[optN]+opt4+"】" + s > IFB LENGTH(xt)=4 THEN > ;folder=COPY(path,1,POS("\",path,-2)) + opt4 > ;file=COPY(path,POS("\",path,-1)+1) > ;file=COPY(file,1,LENGTH(file)-4) //拡張子を削除 > ELSE //"op4\" etc > ;folder=COPY(path,1,POS("\",path,-3)) + opt4 > ;file="" > ENDIF >DEFAULT > ExitEx(path + "は無効です") >SELEND > >DbgPRINT("JWW起動中チェック")// >id0=GETID(jww,"",0) >IFB id0=-1 or STATUS(id0,ST_ICON) or mode=0 THEN //最小化対応 > id0=EXEC("d:\jww\jw_win.exe") > WHILE STATUS(id0,ST_BUSY); SLEEP(wt*10);WEND //JWWが立上がるまで待つ > mode=0 >ENDIF > >DbgPRINT("ファイル選択dlgが開いていたら閉じる")// >id = GETID("ファイル選択", "#32770",0.01) >DbgPRINT("ID取得") >IFB id<>-1 AND STATUS(id,ST_PARENT)=id0 AND STATUS(id,ST_VISIBLE) THEN //非表示ダイアログの可能性有 > DbgPRINT("ダイアログを閉じる") > ACW(id);SLEEP(wt);KBD(VK_ESC);SLEEP(wt) >ENDIF > >DbgPRINT("JWWをアクティブに") >BusyWait(id0);ACW(id0) >REPEAT ;SLEEP(wt);UNTIL STATUS(id0,ST_ACTIVE) >DbgPRINT("コマンド実行") >SELECT xt >CASE ".jws",".jwk",".jws\","jwk\" > id=OpenDlgJww(id0,32862,"ファイル選択") //図形 >CASE ".op4",".op4\" > id=OpenDlgJww(id0,32869,"ファイル選択") //線記号変形 >CASE ".op1",".op1\" > id=OpenDlgJww(id0,32848,"ファイル選択") //建具平面 >CASE ".op2",".op2\" > id=OpenDlgJww(id0,32866,"ファイル選択") //建具断面 >CASE ".op3",".op3\" > id=OpenDlgJww(id0,32865,"ファイル選択") //建具立面 >DEFAULT > ExitEx("コマンド不明:"+xt) >SELEND > >//ここでアクティブから外れる事がある > > >//===次コメに続く=== |
▼多呂さん: こんにちは 試用いただきありがとうございます。 レスが遅くなってすいません。 >シンタックスエラー >3行目:こんにちは >と 窓が出て OKしか選択できません。 これの原因は、おそらく、投稿内容全文をコピーしている為です。 //============この次行から================== の次の行からコピーし、それより上の行は消して下さい。 |
▼LAさん: >こんにちは 最後に詳しくかいていました。 説明は 最初だけと勘違い。 もう少し研究してみます。 > >以前、こんなものを作りました。 >図形ファイルをエクスプローラから開くと、起動中のJWWを操作してその図形を読み込みます。 >JWWが起動していない場合は、新たに起動し、その中心に図形を配置します。 >動作には、UWSC (うみうみ さん作)が必要です。 >https://www.vector.co.jp/download/file/winnt/util/fh688296.html >(公式サイトが閉じてしまった為、Vectorのものです) >よろしければ、どうぞ使ってやって下さい。 > > >以下の内容をコピーして、メモ帳等のテキストエディタに貼り付け、 >OpenJwks2.uws とでも名前を付けて保存して下さい。 > >その後、スクリプトの最後尾にあるコメントの様に、拡張子jwk,jws に関連づけを行うと、エクスプローラから、図形ファイルが開ける様になります。 > > >//============この次行から================== >//図形ファイルを開くv2.0A (JWWv8.00d+UWSC v5.1.2にて動作確認) >//線記号変形・建具(番号を指定)にも対応 フォルダのみも可(末尾に\) 最初のページ以外には非対応 >OPTION SHORTCIRCUIT //論理演算の短絡評価 (ex. A AND B で A=偽 なら、Bを評価しない) >//OPTION SAMESTR してないので大文字小文字区別なし >CONST wt=0.01 //ウェイト小 >CONST dbg=0 //DebugMode 0:off 1:fukidasi 2:print >CONST jww=" - jw_win" >PUBLIC id0 //JWWのid >path=REPLACE(PARAM_STR[0],".DAT@",".DAT\") >IF RESIZE(PARAM_STR)>=1 THEN cm=PARAM_STR[1] ELSE cm="" //コメント >folder="" //Tree選択用 >file="" //List選択用 >mode=1 //0:新規JWW 1:ActiveなJWW >DEF_DLL PostMessageA(Hwnd,Long,Long,Dword):Bool:user32 >CONST WM_COMMAND = $111 >DIM optT[]="","【建具平面","【建具断面","【建具立面","【線記号変形" > >//2重起動のチェック 処理が間に合わないでJWWが落ちるのを回避 >id=GETID(GET_THISUWSC_WIN) >s=STATUS(id,ST_TITLE) >FOR i IN GETALLWIN() > ExitEx("ふたつ同時はだめです" ,(STATUS(i,ST_TITLE)=s AND id<>i)) >NEXT > >DbgPRINT("拡張子の取得")// >//線記号変形は便宜的に.op4 とし、〜\JW_OPT4.DAT\1.op4 の様な具合に記述する (建具についても同様) >IFB COPY(path,LENGTH(path))="\" THEN //フォルダTREEのみ選択の場合 > xt=COPY(path,LENGTH(path)-4) > IF COPY(xt,1,1)<>"." THEN path=path + LET(xt,".jws\") >ELSE > xt=COPY(path,LENGTH(path)-3) >ENDIF > >DbgPRINT("図形フォルダのチェック") //存在しないとJWWが落ちるので危険注意 >f=EMPTY;optN=0 >SELECT xt >CASE ".jwk" , ".jws" > ExitEx(path+"は存在しません",!FOPEN(path,F_EXISTS)) > folder=COPY(path,1,POS("\",path,-1)-1) > file=COPY(path,LENGTH(folder)+2); > DbgPrint("file:"+file) >CASE ".jwk\" , ".jws\" > folder=COPY(path,1,POS("\",path,-2)-1) > ExitEx(folder+"は存在しません",!FOPEN(folder+"\",F_EXISTS)) > file="" > DbgPrint("folder:"+folder) >CASE ".op4",".op4\",".op1",".op2",".op3",".op1\",".op2\",".op3\" > folder=COPY(path,1,POS("\",path,LET(i,-1,-2,LENGTH(xt)=4))-1) > optN=VAL(COPY(xt,4,1));DbgPRINT(optN,1) > DbgPrint("folder:"+folder) > ExitEx(folder+"は存在しません",LET(f,FOPEN(folder,F_READ))=-1) > s=COPY(FGET(f,1),2) //JW_OPT??.DATの1行目読込 最初の文字(#)は除外 > FCLOSE(f) > opt4=COPY(folder,POS("JW_OPT",path)+7,1) > IF opt4="." THEN opt4="A" > opt4=optT[optN]+opt4+"】" + s > IFB LENGTH(xt)=4 THEN > ;folder=COPY(path,1,POS("\",path,-2)) + opt4 > ;file=COPY(path,POS("\",path,-1)+1) > ;file=COPY(file,1,LENGTH(file)-4) //拡張子を削除 > ELSE //"op4\" etc > ;folder=COPY(path,1,POS("\",path,-3)) + opt4 > ;file="" > ENDIF >DEFAULT > ExitEx(path + "は無効です") >SELEND > >DbgPRINT("JWW起動中チェック")// >id0=GETID(jww,"",0) >IFB id0=-1 or STATUS(id0,ST_ICON) or mode=0 THEN //最小化対応 > id0=EXEC("d:\jww\jw_win.exe") > WHILE STATUS(id0,ST_BUSY); SLEEP(wt*10);WEND //JWWが立上がるまで待つ > mode=0 >ENDIF > >DbgPRINT("ファイル選択dlgが開いていたら閉じる")// >id = GETID("ファイル選択", "#32770",0.01) >DbgPRINT("ID取得") >IFB id<>-1 AND STATUS(id,ST_PARENT)=id0 AND STATUS(id,ST_VISIBLE) THEN //非表示ダイアログの可能性有 > DbgPRINT("ダイアログを閉じる") > ACW(id);SLEEP(wt);KBD(VK_ESC);SLEEP(wt) >ENDIF > >DbgPRINT("JWWをアクティブに") >BusyWait(id0);ACW(id0) >REPEAT ;SLEEP(wt);UNTIL STATUS(id0,ST_ACTIVE) >DbgPRINT("コマンド実行") >SELECT xt >CASE ".jws",".jwk",".jws\","jwk\" > id=OpenDlgJww(id0,32862,"ファイル選択") //図形 >CASE ".op4",".op4\" > id=OpenDlgJww(id0,32869,"ファイル選択") //線記号変形 >CASE ".op1",".op1\" > id=OpenDlgJww(id0,32848,"ファイル選択") //建具平面 >CASE ".op2",".op2\" > id=OpenDlgJww(id0,32866,"ファイル選択") //建具断面 >CASE ".op3",".op3\" > id=OpenDlgJww(id0,32865,"ファイル選択") //建具立面 >DEFAULT > ExitEx("コマンド不明:"+xt) >SELEND > >//ここでアクティブから外れる事がある > > >//===次コメに続く=== |
//============続き=================== //左側フォルダTREEをクリック DbgPRINT("フォルダ:"+folder);DbgPRINT("カレント1:"+GETSLCTLST(id,1));DbgPRINT("カレント2:"+GETSLCTLST(id,2)) //folderがTREE内に存在しないとJWWを強制終了するしかなくなるのでチェックは厳重に IF GETSLCTLST(id,1)<>"\"+folder AND GETSLCTLST(id,2)<>"\"+folder THEN CLKITEM(id, folder, CLK_TREEVEW) ExitEx(cm,file="") //フォルダのみの場合はここで終了 //右側リストをダブルクリック DbgPRINT(LET(s,"ファイル:"+file, cm, cm=""),1) SELECT xt CASE ".jws",".jwk" CLKITEM(id, "リスト表示", CLK_BTN, TRUE) //リスト表示にする サムネイルだと要スクロールの為 IF GETITEM(id,ITM_LIST,-1) AND GETSLCTLST(id,1)<>xt THEN CLKITEM(id, xt, CLK_LIST) CLKITEM(id, file, CLK_LSTVEW or CLK_LEFTCLK or CLK_DBLCLK) //図形を選択 CASE ".bat" CLKITEM(id, file, CLK_LSTVEW or CLK_LEFTCLK or CLK_DBLCLK) //外変を選択 CASE ".op4",".op1",".op2",".op3" CLKITEM(ID,"ファイル選択", CLK_ACC or CLK_MUSMOVE,TRUE,VAL(file));BTN(LEFT);SLEEP(0.01);BTN(LEFT) //CLK_LEFTCLK CLK_DBLCLK は反応せず。ラベル指定はカーソルがどこかに飛ぶのでNG SELEND SLEEP(0.1) ACW(id0) //新規JWWの場合図形配置 とりあえず、クライアント領域の中央に配置 IF mode=0 THEN BTN(LEFT,CLICK,STATUS(id0,ST_CLX)+STATUS(id0,ST_CLWIDTH)/2,STATUS(id0,ST_CLY)+STATUS(id0,ST_CLHEIGHT)/2) SLEEP(2) //FUKISASI , PRINT 用 EXITEXIT //メインルーチン終了 //WM_COMMAND を送ってダイアログを開く FUNCTION OpenDlgJww(id,cmd,s) PostMessageA(IDTOHND(id), WM_COMMAND, cmd, 0) RESULT=WaitActiveDlg(s) FEND //ダイアログがアクティブになるまで待つ FUNCTION WaitActiveDlg(s) DbgPRINT(s) id= GETID(s, "#32770", -1) DbgPRINT(s+"発見") //ACW(id) REPEAT; SLEEP(wt);UNTIL STATUS(GETID(GET_ACTIVE_WIN),ST_TITLE)=s DbgPRINT(s+"アクティブ完了") RESULT=GETID(GET_ACTIVE_WIN) FEND //ウインドウがBUSYの間待つ PROCEDURE BusyWait(id) DbgPRINT("BusyWAit:"+STATUS(id,ST_TITLE)) WHILE STATUS(id,ST_BUSY); SLEEP(wt);WEND DbgPRINT("BusyWAit完了") FEND //ウインドウがActiveになるまで待つ PROCEDURE WinWaitActive(id) BusyWait(id) ACW(id) REPEAT ;SLEEP(wt);UNTIL STATUS(id,ST_ACTIVE) FEND //強制終了 PROCEDURE ExitEx(s="",f=TRUE,w=1.5) IF !f THEN EXIT IFB s<>"" THEN ;DbgPRINT(s,1) ENDIF SLEEP(w) EXITEXIT FEND //デバッグ用 コメントの代わりに使ってもよい PROCEDURE DbgPRINT(s,dbg1=dbg,w=wt) SELECT dbg1 CASE 1 ;FUKIDASI(s,G_MOUSE_X+50,G_MOUSE_Y+50);SLEEP(w) CASE 2 ;PRINT s;SLEEP(w) ;SELEND FEND //変数代入用 3項演算子の代わりも可 FUNCTION LET(var a,b,c=EMPTY,flg=TRUE) IF c=EMPTY THEN c=a IF flg THEN a=b ELSE a=c RESULT=a FEND 以下、コメント 使用法ヒント jwk,jws の場合: 関連付けして使う (例) c:\tool\uwsc\uwsc.exe c:\jww\gaihen\OpenJwks2.uws "%1" %* 推奨関連付ソフト NirSoftさん作 FileTypesMan http://www.nirsoft.net/utils/file_types_manager.html 又は、このスクリプトと同じフォルダに以下の内容のbatファイルを作成し、それに関連付けをする START "" "OpenJwks2.uws" "%1" 線記号変形・建具(4->1〜3に読替)の場合: JW_OPT4ファイル内での番号を指定し、拡張子.op4 を付けて指定する 関連付しない場合は、個別にbatファイルを作成する START "" "OpenJwks2.uws" "C:\jww\JW_OPT4.DAT\5.op4" "コーナー" //標準添付【線記号変形A】コーナー の場合 (スクリプトとbatファイルが同じフォルダにある場合) 関連付けする場合は、JW_OPT4.DAT@1.op4 の様に、.DATの後ろの\->@に置き換えた名前のダミーファイルをOPT4ファイルと同じフォルダに作成する 第2引数を指定すると、ファイル名の代わりにFUKIDASI表示される(これは、.op4に限らず有効) リストをスクロールさせないので、最初のページに入らない物には非対応 フォルダのみ: 最期に\を付けると、フォルダのみ選択し、ダイアログが表示されたまま終了する START "" "OpenJwks2.uws" "C:\jww\JW_OPT4.DAT\.op4\" |
この書き込みは投稿者によって削除されました。(20/4/5(日) 11:33) |
▼R.Nさん: こんにちは こちらこそ、いつもありがとうございます。 すいません。1ヶ所投稿時に修正し忘れていました。 72行目付近の、id0=EXEC("d:\jww\jw_win.exe")を、 id0=EXEC("c:\jww\jw_win.exe") に修正して下さい。 JWWが起動していない場合、JWWを立ち上げるのですが、そのパスを修正し忘れていました。ここが違うと、JWWの起動が完了するまで待つので、無限ループにはまる可能性があります。 自環境で問題が無かったので見落としていました。すいませんです。 ひとつ気になるのが、【ふたつ同時はだめです】で、このスクリプトが二重起動した場合に表示されるはずのものです。 連続してスクリプトを起動した場合、複数のスクリプトから同時に操作を受けてJWWが異常動作を起こす可能性がありましたので、同名スクリプトが既に起動していた場合終了する様にしました。 おそらく、先の誤りで、動作中の同名スクリプトがあると思いますので、動作中の同名スクリプトを終了してみて下さい。 あと、どうしてもうまく動かない様でしたら、6行目付近、dbg=2 にしてみてください。 進行状態と要注意変数がテキスト表示されますので、問題解決に役立ちます。 |
この書き込みは投稿者によって削除されました。(20/4/5(日) 11:31) |
▼R.Nさん: こんにちは 色々弄っていただき、ありがとうございます。 サムネイル表示での選択の仕方は、.op4とかの所を参考にしてみて下さい。 番号の指定の仕方については、 GETDIRを使ってファイル一覧を取得して順番を所得という方法を考えていたのですが、 ・表示されている範囲の項目しか選択できず、スクロールする必要がある ・取得したファイル一覧をJWW側と全く同じ順番に並び替える必要がある といった難点があったため、サムネイル表示での選択はしない事にしました。 が、それよりも、0.jwk(s) とか !.jws(k)というファイルにコピーして番号1を選択 の方が楽という事に今気付きました。 |
▼多呂さん: ‥‥他のソフト経由でもいいので 何か楽にできませんか?‥‥ 他のソフト経由するのであれば、JWWから開いた方が簡単で早いと思いますが、 ‥‥ドラッグアンドドロップできると便利と思います。‥‥ ということですが、どのような目的、又は使い方をされるのでしょうか。 |
▼Since Dosさん: > ‥‥ドラッグアンドドロップできると便利と思います。‥‥ > >ということですが、どのような目的、又は使い方をされるのでしょうか。 ・エクスプローラから サムネイル表示 ・標準機能のファイル表示はデスクトップ等にアクセスしにくい。 ・ドラッグアンドドロップでき 便利。 ・リネームが 行いやすい。 ・ファイル管理(移動 複写が容易)★ ・標準機能でリネームすると 拡張子を触ってしまうと 次回から表示されない(復旧可能) ・標準機能では マウスによる拡大縮小ができる為便利。 よって エクスプローラー等 3個位開けておけば よく使う フォルダーにアクセスし ドラッグアンドドロップで ファイル利用ができる。 JWCADでは それができない仕様なので なんとかならないか?という質問です。 BEDRAWが できるので JWCADも できるように ならないかなぁと 思っています。 できないのであれば 工夫して使える方法を探しています。 |
AFJWV とう ソフトもできましたが ツークッションあります。 JWWクリップボードにコピーと あります。 これで コピーできるので サムネイルから右クリックで 「JWWクリップボードにコピー」 で ファイルがリネームでき、 ファイルの移動 複写ができるようなソフトです。 作者様には失礼しました。 |
▼多呂さん: > >・エクスプローラから サムネイル表示 >・標準機能のファイル表示はデスクトップ等にアクセスしにくい。 >・ドラッグアンドドロップでき 便利。 >・リネームが 行いやすい。 >・ファイル管理(移動 複写が容易)★ > これらの目的にかなうかどうかわかりませんが、 以下のフリーソフトを試してみてはどうでしょう。 私はけっこう便利に使わせてもらってます。 エクスプローラでの サムネイル表示(図面、図形表示)や 移動、複写、リネームなどが可能です。 ‥‥すでに使っておられたらゴメンなさい。 ================================================================ 【ソ フ ト名】 Jw_cad情報表示 Ver.2.5 【登 録 名】 JwCADInfo.zip 【著作権 者】 A.MORICHIKA m_akira@ka2.so-net.ne.jp 【対応 機種】 Windows 10/8/7/Vista, IE9.0以上 【必要DLL】 なし 【ソフトウェア種別】 フリーソフトウェア ================================================================= ◆ 概要 エクスプローラに表示された、拡張子「.Jww」「.Jwc」のファイル上にマウスカーソルを近づけると 情報が表示されます。 表示方法を「中〜特大アイコン」に切り替えると図面イメージを表示します。 「プレビューウィンドウ」を有効にすると、拡大/縮小/パンニング/レイヤの表示操作などができます。 |
▼Since Dosさん: >▼多呂さん: > >> >>・エクスプローラから サムネイル表示 >>・標準機能のファイル表示はデスクトップ等にアクセスしにくい。 >>・ドラッグアンドドロップでき 便利。 >>・リネームが 行いやすい。 >>・ファイル管理(移動 複写が容易)★ >> > > >これらの目的にかなうかどうかわかりませんが、 >以下のフリーソフトを試してみてはどうでしょう。 >私はけっこう便利に使わせてもらってます。 > >エクスプローラでの サムネイル表示(図面、図形表示)や >移動、複写、リネームなどが可能です。 > > ‥‥すでに使っておられたらゴメンなさい。 ありがとうございます。 私もこれで運用させてもらっていますが ここから JWに戻らないと行けないので、 本体に ドラッグアンドドロップできないのであれば 違うソフトに経由してでもいいので JWに挿入できないかなぁと思っていましたら いくつか あったのですが、 なかなか 思い通りにならなかったです。 BEDRAWは エクスプローラーから ドラッグアンドドロップで JWS JWKファイルを受け付け 作図画面に表示されます。 ここから コピペできたとしても 一手間かかるので 意味をなさないかもしれません。 JWCADにドラッグアンドドロップは 読めませんと 表示されます。 結局は 標準機能が 無難になってしまうのですが 一番最初に教えて頂いた やり方 Windows操作の自動化フリーソフト『UWSC』 になるのかなぁという感じです。 JW側で 仕様を追加してもらえるしか 解決しなさそうですね。 > ================================================================ > 【ソ フ ト名】 Jw_cad情報表示 Ver.2.5 > 【登 録 名】 JwCADInfo.zip > 【著作権 者】 A.MORICHIKA m_akira@ka2.so-net.ne.jp > 【対応 機種】 Windows 10/8/7/Vista, IE9.0以上 > 【必要DLL】 なし > 【ソフトウェア種別】 フリーソフトウェア > ================================================================= > > ◆ 概要 > > エクスプローラに表示された、拡張子「.Jww」「.Jwc」のファイル上にマウスカーソルを近づけると > 情報が表示されます。 > > 表示方法を「中〜特大アイコン」に切り替えると図面イメージを表示します。 > > 「プレビューウィンドウ」を有効にすると、拡大/縮小/パンニング/レイヤの表示操作などができます。 |
▼多呂さん: ‥やはり使われていましたか。 お役に立ちませんで‥ また何かいい情報がありましたらよろしくお願いします。 |
▼多呂さん: >エクスプローラから jwsファイルを >サムネイル表示で >パーツを表示して >JWCAD画面に ドラッグアンドドロップしても >エラーになります。 > >使えない仕様なのかもしれませんが、 >できると便利と思います。 >他のソフト経由でもいいので 何か楽にできませんか? ファイル選択のダイアログをWindows標準にすれば解決するのでは? |
▼AKIRAさん: こんにちは >ファイル選択のダイアログをWindows標準にすれば解決するのでは? 残念ながら、図形コマンドは、基本設定 一般(1) ファイル選択にコモンダイアログを使用する の対象外のはずです。 |
▼LAさん: >▼AKIRAさん: >こんにちは > >>ファイル選択のダイアログをWindows標準にすれば解決するのでは? >残念ながら、図形コマンドは、基本設定 一般(1) ファイル選択にコモンダイアログを使用する の対象外のはずです。 そうなんですね。 次回のバージョンアップで対応してほしいです。 |