Jw_cad 情報交換室−その3New

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

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

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


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

Re:水平・垂直文字を個別に移動させる外変
 momochi  - 26/1/10(土) 14:21 -
水平文字移動と垂直文字移動の外変を1つにまとめました。
数値入力からマウス指示(基点→終点)に変更しました。


水平垂直文字移動.bat

@echo off
REM #jww
REM #cd
REM #h1
REM #hc 範囲選択してください
REM #g1 全レイヤグループのデータを編集可能にする
REM #1 【水平文字】の基点を指示 (L)
REM #2 【水平文字】の移動先を指示 (L)
REM #3 【垂直文字】の基点を指示 (L)
REM #4 【垂直文字】の移動先を指示 (L)
REM #e

REM ------------------------------------------------
REM ファイル名:水平垂直文字移動.bat
REM ------------------------------------------------

jgawk -f 水平垂直文字移動.awk jwc_temp.txt > temp.txt
copy temp.txt jwc_temp.txt
del temp.txt

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
水平垂直文字移動.awk

# ファイル名:水平垂直文字移動.awk
# 仕様:
# ・水平文字(0度)は #1→#2 のベクトルで移動
# ・垂直文字(90/270度)は #3→#4 のベクトルで移動
# ・それ以外は移動しない

BEGIN {
# 水平用移動量
dx_h = 0; dy_h = 0
h_x1 = 0; h_y1 = 0

# 垂直用移動量
dx_v = 0; dy_v = 0
v_x1 = 0; v_y1 = 0

EPS = 1.0e-4
print "hd"
}

# --- 座標の取得と計算 ---
# 水平文字用 (#1 -> #2)
/^hp1/ { h_x1 = $2; h_y1 = $3; next }
/^hp2/ { dx_h = $2 - h_x1; dy_h = $3 - h_y1; next }

# 垂直文字用 (#3 -> #4)
/^hp3/ { v_x1 = $2; v_y1 = $3; next }
/^hp4/ { dx_v = $2 - v_x1; dy_v = $3 - v_y1; next }


# --- メイン処理 ---
{
line = $0
if (substr(line, 1, 2) == "hq") next
head = substr(line, 1, 2)

# 文字データの処理
if (head == "ch" || head == "cs") {
split(line, a, /[ \t]+/)
vx = a[4] + 0
vy = a[5] + 0

# 文字列部分の取り出し
str_start = index(line, "\"")
str_cont = substr(line, str_start)

# A. 水平文字の場合 (vy ≒ 0) -> 水平用移動量を加算
if (vy > -EPS && vy < EPS) {
new_x = a[2] + dx_h
new_y = a[3] + dy_h
printf "%s %.15g %.15g %.15g %.15g %s\n", head, new_x, new_y, vx, vy, str_cont
next
}

# B. 垂直文字の場合 (vx ≒ 0) -> 垂直用移動量を加算
else if (vx > -EPS && vx < EPS) {
new_x = a[2] + dx_v
new_y = a[3] + dy_v
printf "%s %.15g %.15g %.15g %.15g %s\n", head, new_x, new_y, vx, vy, str_cont
next
}
}

# それ以外はそのまま出力
print line
}


引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36@p6382019-ipoe.ipoe.ocn.ne.jp>
・ツリー全体表示

水平・垂直文字を個別に移動させる外変 momochi 26/1/8(木) 19:29
Re:水平・垂直文字を個別に移動させる外変 momochi 26/1/8(木) 19:35
Re:水平・垂直文字を個別に移動させる外変 momochi 26/1/10(土) 14:21
Re:水平・垂直文字を個別に移動させる外変 他人 26/1/11(日) 12:17
Re:水平・垂直文字を個別に移動させる外変 いっち 26/1/11(日) 12:56
Re:水平・垂直文字を個別に移動させる外変 他人 26/1/11(日) 13:37
Re:水平・垂直文字を個別に移動させる外変 いっち 26/1/12(月) 12:00
Re:水平・垂直文字を個別に移動させる外変 他人 26/1/12(月) 19:16
Re:水平・垂直文字を個別に移動させる外変 Since Dos 26/1/13(火) 14:22
Re:水平・垂直文字を個別に移動させる外変 R.N 26/1/14(水) 14:11
Re:水平・垂直文字を個別に移動させる外変 Since Dos 26/1/14(水) 15:06
Re:水平・垂直文字を個別に移動させる外変 somem 26/1/14(水) 18:50
Re:水平・垂直文字を個別に移動させる外変 Since Dos 26/1/14(水) 19:15

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

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