Jw_cad 情報交換室−その3New

 JWW についての情報交換の場としてお使いください
初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
54 / 301 ツリー    ←次へ | 前へ→

図面情報コピーとタグジャンプ mirror 17/3/22(水) 19:33
Re:図面情報コピーとタグジャンプ mirror 17/3/23(木) 12:52
Re:図面情報コピーとタグジャンプ いっち 17/3/26(日) 19:09
Re:図面情報コピーとタグジャンプ いっち 17/3/26(日) 19:32
Re:図面情報コピーとタグジャンプ いっち 17/3/26(日) 23:55
Re:図面情報コピーとタグジャンプ mirror 17/3/27(月) 7:05
Re:図面情報コピーとタグジャンプ いっち 17/3/27(月) 12:56
Re:図面情報コピーとタグジャンプ いっち 17/4/1(土) 5:24
Re:図面情報コピーとタグジャンプ mirror 17/4/1(土) 7:25
Re:図面情報コピーとタグジャンプ いっち 17/4/1(土) 9:55
Re:図面情報コピーとタグジャンプ mirror 17/4/1(土) 11:16
Re:図面情報コピーとタグジャンプ いっち 17/4/1(土) 14:48

図面情報コピーとタグジャンプ
 mirror  - 17/3/22(水) 19:33 -
Jw_cadのタグジャンプは、同一インスタンスを使う仕様ですが
図面情報コピーで取得できる文字列は、起動オプションとして利用可能です
従って、別のインスタンスを起動(多重起動)して開くことも可能ですので
同一図面内の図面参照についても、違ったアプローチが可能になります
https://youtu.be/Uhsh99mGIsI

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edg...@FLA1Aaa023.koc.mesh.ad.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 mirror  - 17/3/23(木) 12:52 -
図面情報コピーやタグジャンプを、あまり使われていない場合には
判り難いと思われますので、サンプルの動作説明を書き込んでおきます

ツールのタスクトレイアイコンをマウスオーバーして表示されるメニューは
図面情報文字列(クリップボードデータ)を、履歴して列挙していきます
履歴しようとするデータが、既に履歴されている場合は排除します
従って、Jw_cadでの表示を変更して、図面情報コピーを行うと
その図面情報文字列を、リストにして保持するようになっています

サンプルでは
レイヤファイル(*.jwl)を適用して、レイヤ表示を変更し画面拡大したあと
(この時に、印刷範囲を変更しておくと、印刷範囲も変更が適用されます)
マクロリストを表示して、図面情報コピーを実行し履歴を確認しています

メニューから、図面情報文字列リスト内を選択すると
新たに、Jw_cadに起動オプションとして上記文字列を与えて起動しています
今回の動作は、同一ファイルを、表示を変更して多重起動しましたが
別ファイルであっても、同様に動作させることができます

ツールでなくても、図面情報文字列を取得し、txtファイルなどのリストにし
そのリストを利用して、Jw_cadを多重起動できるようにしておけば
Windows 10の仮想デスクトップの切り替えを、組み合わせて使うことで
他図面・参照時の表示を、違ったアプローチで利用できるようになります

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edg...@FLA1Aae088.koc.mesh.ad.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/3/26(日) 19:09 -
▼mirrorさん:
>ツールのタスクトレイアイコンをマウスオーバーして表示されるメニューは
>図面情報文字列(クリップボードデータ)を、履歴して列挙していきます

不要になった履歴を消すのは、どのようにすれば良いですか?
たとえば、削除した図面の履歴でも残ったままとなるようですが。

Exmenuのフォルダー内とかにリストが出来る訳では無いようですし。

機能そのものは便利そうですが、消し方も知りたいです。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/3/26(日) 19:32 -
▼いっちさん:

>機能そのものは便利そうですが、消し方も知りたいです。

Exmenuの再起動では消えないようですが、Windowsの再起動を行うと消えました。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/3/26(日) 23:55 -
▼mirrorさん:

しばらく考えこんでしまいましたが、ようやくExmenu037hの

sub:3 印刷範囲指定付 図面情報コピー,sub:28,sub:29
sub:28 印刷範囲指定,cmd:99,btn:OK,until:確認,(ここに各種設定),btn:範囲変更,until:指示,until:確認,(btn:印刷),cmd:1
sub:29 図面情報コピー,cmd:72, --空白以下は列挙しません
sub:37 印刷ヘルパー,cmd:132

辺りの理解が出来て来ました。

> ツールのタスクトレイアイコンをマウスオーバーして表示されるメニューは
> 図面情報文字列(クリップボードデータ)を、履歴して列挙していきます

の意図するところが、解って来たような気がします。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 mirror  - 17/3/27(月) 7:05 -
▼いっちさん:
ご利用ありがとうございます

Jw_cadの、データ読み込み起動時の画面を指定する方法で
一番簡単なのは、図面情報コピーで得られる図面情報文字列です
これは、表示範囲記憶・印刷範囲記録された起動オプション文字列で
且つ、起動時にその画面で開けるという特徴があります

建築などでは、多工種の図面を一度に開いて確認したい場合がありますので
図面を開きレイヤ操作して拡大表示する、手間を省くのに使う想定です

日々変更され、追加修正される施工図などを扱う場合には
リスト保存などしたものを使うと、ミスを誘発する可能性があると思い
敢えて
>ツールでなくても、図面情報文字列を取得し、txtファイルなどのリストにし
>そのリストを利用して、Jw_cadを多重起動できるようにしておけば
と、考えています

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edg...@FLA1Aad125.koc.mesh.ad.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/3/27(月) 12:56 -
▼mirrorさん:

お返事ありがとうございます。

> 敢えて
> >ツールでなくても、図面情報文字列を取得し、txtファイルなどのリストにし
> >そのリストを利用して、Jw_cadを多重起動できるようにしておけば
> と、考えています

クリップボードへコピーされた図面情報を、テキストファイルにして、
普段利用しているエディターに組み込んだマクロでJw_cadを開けば良いですね。
(というか、mirrorさんのレスを見て、サクラエディター用を作りました。)

そうでは無い場合にも、c:\jwwには、sample.xlsが入っていますし。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/4/1(土) 5:24 -
mirrorさんの言われている
>ツールでなくても、図面情報文字列を取得し、
の意味を、考えてみました。

mirrorさんが公開されているExmenuを用いない場合でも、
例えば、汎用ツールであるUWSCなどを用いて、
図面情報を取得すれば良い。
と言われているように、受け取れます。

その為、Exmenuの
> sub:3 印刷範囲指定付 図面情報コピー,sub:28,sub:29
> sub:28 印刷範囲指定,cmd:99,btn:OK,until:確認,(ここに各種設定),btn:範囲変更,until:指示,until:確認,(btn:印刷),cmd:1
> sub:29 図面情報コピー,cmd:72, --空白以下は列挙しません
を参考にし、UWSCの高レベル記録を用いて、UWSCスクリプトを私も書いてみました。

// 印刷範囲指定付図面情報コピー.uws
// ブロック編集中の印刷は無い。
jww_id = GETID("- jw_win", "", -1)
SLEEP(0.1)
jww_print(jww_id)
jww_information(jww_id)

// 印刷範囲指定
Procedure jww_print(id)
CLKITEM(id, "印刷", CLK_MENU, True)
prt_id = GETID("印刷", "#32770", -1)
SLEEP(0.1)
CLKITEM(prt_id, "OK", CLK_BTN)
SLEEP(0.1)
CLKITEM(id, "範囲変更", CLK_ACC)
// 範囲変更ボタンを押す前の"確認"と区別する為に、
// "指示"を確認する必要がある。
Repeat
SLEEP(0.1)
Until POS("指示",GETSTR(id, 1, STR_STATUS)) > 0
// ここでマクロは、待機する。
// 範囲変更ボタンが押された後すべき事を、
// jwwの画面上で各種設定を行う。
Repeat
SLEEP(0.1)
Until POS("確認",GETSTR(id, 1, STR_STATUS)) > 0
// 印刷は行わずに、AUTOモードに戻る。
CLKITEM(id, "AUTOモード", CLK_MENU, True)
Fend

// 図面情報コピー
Procedure jww_information(id)
CLKITEM(id, "図面情報コピー(I)", CLK_MENU, True)
Fend

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 mirror  - 17/4/1(土) 7:25 -
▼いっちさん:

>例えば、汎用ツールであるUWSCなどを用いて、
>図面情報を取得すれば良い。
>と言われているように、受け取れます

その通りです
いっちさんのようなJw_cadのユーザーが、沢山増えてくれれば
マクロを利用した、より新しい使い方も増えてくるものと期待しています

汎用のマクロツールで、ユーザーの操作を待機する方法ですが
何かの参考になるかも知れませんので、書き込んでおきます

Jw_cadでは何かの操作を行うと、ステータスバーの表示が変わりますので
各操作の後で、どのような表示になるか確認し、ステータスバーを監視します
ステータスバーの監視は、do〜loop内で実行するようにし
その中では、sleepでは無く、DoEventsを実行し動作中の制御をWindowsに渡します
その表示になるまでか、その表示を継続しているのか、で判断して
loopを抜けるように構築する事で、スムーズな待機制御ができます

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edg...@FLA1Aae197.koc.mesh.ad.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/4/1(土) 9:55 -
▼mirrorさん:

おはようございます。

> >例えば、汎用ツールであるUWSCなどを用いて、
> >図面情報を取得すれば良い。
> >と言われているように、受け取れます

> その通りです

今回のコードは、取りあえず動く位なもので、もう少し直す必要があるようです。
このようなマクロは、特に繰り返しの実行を行う時、完成度の差が大きく出てしまうようです。
単発的な動作確認だけではダメなようです。

やはり、Exmenuの動作は素晴らしいと思います。

> 汎用のマクロツールで、ユーザーの操作を待機する方法ですが
> 何かの参考になるかも知れませんので、書き込んでおきます

ありがとうございます。

エクセルで、DoEventsを実行というのは普通の事ですが、
UWSCでDoEventsを実行となると、少々勉強が必要です。

但し、下記のページに記述のある「vbsでdoevents」
https://note.chiebukuro.yahoo.co.jp/detail/n271679?__ysp=RG9FdmVudHMgdXdzYw%3D%3D
なら、

Procedure DoEventsCmd()
DOSCMD("cmd /c")
Fend

位のものなのかも知れません(?)

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 mirror  - 17/4/1(土) 11:16 -
▼いっちさん:

>UWSCでDoEventsを実行となると、少々勉強が必要です

DoEventsの実態の動作は

PeekMessage(msg,NULL,0,0,PM_REMOVE)が真の間
msg構造体内のmessageを調べて
WM_QUITならExitProcess()
そうでない場合は
TranslateMessage(msg)とDispatchMessage(msg)を実行するです

WindowsAPIを使えば、UWSCでも実装できると思います
Exmenuでは、CPU使用率低減や実行速度改善のため自前で実装しています

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edg...@FLA1Aae197.koc.mesh.ad.jp>
・ツリー全体表示

Re:図面情報コピーとタグジャンプ
 いっち  - 17/4/1(土) 14:48 -
mirrorさんのレスの内容が、現在の私にとっては、大変難しい内容の為、今すぐに具体的なコードを書くことは出来ません。

しかしながら、mirrorさんのレスの内容は、単に難しいだけでは無く、的確な内容を書かれているように思える為、取り急ぎ、mirrorさんのレスの内容そのままを解る範囲でコードにしてみました。

ここに書いた内容を、UWSCで実際に動かすような事は、一切行っておりません。(というより、このままでは、行えないはずです。)
どこが間違えているかも、(私本人は)解っていません。

いつになったら、ちゃんとしたコードが書けるのか、謎です。

> WindowsAPIを使えば、UWSCでも実装できると思います

// DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名
// 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、SafeArray
// 構造体:型を { } にて展開して書く 関数名( double, {int, int, int} ) 
DEF_DLL PeekMessage({LPMSGのUWSCでの指定方法不明です?},hwnd,uint,uint,uint)bool:user32.dll

> DoEventsの実態の動作は
> PeekMessage(msg,NULL,0,0,PM_REMOVE)が真の間
> msg構造体内のmessageを調べて
> WM_QUITならExitProcess()
> そうでない場合は
> TranslateMessage(msg)とDispatchMessage(msg)を実行するです

// DoEventsの実態の動作は
Procedure UwscDoEvents()
// PeekMessage(msg,NULL,0,0,PM_REMOVE)が真の間
While PeekMessage(msg,NULL,0,0,PM_REMOVE)
// msg構造体内のmessageを調べて
Select msg.message
// WM_QUITならExitProcess()
Case WM_QUIT
ExitProcess()
// そうでない場合は
// TranslateMessage(msg)と
// DispatchMessage(msg)を実行するです
Default
TranslateMessage(msg)
DispatchMessage(msg)
Selend
Wend
Fend

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

54 / 301 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 723294
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka