Indexへ
(10230)//【10214】→(10218)
------------------------
【タイトル】外部変形での作図位置について質問です
【記事番号】 10214 (*)
【 日時 】07/08/31 00:30
【 発言者 】you-masa

はじめまして、外変初心者のyou-masaと申します。外部変形で作成した図形を仮表示させながら貼り付ける方法というのは可能でしょうか。現在はバッチファイルで"REM #0"であらかじめ貼り付け位置を指定しているので、作図後の微調整(移動)がどうしても必要になってしまいます。座標ファイルや図形ファイルのように仮表示しながら(角度を変えたり)貼り付け出来ないものでしょうか。ちなみに外変の機能としてはVisualBasicで作ったウィンドウに数値(大きさ、面形状、穴位置等)を入力し作図する、といったものです。


Indexへ
(10214)←【10218】→(10222)
------------------------
【タイトル】Re(1):外部変形での作図位置について質問です
【記事番号】 10218 (10214)
【 日時 】07/08/31 12:29
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



外部変形単体の機能としては、今は無理のようです。
ただし、これを可能にしている外部変形も実在しまして、
タールさんの Solid_SUM などは、まさに御希望のオペレーションを
実現されています。
原理的にはちょっと複雑だと思うんですが、まず VB をお使いとの
ことですので、バッチファイルの start /w **.exe をやめて、
バッチファイルの方に VBプログラムの終了を待たずに制御が
戻るようにする。 座標ファイル名をなんらかの方法で設定する。
(すいません、ここはちょっと分からないです。多分、レジストリ
操作かな?)
SendKey で、JWW に対して座標ファイルの読込をさせる。

と、作図内容がカーソルに追随する形になります。

ただし、VB 側の処理が極端に時間がかかるようだと、ユーザーに
対して待ちの不安を抱かせてしまう原因ともなりますので、
処理速度に違和感を感じないような工夫が必要かもしれません。


Indexへ
(10218)←【10222】→(10223)
------------------------
【タイトル】Re(2):外部変形での作図位置について質問です
【記事番号】 10222 (10218)
【 日時 】07/08/31 22:47
【 発言者 】you-masa

早速のご返答ありがとうございます。
やはり難しいみたいですね。Solid_SUMを試してみましたが、まさに理想的な外部変形ですね。VBのほうもまだまだ素人なので、レジストリの操作やSendKeyの方法もまだわかりませんが、少しずつ勉強していきたいと思います。
どうもありがとうございました。


Indexへ
(10222)←【10223】→(10226)
------------------------
【タイトル】Re(2):外部変形での作図位置について質問です
【記事番号】 10223 (10218)
【 日時 】07/08/31 23:24
【 発言者 】sugi

sugiです。みなさん、こんにちは。

外部変形でも図形を仮表示しながら貼り付けることができるのです
ね。知りませんでした。

元丼屋店長 さん wrote:
> 外部変形単体の機能としては、今は無理のようです。
> ただし、これを可能にしている外部変形も実在しまして、
> タールさんの Solid_SUM などは、まさに御希望のオペレーションを
> 実現されています。

自分でも Solid_SUM のように座標ファイルを利用して図形の貼り
付けをしてみようと思ったのですが、
> SendKey で、JWW に対して座標ファイルの読込をさせる。
というところで行き詰まってしまいました。

「その他」(ALT+A)-「座標ファイル」(F)までは問題ないのですが、
その後の「ファイル読込」は割り当ててあるキーが無くて、どうし
たものかと。;-(

Solid_SUM は VisualBasic 6 で作られているそうなのですが、ター
ルさんはどうされているのでしょう?

別解としてひとつ思いついたのがクリップボード経由の貼り付けで
す。「編集」(ALT+E)-貼り付け(P)なら SendKey で問題無さそうで
す。

VisualBasicでJwwのデータを有効利用できないかをテーマに研究さ
れているHiroCom777さんが、クリップボードアクセスのモジュール
を作成し、公開されています。

http://www.h7.dion.ne.jp/~hirocom/VBdeJW/

私は VisualBasic は分からないのですが、これを利用すればひょっ
として外部変形で作成した図形をクリップボード経由で貼り付ける、
なんてことができるのでしょうか? > HiroCom777さん

HiroCom777さんのホームページには VisualBasic のソースリスト
が多数公開されているので、一度覗かれてはいかがでしょうか。
> you-masaさん

--
sugi


Indexへ
(10223)←【10226】→(10228)
------------------------
【タイトル】Re(3):外部変形での作図位置について質問です
【記事番号】 10226 (10223)
【 日時 】07/09/01 18:27
【 発言者 】sugi

sugiです。皆さん、こんにちは。

ruby による試作品です。

レジストリから座標ファイルのパスを読み込んで、図形の情報を書
き込み。座標ファイルのコマンドを起動するところまでを作ってみ
ました。ファイル読込はユーザーまかせです。^^;

=== 座標ファイル.BAT (ここから) ===
@rem 座標ファイル
@echo off
REM #jw
REM #cd
REM #goto %1
REM #hm【座標ファイル】 |丸|四角|
REM #hc【座標ファイル】メニューを選択して下さい。
REM #:1
REM #:2
REM #e
:1
:2
copy jwc_temp.txt jwc_temp.bak
start ruby -Ks -x %~f0 %1
exit

#! ruby -Ks

require 'win32ole'
require 'vr/vruby'

$stderr=open("error.log","w")
$stdout=open("jwc_temp.txt","w")

wsh = WIN32OLE.new('WScript.Shell')
zfile='HKEY_CURRENT_USER\Software\Jw_cad\jw_win\Folder\ZFILE'
ztemp = wsh.RegRead zfile

open(ztemp+"ZTEMP.txt","w"){|f|
 if ARGV.include?("1") # 丸
  f.puts "ci 0 0 10"
 else          # 四角
  ["0 0 20 0","20 0 20 20",
   "20 20 0 20","0 20 0 0"].each{|e| f.puts e}
 end}

shell = WIN32OLE.new("WScript.Shell")
if shell.AppActivate("jw_win")
 sleep(0.1)
 shell.Sendkeys("%AF")
end

#puts "h# 座標ファイルを出力しました"
=== 座標ファイル.BAT (ここまで) ===


Indexへ
(10226)←【10228】//(10216)
------------------------
【タイトル】Re(4):外部変形での作図位置について質問です
【記事番号】 10228 (10226)
【 日時 】07/09/01 23:55
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



sugiさん、こんにちは。

私もちょっと試してみたところ、現行バージョンでは確かに座標ファイルの
読込モードに入らないようですね。 以前は、即読込モードに入っていたように
記憶しているので、Jww の仕様変更というところでしょうか?

ワンクリックなら充分実用的だと思います。
個人的には、ファイル処理に時間がかかる場合のために、キー送信の部分のみを
分離して、メイン処理の部分は start /w で実行したい感じです。