長年以前まではshiftキーを離すことなく押しながら
連続的に右クリックで選択できていたのですが・・・ パソコンを取り換えたタイミングでshiftキーをいちいち 押して離して押して離してしないと選択できないようになりました。 これが地味に効率が悪いです。 もしかして通常が一回づつ押して選択なのでしょうか? 皆さんは選択するときどのような挙動でしょうか? version8.25aの仕様です。 パソコンはwin11・以前はwin10→win11UPパソコンでした。 ご教授お願いします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0
▼hroさん:
>長年以前まではshiftキーを離すことなく押しながら >連続的に右クリックで選択できていたのですが・・・ >パソコンを取り換えたタイミングでshiftキーをいちいち >押して離して押して離してしないと選択できないようになりました。 > >これが地味に効率が悪いです。 >もしかして通常が一回づつ押して選択なのでしょうか? > >皆さんは選択するときどのような挙動でしょうか? >version8.25aの仕様です。 >パソコンはwin11・以前はwin10→win11UPパソコンでした。 > >ご教授お願いします。 連続選択は何も押さなくても「左」選択で、追っていけますが? これでは駄目なのかな?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
>連続選択は何も押さなくても「左」選択で、追っていけますが?
>これでは駄目なのかな? ➡言葉足らずスミマセン 連続選択ではなく連続線選択の連続選択です。 連続線(連続線で形成されている図形的なモノ)を選択する際にshiftキー押しながら右クリックで選択できると思いますが、以前はそれがshiftキーを押しっぱなしで右クリックで連続線を選択できていました。 現在はそれができなくなってしまった次第です。 以前がおかしく現在が正常?なのかとも考えています。 (jwwヘルプではそのように説明記載) おかしかったころの方が利便性が良かったので・・・
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0
|
jwkファウル全部消えました復元する方法知りませんか。jwsファイルは見れます
誰か教えてください。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0
|
このコマンドを処理するにはメモリリソースが足りません。と出ます。
コピーしたい図面一旦保存して開いて再度コピーしようとすると できるようにはなるのですが 逐一その作業をしないといけません。 解決方法を教えてください。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
▼中野さん:
まず、此処のトップに表示されている、【初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください】をご確認ください。 そちらが良いと思います。 ご質問の対策は、その表示に従って、メモリリソースを増やしてください。 使用PCの仕様によってメモリ増設できるかどうか決まります。 メーカーサポートにお確かめ下さい。 その使用PCにメモリー増設できなければ、PCの買い替えをお勧めします。 データの大きさの記載が無いので、場合によってはJwwから他のソフトに変えないと、動かない可能性もあります。 また、使用方法の変更で対応できる場合もあります。 必要な情報の記載が無いので、思いつく対策を書き込みました。 何が解決策になるかは、分かりません。 >このコマンドを処理するにはメモリリソースが足りません。と出ます。 >コピーしたい図面一旦保存して開いて再度コピーしようとすると >できるようにはなるのですが >逐一その作業をしないといけません。 >解決方法を教えてください。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
hogehogeさん:
ご返信いただき誠にありがとうございました。 パソコンの容量も拡張したばかりだし ここ何年使ってきて初めての事でしたので助かりました。 特に何もしていませんが何故か無事コピーできるようになりましたので 取り急ぎご報告まで。 ▼hogehogeさん: >▼中野さん: > >まず、此処のトップに表示されている、【初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください】をご確認ください。 >そちらが良いと思います。 > >ご質問の対策は、その表示に従って、メモリリソースを増やしてください。 >使用PCの仕様によってメモリ増設できるかどうか決まります。 >メーカーサポートにお確かめ下さい。 > >その使用PCにメモリー増設できなければ、PCの買い替えをお勧めします。 >データの大きさの記載が無いので、場合によってはJwwから他のソフトに変えないと、動かない可能性もあります。 > >また、使用方法の変更で対応できる場合もあります。 > >必要な情報の記載が無いので、思いつく対策を書き込みました。 >何が解決策になるかは、分かりません。 > >>このコマンドを処理するにはメモリリソースが足りません。と出ます。 >>コピーしたい図面一旦保存して開いて再度コピーしようとすると >>できるようにはなるのですが >>逐一その作業をしないといけません。 >>解決方法を教えてください。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
|
2010年に購入しi7、2.8GのCPUのPCにwindows11proの24h2で動いている予備機に最新のVer10.02.1をDドライブにインストールしたら立ち上がりません。セキュリティではJww.exeを例外に登録しました。DドライブにVer8.25aをインストールすると立ち上がります。試しに10.02.1を本来のC:jwwにインストールするとこれも普通に使えます。
OSの再インストールのために、外変なども編集してDドライブ仕様にしているので少し困っています。稀な状況かと思いますがどなたかご教示頂けると助かります。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
▼田んぼのトンボさん:
>2010年に購入しi7、2.8GのCPUのPCにwindows11proの24h2で動いている予備機に最新のVer10.02.1をDドライブにインストールしたら立ち上がりません。セキュリティではJww.exeを例外に登録しました。DドライブにVer8.25aをインストールすると立ち上がります。試しに10.02.1を本来のC:jwwにインストールするとこれも普通に使えます。 >OSの再インストールのために、外変なども編集してDドライブ仕様にしているので少し困っています。稀な状況かと思いますがどなたかご教示頂けると助かります。 私もOSトラブル時の保険のためにDドライブに入れていますが、問題無く動いています。 最新のVer10.02.1をDドライブにインストールした時は古いバージョンのフォルダに上書きインストールをしたのでは? C:jwwにインストールした時は新しいフォルダにインストールしたのでは? もしそうならSusieプラグインは何を使っていますか? WIC Susie Plug-inを使っているのなら最新バージョンにしてからJw_cadをインストールしてみて下さい。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
▼Keiichiさん:
返信遅くなり失礼しました。何もかもご指摘の通りでした。 なので教えて頂いた通りにSusieプラグインを更新してインストール したら無事に立ち上がりました。今しばらくはこの予備機も役に立ち そうです。とても助かりました。大変ありがとうございます。 >▼田んぼのトンボさん: >>2010年に購入しi7、2.8GのCPUのPCにwindows11proの24h2で動いている予備機に最新のVer10.02.1をDドライブにインストールしたら立ち上がりません。セキュリティではJww.exeを例外に登録しました。DドライブにVer8.25aをインストールすると立ち上がります。試しに10.02.1を本来のC:jwwにインストールするとこれも普通に使えます。 >>OSの再インストールのために、外変なども編集してDドライブ仕様にしているので少し困っています。稀な状況かと思いますがどなたかご教示頂けると助かります。 > >私もOSトラブル時の保険のためにDドライブに入れていますが、問題無く動いています。 >最新のVer10.02.1をDドライブにインストールした時は古いバージョンのフォルダに上書きインストールをしたのでは? >C:jwwにインストールした時は新しいフォルダにインストールしたのでは? >もしそうならSusieプラグインは何を使っていますか? >WIC Susie Plug-inを使っているのなら最新バージョンにしてからJw_cadをインストールしてみて下さい。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
|
京都市の緯度35度01分=35.016667を入力し、影倍率表を作成すると、
市が定めている影倍率と誤差があり一致しない状態となります。 解決策をご教示いただきたいです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
いつもありがとうございます。
文字をコピーして移動する際、倍率を「-1,1」にすると文字が正しく表示されません。 バージョンは10.02.1、OSはWindows 11 Pro(25H2)です。 同じ現象が出るか、ご確認いただけると助かります。 よろしくお願いします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
-1,1で移動.複写は文字幅がおかしくなります。
1,-1では 図形と文字の位置がずれます。 整数倍数では正常のようです。 環境は同じです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
▼Vieさん:
>文字をコピーして移動する際、倍率を「-1,1」にすると‥‥正しく表示されません。
私の環境では
文字列の「複写」、「移動」、「コピー・貼付」いずれも問題なく表示されます。
反転複写、移動も同様に問題ありません。
バージョンは10.02.1.1 Win11 Home(25H2)です。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
AFさんのご指摘通り、[作図属性]で「□文字も倍率」にチェックが入っていると
文字幅がおかしくなる症状が発生しました。
失礼いたしましたm(_ _)m
ところでAFさんのサイトにログインできなくなっています。パスワードが‥(^^;
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
印刷の任意倍率を自動計算します。
イレギュラーな印刷範囲から、A3・A4用紙に収まる倍率を算出し、クリップボードにコピーします。
(AIで作成)
使い方
1. 外変を実行
2. 基準点1(左上)をクリック(任意の点)
3. 基準点2(右下)をクリック(任意の点)
4. 用紙サイズを入力(A3=3、A4=4)
5. 倍率を印刷ダイアログの任意倍率に貼り付けて使用
印刷倍率.bat
@echo off
goto do1
REM #jww
REM #cd
REM #hc 基準点1(左上)
REM #1
REM #hc 基準点2(右下)
REM #2
REM #c 用紙サイズを入力(A3=3、A4=4):/4/V
REM #e
:do1
setlocal
cd /d "%~dp0"
if exist "印刷倍率_clip.txt" del "印刷倍率_clip.txt"
set RUBY=
if exist C:\Ruby34-x64\bin\ruby.exe set RUBY=C:\Ruby34-x64\bin\ruby.exe
if "%RUBY%"=="" if exist C:\Ruby33-x64\bin\ruby.exe set RUBY=C:\Ruby33-x64\bin\ruby.exe
if "%RUBY%"=="" if exist C:\Ruby32-x64\bin\ruby.exe set RUBY=C:\Ruby32-x64\bin\ruby.exe
if "%RUBY%"=="" if exist C:\Ruby31-x64\bin\ruby.exe set RUBY=C:\Ruby31-x64\bin\ruby.exe
if "%RUBY%"=="" set RUBY=ruby
set PAPER=%1
set PAPER=%PAPER: =%
if "%PAPER%"=="3" goto run
if "%PAPER%"=="4" goto run
echo 用紙サイズは 3 または 4 を入力してください。
exit /b 1
:run
"%RUBY%" "%~dp0印刷倍率.rb" %PAPER%
if errorlevel 1 exit /b 1
if exist "印刷倍率_clip.txt" (
powershell -NoProfile -Command "Set-Clipboard -Value ((Get-Content -LiteralPath '印刷倍率_clip.txt' -Raw).TrimEnd())"
del "印刷倍率_clip.txt"
)
endlocal
+++++++++++++++++++++++++++++++++++++++++++++++
印刷倍率.rb
# encoding: cp932
# 印刷倍率.rb
# ARGV[0]: "3" or "4"
MARGIN = 20.0
PAPER = {
"4" => { w: 297.0, h: 210.0, name: "A4" },
"3" => { w: 420.0, h: 297.0, name: "A3" }
}
paper_key = ARGV[0].to_s.strip
unless PAPER.key?(paper_key)
STDERR.puts "invalid paper: #{paper_key}"
exit 1
end
paper = PAPER[paper_key]
jwtemp = "jwc_temp.txt"
unless File.exist?(jwtemp)
STDERR.puts "jwc_temp.txt not found"
exit 1
end
lines = File.open(jwtemp, "r:cp932") { |f| f.readlines }
hp1 = lines.find { |l| l =~ /^hp1\s/ }
hp2 = lines.find { |l| l =~ /^hp2\s/ }
unless hp1 && hp2
STDERR.puts "hp1/hp2 not found"
exit 1
end
x1, y1 = hp1.split[1..2].map(&:to_f)
x2, y2 = hp2.split[1..2].map(&:to_f)
width_zu = (x2 - x1).abs
height_zu = (y1 - y2).abs
hs_vals = []
lines.each do |l|
if l.start_with?("hs ")
hs_vals = l.split[1..].map(&:to_f)
break
end
end
current_lg = 0
lines.each do |l|
if l =~ /^lg([0-9a-fA-F])/i
current_lg = $1.to_i(16)
break
end
end
scale_denom = 1.0
if hs_vals.length > current_lg && hs_vals[current_lg] > 0
scale_denom = hs_vals[current_lg]
end
# 実寸(mm)
width_mm = width_zu / scale_denom
height_mm = height_zu / scale_denom
if width_mm <= 0 || height_mm <= 0
STDERR.puts "width or height <= 0"
exit 1
end
effective_w = paper[:w] - MARGIN
effective_h = paper[:h] - MARGIN
if effective_w <= 0 || effective_h <= 0
STDERR.puts "effective paper size <= 0"
exit 1
end
# 長辺・短辺判定
long_mm = [width_mm, height_mm].max
short_mm = [width_mm, height_mm].min
ratio_by_long = effective_w / long_mm * 100.0
ratio_by_short = effective_h / short_mm * 100.0
ratio_raw = [ratio_by_long, ratio_by_short].min
# ★小数点2位で切り捨て
ratio = (ratio_raw * 100).floor / 100.0
if ratio <= 0
STDERR.puts "ratio <= 0"
exit 1
end
# 文字列化(不要な .0 を消す)
ratio_str = if ratio % 1 == 0
ratio.to_i.to_s
else
('%.2f' % ratio)
end
File.open("印刷倍率_clip.txt", "wb") { |f| f.write(ratio_str) }
new_lines = lines.reject { |l| l.chomp == "hq" }
File.open(jwtemp, "w:cp932") { |f| f.write(new_lines.join) }
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
【網掛けハッチング】
範囲選択した閉領域の内側に、小円を格子状に配置する外変です。興味のある方はお試しください。(AIで作成)
網掛けハッチング.bat
@echo off
setlocal
goto EXE
REM 網掛けハッチング
REM #jww
REM #cd
REM #h1
REM #hc 範囲を選択してください
REM #g1
REM #gn
REM #bz
REM #hr
REM #e
:EXE
pushd "%~dp0" >nul
set "SCRIPT=%~dp0網掛けハッチング.rb"
if exist "C:\Ruby34-x64\bin\ruby.exe" (
"C:\Ruby34-x64\bin\ruby.exe" "%SCRIPT%"
) else if exist "C:\Ruby33-x64\bin\ruby.exe" (
"C:\Ruby33-x64\bin\ruby.exe" "%SCRIPT%"
) else if exist "C:\Ruby32-x64\bin\ruby.exe" (
"C:\Ruby32-x64\bin\ruby.exe" "%SCRIPT%"
) else if exist "C:\Ruby31-x64\bin\ruby.exe" (
"C:\Ruby31-x64\bin\ruby.exe" "%SCRIPT%"
) else if exist "C:\Ruby30-x64\bin\ruby.exe" (
"C:\Ruby30-x64\bin\ruby.exe" "%SCRIPT%"
) else (
ruby "%SCRIPT%"
)
popd >nul
endlocal
exit /b 0
++++++++++++++++++++++++++++++++
網掛けハッチング.rb
# encoding: Windows-31J
# 網掛けハッチング.rb
Dir.chdir(File.dirname(__FILE__))
input_file = "jwc_temp.txt"
RADIUS_VAL = 0.25 # 半径 0.25mm
INTERVAL_VAL = 2.5 # ピッチ 2.5mm
ARC_DIV = 64 # 円弧の分割数
current_ly, current_lc, current_lt = nil, nil, nil
hs_values = Array.new(16, 1)
current_lg = 0
scale_denom = 1.0
edges = []
def add_edge(edges, a, b)
return if (a[0]-b[0]).abs < 1e-9 && (a[1]-b[1]).abs < 1e-9
edges << { x1: a[0], y1: a[1], x2: b[0], y2: b[1],
min_y: [a[1], b[1]].min, max_y: [a[1], b[1]].max }
end
def add_arc_edges(edges, cx, cy, r, s_deg, e_deg, flat, tilt_deg)
flat = 1.0 if flat == 0
s_rad = s_deg * Math::PI / 180.0
e_rad = e_deg * Math::PI / 180.0
e_rad += 2 * Math::PI if e_rad <= s_rad
tilt = tilt_deg * Math::PI / 180.0
steps = [( (e_rad - s_rad).abs / (2 * Math::PI) * ARC_DIV ).ceil, 8].max
prev_pt = nil
(0..steps).each do |i|
t = s_rad + (e_rad - s_rad) * i / steps.to_f
xt = r * Math.cos(t)
yt = r * flat * Math.sin(t)
px = cx + xt * Math.cos(tilt) - yt * Math.sin(tilt)
py = cy + xt * Math.sin(tilt) + yt * Math.cos(tilt)
add_edge(edges, prev_pt, [px, py]) if prev_pt
prev_pt = [px, py]
end
end
if File.exist?(input_file)
File.open(input_file, "r:Windows-31J") do |f|
f.each_line do |line|
l = line.strip
if l =~ /^hs\s+(.+)/
vals = $1.split.map(&:to_f)
hs_values = vals if vals.size == 16
scale_denom = hs_values[current_lg]
scale_denom = 1.0 if scale_denom <= 0
elsif l =~ /^lg([0-9a-f])$/i
current_lg = $1.to_i(16)
scale_denom = hs_values[current_lg]
scale_denom = 1.0 if scale_denom <= 0
elsif l =~ /^ly([0-9a-f])/
current_ly = $1 if current_ly.nil?
elsif l =~ /^lc(\d+)/ && current_lc.nil?
current_lc = $1
elsif l =~ /^lt(\d+)/ && current_lt.nil?
current_lt = $1
elsif l =~ /^[ \t]*(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)/
add_edge(edges, [$1.to_f*scale_denom, $2.to_f*scale_denom], [$3.to_f*scale_denom, $4.to_f*scale_denom])
elsif l =~ /^ci\s+/
p = l.split
cx, cy, r = p[1].to_f, p[2].to_f, p[3].to_f
if p.size == 4
add_arc_edges(edges, cx*scale_denom, cy*scale_denom, r*scale_denom, 0, 360, 1.0, 0)
else
add_arc_edges(edges, cx*scale_denom, cy*scale_denom, r*scale_denom, p[4].to_f, p[5].to_f, p[6].to_f, p[7].to_f)
end
end
end
end
end
exit if edges.empty?
def inside?(px, py, edges)
count = 0
edges.each do |e|
if ((e[:y1] > py) != (e[:y2] > py)) &&
(px < (e[:x2] - e[:x1]) * (py - e[:y1]) / (e[:y2] - e[:y1]) + e[:x1])
count += 1
end
end
(count % 2) != 0
end
scale_denom = hs_values[current_lg]
scale_denom = 1.0 if scale_denom <= 0
step = INTERVAL_VAL * scale_denom
half = RADIUS_VAL * scale_denom
ys = edges.map{|e| [e[:y1], e[:y2]]}.flatten
xs = edges.map{|e| [e[:x1], e[:x2]]}.flatten
xmin, xmax, ymin, ymax = xs.min, xs.max, ys.min, ys.max
cx, cy = (xmin + xmax) / 2.0, (ymin + ymax) / 2.0
diag = Math.sqrt((xmax-xmin)**2 + (ymax-ymin)**2)
num = (diag / step).ceil + 2
File.open(input_file, "w:Windows-31J") do |f|
f.puts "h#網掛けハッチング"
f.puts "lc#{current_lc}" if current_lc
f.puts "lt#{current_lt}" if current_lt
u = [Math.cos(Math::PI/4)*step, Math.sin(Math::PI/4)*step]
v = [Math.cos(-Math::PI/4)*step, Math.sin(-Math::PI/4)*step]
(-num..num).each do |i|
(-num..num).each do |j|
px = cx + i * u[0] + j * v[0]
py = cy + i * u[1] + j * v[1]
pts = [[px, py-half], [px, py+half], [px-half, py], [px+half, py]]
if pts.all? { |pt| inside?(pt[0], pt[1], edges) }
f.printf "ci %.6f %.6f %.6f\n", px, py, half
end
end
end
f.puts "ly#{current_ly}" if current_ly
f.puts "lc#{current_lc}" if current_lc
f.puts "lt#{current_lt}" if current_lt
f.puts "hr"
end
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
バージョン10.02.1使用
・建物の図面一式を作図する際 まず各階平面図を描画してそれをグループ化する ・グループ化した平面図を別レイヤグループにペーストして立断面を作図する こうしておけば ・向きが違う図面もペースト先の平面図を回転させれば事足りる ・作図中に平面で修正が必要な齟齬が生じた場合も グループ編集で同名のグループは同時に修正できる というメリットがある為よく使っていた手段なのですが 最近下記の様な現象が生じ難儀しております 1)ペースト先のレイヤ及びレイヤグループのツールバーに書込み表示が現れない 2)同様にレイヤ一覧 レイヤグループ一覧にも表示されない 元レイヤ及びグループには表示されている 3)にも関わらず ペースト先レイヤ及びレイヤグループを左クリックすると ペーストされたオブジェクトが赤く表示される 逆に元レイヤ及びレイヤグループを左クリックしてもコピー元のオブジェクトしか赤くならない 4)コピー元のレイヤ及びレイヤグループを非表示にすると何故かペーストしたオブジェクトも見えなくなってしまう …とまあペースト先レイヤにデータが有るのか無いのかよく分からない現象が起きてしまいました 一応グループ解除してからレイヤ変更すればキチンと移ってくれるのですが これでは上に挙げたメリット(同名グループは編集で同時に変わってくれる)が使えません 勿論レイヤグループ同士のスケールも揃えているので 「転写先が原寸大だから見えていない」という訳でもありません 大変恐縮ですが 御知恵の拝借をお願い致します
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
▼099さん:
>グループ化
とは、「曲線属性化」のことですか、それとも「ブロック化」のことですか?
線記号変形のコントロールバーや、寸法設定ダイアログにある「グループ化」とは
「曲線属性化」のことです。
もし、ブロック化のことならブロック化するとき、
[元データのレイヤを優先する]にチェックが入っているか関係ありませんか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
▼Since Dosさん:
早速の御回答ありがとうございます >>グループ化 >とは、「曲線属性化」のことですか、それとも「ブロック化」のことですか? 説明不足失礼しました 「ブロック化」の事です >もし、ブロック化のことならブロック化するとき、 >[元データのレイヤを優先する]にチェックが入っているか関係ありませんか? 上記の御指摘を受け検証してみました [元データのレイヤを優先する]チェックが入っていると レイヤ跨ぎが出来ない事を今回理解しました 問題解決です ありがとうございました
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
開発中アプリのテスター募集(現場でのご意見をいただける方) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ゼネコン・建築・土木・測量・施工管理・設計に携わる皆様へ 現在、ゼネコン・建築・土木・測量・施工管理・設計業務・の現場で使用することを想定した JWCAD図面ビューアアプリを開発しています。 実際の現場での使い勝手や改善点について、 率直なご意見をいただきたく投稿させていただきました。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ アプリ概要 Android端末(タブレット・スマフォ)でJWCAD(JWW)図面を閲覧し、 簡単な計測や書き込みが行えるアプリです。 現場で紙図面を確認・計測する際の手間を減らすことを目的としています。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 現在確認したい内容 ・現場での操作性(使いやすさ) ・計測機能の実用性 ・座標機能(測量業務)の分かりやすさ ・書き込み機能の使い勝手 ・その他「こうした方が良い」と感じる点 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 主な機能(現時点) ・距離/角度/面積の計測 ・測量座標(X・Y・方向角・距離)の取得 ・図面への手書き(コメント) ・スクリーンショット ・レイヤ表示切替 ・スナップ機能 ・電卓機能 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ テストについて ・期間:約2週間 ・費用:無料 ※ テスト版のため、一部動作が不安定な場合があります −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 参加条件 ・Googleアカウントをお持ちの方 ・Android端末をお使いの方 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 参加方法 参加をご希望いただける場合は、 メールにてご連絡をお願いいたします。 折り返し、テスト用のダウンロードURLをご案内いたします。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 個人情報について ・メールアドレスはテスト連絡のみに使用します ・第三者への提供は行いません ・テスト終了後は速やかに削除いたします −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ■ 最後に 現場で実際に使えるアプリにするためには、 実務に携わる皆様のご意見が不可欠だと考えております。 皆様のご参加とご意見が、現場業務の改善に直結します。 ご協力いただける方がいらっしゃいましたら、 どうぞよろしくお願いいたします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
初心者です
印刷するとき 設定 基本設定 色、画面 プリンタ出力要素 線幅 この流れで太さを変えて印刷しても 線の幅が変わらないのですが、教えていただけませんか バージョンは8.25Aです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0
▼はおさん:
最初から、貴兄が作図したデータですか? 他所から頂いたデータで、SXF線色で作図されており、変更しているのはJww基本線色ではありませんか? >初心者です >印刷するとき > >設定 基本設定 色、画面 プリンタ出力要素 線幅 > >この流れで太さを変えて印刷しても >線の幅が変わらないのですが、教えていただけませんか > >バージョンは8.25Aです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
画像の画面表示で画面で画像(JPEG)がうまく表示されません。過去のファイルを読み込んだ場合、うまく表示するファイルとうまく表示されないファイルがあります。うまく表示された画面でで違うファイル(うまく表示されない)を開くとうまく開きます。関連付けでうまく画像が表示されるファイルとされないファイルがあります。又新規で、JWCADを起動した場合は画像を読み込んでもうまく表示されません。どうしてでしょうか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
▼深谷 光秀さん:
>画像の画面表示で画面で画像(JPEG)がうまく表示されません。過去のファイルを読み込んだ場合、うまく表示するファイルとうまく表示されないファイルがあります。うまく表示された画面でで違うファイル(うまく表示されない)を開くとうまく開きます。関連付けでうまく画像が表示されるファイルとされないファイルがあります。又新規で、JWCADを起動した場合は画像を読み込んでもうまく表示されません。どうしてでしょうか? 質疑を書く場所が違うようです、隣の(Jw_cad相談室−その2)に書いて 下さい、JPEGの表示云々は過去ログにもあるかと思いますが 表示=>Direct2D(2)=>のON/OFFを試して下さい、使用JWWの バージョン、OSのバージョン情報も必要です
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
https://www.jwcad.net/bbs2/c-board.cgi?cmd=ntr;tree=58392;id=004
こちらでは解決されなかったということですか? どう「うまく表示されない」のかが全くわかりませんが、上記スレッドでも かなり細かく見えてる 綺麗な出力 綺麗な画像 何がなんだかわからない 汚く見える と主観的で漠然とした表現しかされていないので違いがわかりません。 それとも今回の質問はうまいか否かではなく、全く表示されないという意味でしょうか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
|
Version 10.02.1使用中です。
複写並びに移動をする際図形に文字や寸法が入ったまま反転動作を行うと文字が小さくなる。(潰れる) 修正を希望します<(_ _)>
<Mozilla/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Brave/1 Mobile/15E148 Safari/604.1
▼綿棒ちゃんさん:
>Version 10.02.1使用中です。 >複写並びに移動をする際図形に文字や寸法が入ったまま反転動作を行うと文字が小さくなる。(潰れる) >修正を希望します<(_ _)> 同じく希望いたします。 取りあえずは、文字コマンドの「書込み文字種変更」で、間隔を修正して対応していますが。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼kuboさん:
>▼綿棒ちゃんさん: >>Version 10.02.1使用中です。 >>複写並びに移動をする際図形に文字や寸法が入ったまま反転動作を行うと文字が小さくなる。(潰れる) >>修正を希望します<(_ _)> > >同じく希望いたします。 >取りあえずは、文字コマンドの「書込み文字種変更」で、間隔を修正して対応していますが。 こちらでも同じ現象が起きます。以前は問題なかったのですが。 ご対応いただけると助かります。 よろしくお願いします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼TOMさん:
>▼kuboさん: >>▼綿棒ちゃんさん: >>>Version 10.02.1使用中です。 >>>複写並びに移動をする際図形に文字や寸法が入ったまま反転動作を行うと文字が小さくなる。(潰れる) >>>修正を希望します<(_ _)> >> >>同じく希望いたします。 >>取りあえずは、文字コマンドの「書込み文字種変更」で、間隔を修正して対応していますが。 >こちらでも同じ現象が起きます。以前は問題なかったのですが。 >ご対応いただけると助かります。 >よろしくお願いします。 同じく希望いたします。 Version 10.01.8に戻して使用しています 次回に期待いたします よろしくお願いします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
|
JPG画像が印刷できないで困っています。
画像ファイルを読み込み上から線でトレースしてます。 文字>文読>jpg.jpegからJPG画像を選択し画面に貼りつけ その後画像スケールを合わせるために拡大 画像の上から線を引いてトレース これまでは何の問題無く出来ます。 此れを印刷するとトレースした線だけになり画像が印刷されていません。 画像部分は四角い点線の枠と左下に画像のパスがあるのみです。 Version 10.02.1です。 試しにVersion 8.25aで同じ操作をしたところ何の問題も無く印刷できました。 此れって Version 10.02.1のバグでしょうか? 宜しくお願いします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
|
最近 jw_cad Ver10.02.1 専用の外部変形を作るようになってから、気が付いた事を書いてみます。
その他〜外部変形で表示されるメモの表示についてです。 但し、「そんな些細な事、気にしないよ。」といわれる方が、大多数かもしれませし、そもそも私の勘違いかもしれません。 ──────────────────── 1.jw_cad Ver7.11 の場合 ・バッチファイルの1行目をきちんと表示します。 2.jw_cad Ver10.02.1 で[S-JIS]外変の場合 ・必ずしも、バッチファイルの1行目でないと表示出来ないとは限らないようです。 但し、その後の #jww まで表示してしまうようです。 3.jw_cad Ver10.02.1 で[UTF-8]外変の場合 バッチファイルの記述方法を工夫しないと、その後の #jww まで表示してしまうようです。 但し、バッチファイルの記述方法を工夫すれば、#jww を表示させない事も出来るようでした。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
|
外変「circlehatch」(網掛けハッチング)をアップします。
2本の境界線の間に小円(ドット)を配置する外変です。
台形や三角形の境界内にも配置できます。
(Geminiで作成)
境界線1をクリック
境界線2をクリック
[選択確定]で実行
興味のある方はどうぞ
【動作しない場合】
コピーしたコードを Gemini や ChatGPT などのAIに貼り付け、次の指示を出してください。直る場合があります。
AIへの指示:
「この Jw_cad 外部変形のスクリプトを Ruby として正しく動作するよう修復してください。HTMLエンティティ(' など)や全角スペースはすべて半角に修正し、文法エラーがない状態にしてください。ロジック(計算内容)は変更しないでください。」
+++++++++++++++++++++++++++++++++++++++++++
circlehatch.bat
@echo off
setlocal
goto EXE
REM circle hatch
REM #jww
REM #cd
REM #g0
REM #gn
REM #1ln 1st line
REM #2ln 2nd line
REM #hr
REM #e
:EXE
pushd "%~dp0" >nul
set "SCRIPT=%~dp0circlehatch.rb"
if exist "C:\Ruby33-x64\bin\ruby.exe" (
"C:\Ruby33-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby32-x64\bin\ruby.exe" (
"C:\Ruby32-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby31-x64\bin\ruby.exe" (
"C:\Ruby31-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby30-x64\bin\ruby.exe" (
"C:\Ruby30-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else (
ruby -Ks "%SCRIPT%"
)
popd >nul
endlocal
exit /b 0
++++++++++++++++++++++++++++++++++++++++++++++
circlehatch.rb
# encoding: Windows-31J
# circlehatch.rb
Dir.chdir(File.dirname(__FILE__))
input_file = "jwc_temp.txt"
# --- 設定値 ---
RADIUS_MM = 0.25
INTERVAL_MM = 2.5
# --------------
scale = 1.0
selected_lines = []
if File.exist?(input_file)
src = File.read(input_file, encoding: "Windows-31J")
hs_vals = []
group = 0
src.each_line do |line|
l = line.strip
if l =~ /^hs\s+(.+)/
hs_vals = $1.split.map(&:to_f)
elsif l =~ /^lg([0-9a-f])/
group = $1.hex
scale = hs_vals[group] if hs_vals && hs_vals[group]
elsif l =~ /^[ \t]*(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)/
selected_lines << [$1.to_f, $2.to_f, $3.to_f, $4.to_f]
end
end
end
exit if selected_lines.size < 2
l1, l2 = selected_lines[-2], selected_lines[-1]
p1, p2 = [l1[0], l1[1]], [l1[2], l1[3]]
p3, p4 = [l2[0], l2[1]], [l2[2], l2[3]]
dist_p1_p3 = (p1[0]-p3[0])**2 + (p1[1]-p3[1])**2
dist_p1_p4 = (p1[0]-p4[0])**2 + (p1[1]-p4[1])**2
if dist_p1_p3 < dist_p1_p4
poly = [p1, p2, p4, p3]
else
poly = [p1, p2, p3, p4]
end
def inside?(px, py, poly)
ins = false; j = poly.size - 1
poly.size.times do |i|
if ((poly[i][1] > py) != (poly[j][1] > py)) &&
(px < (poly[j][0] - poly[i][0]) * (py - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
ins = !ins
end
j = i
end
ins
end
half, step = RADIUS_MM * scale, INTERVAL_MM * scale
rad1, rad2 = 45.0 * Math::PI / 180.0, -45.0 * Math::PI / 180.0
u = [Math.cos(rad1) * step, Math.sin(rad1) * step]
v = [Math.cos(rad2) * step, Math.sin(rad2) * step]
xs, ys = poly.map{|p|p[0]}, poly.map{|p|p[1]}
xmin, xmax, ymin, ymax = xs.min, xs.max, ys.min, ys.max
cx_mid, cy_mid = (xmin + xmax) / 2.0, (ymin + ymax) / 2.0
num = (Math.sqrt((xmax-xmin)**2 + (ymax-ymin)**2) / step).ceil + 5
File.open(input_file, "w") do |file|
file.write "h#circle hatch\n"
(-num..num).each do |i|
(-num..num).each do |j|
px, py = cx_mid + i * u[0] + j * v[0], cy_mid + i * u[1] + j * v[1]
# 判定を4点に絞って高速化
pts = [[px, py - half], [px, py + half], [px - half, py], [px + half, py]]
if pts.all? { |pt| inside?(pt[0], pt[1], poly) }
file.write "ci %.6f %.6f %.6f\n" % [px, py, half]
end
end
end
file.write "hr\n"
end
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
ハッチ範囲の不具合を修正しました。他も何かあるかも知れません。
circlehatch.bat
@echo off
setlocal
goto EXE
REM circle hatch
REM #jww
REM #cd
REM #g0
REM #gn
REM #1ln 1st line
REM #2ln 2nd line
REM #hr
REM #e
:EXE
pushd "%~dp0" >nul
set "SCRIPT=%~dp0circlehatch.rb"
if exist "C:\Ruby34-x64\bin\ruby.exe" (
"C:\Ruby34-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby33-x64\bin\ruby.exe" (
"C:\Ruby33-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby32-x64\bin\ruby.exe" (
"C:\Ruby32-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby31-x64\bin\ruby.exe" (
"C:\Ruby31-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby30-x64\bin\ruby.exe" (
"C:\Ruby30-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else (
ruby -Ks "%SCRIPT%"
)
popd >nul
endlocal
exit /b 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
circlehatch.rb
# encoding: Windows-31J
Dir.chdir(File.dirname(__FILE__))
input_file = "jwc_temp.txt"
RADIUS_MM = 0.25
INTERVAL_MM = 2.5
scale = 1.0
selected_lines = []
if File.exist?(input_file)
src = File.read(input_file, encoding: "Windows-31J")
hs_vals = []
group = 0
src.each_line do |line|
l = line.strip
if l =~ /^hs\s+(.+)/
hs_vals = $1.split.map(&:to_f)
elsif l =~ /^lg([0-9a-f])/
group = $1.hex
scale = hs_vals[group] if hs_vals && hs_vals[group]
elsif l =~ /^[ \t]*(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)/
selected_lines << [$1.to_f, $2.to_f, $3.to_f, $4.to_f]
end
end
end
exit if selected_lines.size < 2
l1, l2 = selected_lines[-2], selected_lines[-1]
p1, p2 = [l1[0], l1[1]], [l1[2], l1[3]]
p3, p4 = [l2[0], l2[1]], [l2[2], l2[3]]
v1 = [p2[0] - p1[0], p2[1] - p1[1]]
v2 = [p4[0] - p3[0], p4[1] - p3[1]]
dot_product = v1[0] * v2[0] + v1[1] * v2[1]
p3, p4 = p4, p3 if dot_product < 0
poly = [p1, p2, p4, p3]
def inside?(px, py, poly)
ins = false; j = poly.size - 1
poly.size.times do |i|
if ((poly[i][1] > py) != (poly[j][1] > py)) &&
(px < (poly[j][0] - poly[i][0]) * (py - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
ins = !ins
end
j = i
end
ins
end
half, step = RADIUS_MM * scale, INTERVAL_MM * scale
rad1, rad2 = 45.0 * Math::PI / 180.0, -45.0 * Math::PI / 180.0
u = [Math.cos(rad1) * step, Math.sin(rad1) * step]
v = [Math.cos(rad2) * step, Math.sin(rad2) * step]
xs, ys = poly.map{|p|p[0]}, poly.map{|p|p[1]}
xmin, xmax, ymin, ymax = xs.min, xs.max, ys.min, ys.max
cx_mid, cy_mid = (xmin + xmax) / 2.0, (ymin + ymax) / 2.0
num = (Math.sqrt((xmax-xmin)**2 + (ymax-ymin)**2) / step).ceil + 5
File.open(input_file, "w") do |file|
file.write "h#circle hatch\n"
(-num..num).each do |i|
(-num..num).each do |j|
px, py = cx_mid + i * u[0] + j * v[0], cy_mid + i * u[1] + j * v[1]
pts = [[px, py - half], [px, py + half], [px - half, py], [px + half, py]]
if pts.all? { |pt| inside?(pt[0], pt[1], poly) }
file.write "ci %.6f %.6f %.6f\n" % [px, py, half]
end
end
end
file.write "hr\n"
end
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
|
外変「plusハッチ」をアップします。
2本の境界線の間に「十」の形の線を配置する外変です。 (Geminiで作成) 境界線1をクリック 境界線2をクリック [選択確定]で実行 興味のある方はお試しください。 ++++++++++++++++++++++++++++++++++ plusハッチ.bat @echo off goto EXE REM plusハッチ外変 REM #jww REM #cd REM #g0 REM #gn REM #1ln 1本目の線を選択 REM #2ln 2本目の線を選択 REM #hr REM #e :EXE C:\Ruby33-x64\bin\ruby.exe -Ks "%~dp0plusハッチ.rb" exit ++++++++++++++++++++++++++++++++++ plusハッチ.rb # encoding: Windows-31J # plusハッチ.rb Dir.chdir(File.dirname(__FILE__)) input_file = 'jwc_temp.txt' # --- 設定値 --- SIZE_MM = 0.8 INTERVAL_MM = 2.2 # -------------- scale = 1.0 selected_lines = [] if File.exist?(input_file) src = File.read(input_file, encoding: 'Windows-31J') hs_vals = [] group = 0 src.each_line do |line| l = line.strip if l =~ /^hs\s+(.+)/ hs_vals = $1.split.map(&:to_f) elsif l =~ /^lg([0-9a-f])/ group = $1.hex scale = hs_vals[group] if hs_vals && hs_vals[group] elsif l =~ /^[ \t]*(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)/ selected_lines << [$1.to_f, $2.to_f, $3.to_f, $4.to_f] end end end exit if selected_lines.size < 2 l1, l2 = selected_lines[-2], selected_lines[-1] # --- 1. 成功していた範囲定義(4端点を結ぶ台形範囲) --- p1, p2 = [l1[0], l1[1]], [l1[2], l1[3]] p3, p4 = [l2[0], l2[1]], [l2[2], l2[3]] dist_p1_p3 = (p1[0]-p3[0])**2 + (p1[1]-p3[1])**2 dist_p1_p4 = (p1[0]-p4[0])**2 + (p1[1]-p4[1])**2 if dist_p1_p3 < dist_p1_p4 poly = [p1, p2, p4, p3] else poly = [p1, p2, p3, p4] end # 多角形内判定関数 def inside?(px, py, poly) ins = false; j = poly.size - 1 poly.size.times do |i| if ((poly[i][1] > py) != (poly[j][1] > py)) && (px < (poly[j][0] - poly[i][0]) * (py - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0]) ins = !ins end j = i end ins end # --- 2. 座標計算(成功時のロジックを100%維持) --- half, step = (SIZE_MM / 2.0) * scale, INTERVAL_MM * scale rad1, rad2 = 45.0 * Math::PI / 180.0, -45.0 * Math::PI / 180.0 u = [Math.cos(rad1) * step, Math.sin(rad1) * step] v = [Math.cos(rad2) * step, Math.sin(rad2) * step] xs, ys = poly.map{|p|p[0]}, poly.map{|p|p[1]} xmin, xmax, ymin, ymax = xs.min, xs.max, ys.min, ys.max cx_mid, cy_mid = (xmin + xmax) / 2.0, (ymin + ymax) / 2.0 num = (Math.sqrt((xmax-xmin)**2 + (ymax-ymin)**2) / step).ceil + 5 # --- 書き出し --- file = File.open(input_file, 'w') begin file.write "h#十字配置完了\n" file.write "pl\n" # 曲線属性開始 (-num..num).each do |i| (-num..num).each do |j| px = cx_mid + i * u[0] + j * v[0] py = cy_mid + i * u[1] + j * v[1] # 十字の端点4つすべてが領域内にあるか厳密にチェック pts = [ [px, py - half], [px, py + half], [px - half, py], [px + half, py] ] if pts.all? { |pt| inside?(pt[0], pt[1], poly) } file.write "%.6f %.6f %.6f %.6f\n" % [px, py - half, px, py + half] file.write "%.6f %.6f %.6f %.6f\n" % [px - half, py, px + half, py] end end end file.write "#\n" # 曲線属性終了 file.write "hr\n" ensure file.close end
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
動作条件
Rubyインストール先:C:\Ruby33-x64 実行ファイル:C:\Ruby33-x64\bin\ruby.exe
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
plusハッチ.bat(修正版)
動作条件 Ruby がインストールされている環境で動作します。 Ruby のバージョンやインストール場所には依存しません。 +++++++++++++++++++++++++++++++++++++++++++ plusハッチ.bat @echo off setlocal goto EXE REM plusハッチ外変 REM #jww REM #cd REM #g0 REM #gn REM #1ln 1本目の線を選択 REM #2ln 2本目の線を選択 REM #hr REM #e :EXE pushd "%~dp0" >nul set "SCRIPT=%~dp0plusハッチ.rb" if exist "C:\Ruby33-x64\bin\ruby.exe" ( "C:\Ruby33-x64\bin\ruby.exe" -Ks "%SCRIPT%" ) else ( ruby -Ks "%SCRIPT%" ) popd >nul endlocal exit /b 0
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
掲示板の「等幅」オプションをONにしてあげ直します。
(※RBファイル内の '(シングルクォート)がもし文字化けして動かない場合は、AIに修復を依頼するか、半角に置換してください。)
plusハッチ.bat
@echo off
setlocal
goto EXE
REM plusハッチ外変
REM #jww
REM #cd
REM #g0
REM #gn
REM #1ln 1本目の線を選択
REM #2ln 2本目の線を選択
REM #hr
REM #e
:EXE
pushd "%~dp0" >nul
set "SCRIPT=%~dp0plusハッチ.rb"
if exist "C:\Ruby33-x64\bin\ruby.exe" (
"C:\Ruby33-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby32-x64\bin\ruby.exe" (
"C:\Ruby32-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby31-x64\bin\ruby.exe" (
"C:\Ruby31-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else if exist "C:\Ruby30-x64\bin\ruby.exe" (
"C:\Ruby30-x64\bin\ruby.exe" -Ks "%SCRIPT%"
) else (
ruby -Ks "%SCRIPT%"
)
popd >nul
endlocal
exit /b 0
plusハッチ.rb
# encoding: Windows-31J
# plusハッチ.rb
Dir.chdir(File.dirname(__FILE__))
input_file = 'jwc_temp.txt'
# --- 設定値 ---
SIZE_MM = 0.8
INTERVAL_MM = 2.2
# --------------
scale = 1.0
selected_lines = []
if File.exist?(input_file)
src = File.read(input_file, encoding: 'Windows-31J')
hs_vals = []
group = 0
src.each_line do |line|
l = line.strip
if l =~ /^hs\s+(.+)/
hs_vals = $1.split.map(&:to_f)
elsif l =~ /^lg([0-9a-f])/
group = $1.hex
scale = hs_vals[group] if hs_vals && hs_vals[group]
elsif l =~ /^[ \t]*(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)\s+(-?\d+\.?\d*)/
selected_lines << [$1.to_f, $2.to_f, $3.to_f, $4.to_f]
end
end
end
exit if selected_lines.size < 2
l1, l2 = selected_lines[-2], selected_lines[-1]
# --- 1. 成功していた範囲定義(4端点を結ぶ台形範囲) ---
p1, p2 = [l1[0], l1[1]], [l1[2], l1[3]]
p3, p4 = [l2[0], l2[1]], [l2[2], l2[3]]
dist_p1_p3 = (p1[0]-p3[0])**2 + (p1[1]-p3[1])**2
dist_p1_p4 = (p1[0]-p4[0])**2 + (p1[1]-p4[1])**2
if dist_p1_p3 < dist_p1_p4
poly = [p1, p2, p4, p3]
else
poly = [p1, p2, p3, p4]
end
# 多角形内判定関数
def inside?(px, py, poly)
ins = false; j = poly.size - 1
poly.size.times do |i|
if ((poly[i][1] > py) != (poly[j][1] > py)) &&
(px < (poly[j][0] - poly[i][0]) * (py - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
ins = !ins
end
j = i
end
ins
end
# --- 2. 座標計算(成功時のロジックを100%維持) ---
half, step = (SIZE_MM / 2.0) * scale, INTERVAL_MM * scale
rad1, rad2 = 45.0 * Math::PI / 180.0, -45.0 * Math::PI / 180.0
u = [Math.cos(rad1) * step, Math.sin(rad1) * step]
v = [Math.cos(rad2) * step, Math.sin(rad2) * step]
xs, ys = poly.map{|p|p[0]}, poly.map{|p|p[1]}
xmin, xmax, ymin, ymax = xs.min, xs.max, ys.min, ys.max
cx_mid, cy_mid = (xmin + xmax) / 2.0, (ymin + ymax) / 2.0
num = (Math.sqrt((xmax-xmin)**2 + (ymax-ymin)**2) / step).ceil + 5
# --- 書き出し ---
file = File.open(input_file, 'w')
begin
file.write "h#十字配置完了\n"
file.write "pl\n" # 曲線属性開始
(-num..num).each do |i|
(-num..num).each do |j|
px = cx_mid + i * u[0] + j * v[0]
py = cy_mid + i * u[1] + j * v[1]
# 十字の端点4つすべてが領域内にあるか厳密にチェック
pts = [
[px, py - half], [px, py + half],
[px - half, py], [px + half, py]
]
if pts.all? { |pt| inside?(pt[0], pt[1], poly) }
file.write "%.6f %.6f %.6f %.6f\n" % [px, py - half, px, py + half]
file.write "%.6f %.6f %.6f %.6f\n" % [px - half, py, px + half, py]
end
end
end
file.write "#\n" # 曲線属性終了
file.write "hr\n"
ensure
file.close
end
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
|
DXFファイルを読み込んだ際にどのようにレイヤーグループ縮尺が決定しますか?
希望としては毎回1/100で読込がしたいです。 何か良い方法はございますか? また、DXFヘッダ変数で制御可能でしょうか? ※DXFの形式はAutoCAD R12 (AC1009)になります。 ※レイヤーグループ縮尺を手動で変更する方法は理解しています。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
▼たこさんさん:
レスが付きませんね。 >DXFファイルを読み込んだ際にどのようにレイヤーグループ縮尺が決定しますか? jww側で操作しています。 >希望としては毎回1/100で読込がしたいです。 >何か良い方法はございますか? 設定→基本設定→DXFのタブ→図面範囲を読み込むのチェックを外す。 新規jwwを立ち上げて、1/100に設定してから、DXFファイルを読み込む。 ドラッグアンドドロップの場合は、jw_win.jwfで、各レイヤーGの縮尺を1/100に設定しておく良いと思いますが、実験していません。 確認して、此処に結果を書き込むと、皆さんの役に立つかもしれません。 >また、DXFヘッダ変数で制御可能でしょうか? 出来ません。 元々、DXFは1/1です。レイヤーGに縮尺設定できるのは、jwwの特性であり、DXFに、縮尺の概念は在りません。 >※DXFの形式はAutoCAD R12 (AC100909)になります。 >※レイヤーグループ縮尺を手動で変更する方法は理解しています。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
▼hogehogeさん:
>▼たこさんさん: > >レスが付きませんね。 > >>DXFファイルを読み込んだ際にどのようにレイヤーグループ縮尺が決定しますか? >jww側で操作しています。 > >>希望としては毎回1/100で読込がしたいです。 >>何か良い方法はございますか? >設定→基本設定→DXFのタブ→図面範囲を読み込むのチェックを外す。 >新規jwwを立ち上げて、1/100に設定してから、DXFファイルを読み込む。 > >ドラッグアンドドロップの場合は、jw_win.jwfで、各レイヤーGの縮尺を1/100に設定しておく良いと思いますが、実験していません。 >確認して、此処に結果を書き込むと、皆さんの役に立つかもしれません。 > >>また、DXFヘッダ変数で制御可能でしょうか? >出来ません。 >元々、DXFは1/1です。レイヤーGに縮尺設定できるのは、jwwの特性であり、DXFに、縮尺の概念は在りません。 > >>※DXFの形式はAutoCAD R12 (AC100909)になります。 >>※レイヤーグループ縮尺を手動で変更する方法は理解しています。 ご返答ありがとうございます。 「設定→基本設定→DXFのタブ→図面範囲を読み込むのチェックを外す。」 非常に参考になりました。 DXFの概念を深堀して勉強していきたいと思います。 外部変形でレイヤーGに縮尺設定変更、「実寸固定」「文字サイズ変更ON」が可能であれば、複数ファイルを一括で1/100に変換できるアプリを作りたいと考えてます。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
|
貼付ボタンが消えて、連・S-JIS・文書・NOTEPADが表示されています。
エクセルから文字を貼付たいのですが。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼ゆうさん:
「貼付ボタン」とは? ツールバー[メイン]の「貼付」or ユーザーメニュー?
"連・S-JIS・文書・NOTEPAD"‥何のこと?
"エクセルから文字を貼付たい"なら
→エクセルでコピー > JWWで「文字」>[貼付]で
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
▼Since Dosさん:
>▼ゆうさん: >「貼付ボタン」とは? ツールバー[メイン]の「貼付」or ユーザーメニュー? > "連・S-JIS・文書・NOTEPAD"‥何のこと? > > "エクセルから文字を貼付たい"なら > →エクセルでコピー > JWWで「文字」>[貼付]で 返信ありがとうございます。 エクセルで表の複数列をコピー後、JWWにて範囲→文字→貼付でJWWで作図した表の編集を行っておりました。その貼付ボタンです。 言葉足らずで申し訳ございません。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼ゆうさん:
>エクセルで表の複数列をコピー後、JWWにて範囲→文字→貼付でJWWで作図した表の編集を行っておりました。その貼付ボタンです。
Ver.8.25a → Ver.10.02.1にアップしたら、コントロールバーが
文字を範囲選択→「文字」で→[貼付]コマンドが表示されないということですね。
確かに表示されなくなったようですね。
この状態で[貼付]コマンドを実行すると、範囲選択された文字が上書きされるという機能は知りませんでした。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
▼ゆうさん:
>貼付ボタンが消えて、連・S-JIS・文書・NOTEPADが表示されています。 >エクセルから文字を貼付たいのですが。 私も最近バージョン8台から10.02.1へアップデートして、 この機能が使えなくなっていて検索してここにたどり着きました。 エクセル等の表を元に図面を作る際に便利で、よく使ってましたが出来なくなったので 今は文字選択状態でNOTEPAD→貼付けて上書き保存して閉じるで対処しています。 技術上可能ならバージョンアップで戻ってくるといいですね。
<Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Kinza/3.9.1
|
JWWで取り込む際、図面が変わることにより、線属性の色配列が変わるため、印刷される線属性も変わってしまう。
取り込む前に、JWで印刷されたときの色配列を見越して作成した図面も、線属性の色配列が変わってしまえば印刷後の色配列も変わってしまう。 あの8色の配列を固定する方法を教えてほしいです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼CATさん:
2回の投稿が有りましたね。 確認しました。 >図面を書いても描写した色通りに印刷されない。 >そのため、一つ一つ設定から変更をかけるのが手間です。 jwwで【>図面を書いても】は、jwfを調べて下さい。 設定は各自が行えるようになっていますので、確認して下さい。 【線色〇】に対応して、画面(色・太さ)と印刷(色・太さ)時の設定が個別に設定できます。(〇は数字です。) Jwfに設定が保存できますので、必要に応じて何個も作成して利用して下さい。 >環境ファイル設定も毎度違う図面を違うソフトから取り込んだ際に、印刷される色が画面で見えていた色と全く変わっている。 Jww線種で無いから、環境ファイル設定で指定したJww線種の設定が有効にならないと思います。 >そのため、JW以外のソフトで作成した図面を色を変えずに、取り込んで印刷までされる方法があるなら聞きたいです。 jww形式で出力できるソフトであれば、其方をお調べ下さい。 DXF経由では、元々出来ません。jww側でSXF線種に読み込む仕様です。 コンバーターを使うと少し手間が減るかもしれません。 外変で、SXF線種をJwwの線色に変換するソフトも有ります。 >JWWで取り込む際、図面が変わることにより、線属性の色配列が変わるため、印刷される線属性も変わってしまう。 DXF経由なら、上記の通りです。 >取り込む前に、JWで印刷されたときの色配列を見越して作成した図面も、線属性の色配列が変わってしまえば印刷後の色配列も変わってしまう。 >あの8色の配列を固定する方法を教えてほしいです。 DXF経由の場合、「JWで印刷されたときの色配列を見越して作成した図面」に意味は有りません。 SXF線種で読み込む、jwwの仕様です。 使ったことは有りませんが、コンバーターを使うと「色配列を見越して作成した図面」が役立つかも、知れません。 未確認の推測です。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
レスありがとうございます。
jwwかDXF経由では印刷の色まで一致させるのは不可能ということでしょうか。 SXF(sfc)では、jwで見られない方もいるため。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
▼CATさん:
>jwwかDXF経由では印刷の色まで一致させるのは不可能ということでしょうか。 jwwで、(他のCADから)DXF経由では(jwwで)印刷の色まで一致させるのは不可能 という意味なら、その通りです。前回のレスをお読みください。 DXF経由では「線属性の配列(8色)を固定する方法」は、有りません。 >レスありがとうございます。 >jwwかDXF経由では印刷の色まで一致させるのは不可能ということでしょうか。 >SXF(sfc)では、jwで見られない方もいるため
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
|