Jw_cad 相談室−その2 New

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

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

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


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

寸法値と文字のみ位置を変えずに反転できますか? かいぬ 21/5/27(木) 23:59

Re:寸法値と文字のみ位置を変えずに反転できますか? DTJ 21/5/28(金) 12:39
Re:寸法値と文字のみ位置を変えずに反転できますか? Fu〜 21/5/28(金) 17:46
Re:寸法値と文字のみ位置を変えずに反転できますか? DTJ 21/5/28(金) 19:45
Re:寸法値と文字のみ位置を変えずに反転できますか? kojima 21/5/28(金) 22:32
Re:寸法値と文字のみ位置を変えずに反転できますか? DTJ 21/5/29(土) 7:58

Re:寸法値と文字のみ位置を変えずに反転で...
 DTJ  - 21/5/28(金) 12:39 -
▼かいぬさん:
>図面を書いてるときに反転して180°回転させるときがあるのですが文字と寸法値が逆さになってしまいます、、
>一括で治すことはできますか?

KITIさん作の外部変形「寸法文字頭左下」で希望通りの動作が出来ると思い、動作確認したところ「寸法図形」は説明通りの結果になりますが、それ以外は回転はするけど寸法線の飛び越しは出来ないようです
JWWの小箱 http://kiti-ku.o.oo7.jp/

KITIさんへ
以前は寸法図形以外でも出来ていた記憶がありますが、こちらの勘違いでしょうか?
Win10(20H2及び21H1)
Jw_cad8.24a
の環境で試しましたが寸法図形以外は出来ませんでした
グループ化のチェックも入れても外しても変わりは無いです
このスレをご覧になってましたら確認をお願いしますm(__)m

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0@M106073134000.v4.enabler.ne.jp>
・ツリー全体表示

Re:寸法値と文字のみ位置を変えずに反転で...
 Fu〜 WEB  - 21/5/28(金) 17:46 -
▼DTJさん:

03が入ってたので試しましたができませんでした
04を入れてもだめでした

>  注意  : 実行後は寸法図形化はそのままですが寸法属性が解除さ
>        れてしまいます。

とあるので勘違いでは?


寸法回転のソフトでも寸法図形ならできますね


>以前は寸法図形以外でも出来ていた記憶がありますが、こちらの勘違いでしょうか?

引用なし

パスワード


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

Re:寸法値と文字のみ位置を変えずに反転で...
 DTJ  - 21/5/28(金) 19:45 -
▼Fu〜さん:
こんばんは

>>  注意  : 実行後は寸法図形化はそのままですが寸法属性が解除さ
>>        れてしまいます。
>
>とあるので勘違いでは?

注意文も書かれているし参考.JWWの寸法も寸法図形なので、寸法図形だけ対応なのかな?と思ったのですが、もしそうならReadme.txtに「寸法図形のみ対応」とKITIさんなら書かれるんじゃ無いかと・・・(^^ゞ

こちらの思い込み勘違いかもしれませんが・・・

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0@M106073134000.v4.enabler.ne.jp>
・ツリー全体表示

Re:寸法値と文字のみ位置を変えずに反転で...
 kojima  - 21/5/28(金) 22:32 -
▼DTJさん:
>KITIさんへ
>以前は寸法図形以外でも出来ていた記憶がありますが、こちらの勘違いでしょうか?

寸法図形は寸法値と寸法線がセットですが、寸法属性の寸法値と寸法線は
関連付けがありません。

寸法線から図寸2mm以内の寸法値を勝手に関連付けするようにしてみました。

@REM 寸法値を移動
@echo off
REM #jww
REM #cd
REM #ht10
REM #ht20
REM #ht40
REM #zz
REM #zc
REM #zw
REM #h1
REM #g1
REM #c寸法線と寸法値の離れ(図寸) 無指定:1mm/_/a
REM #hp
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 > jwc_temp.txt
pause
goto end
#!ruby -Ks
include Math
require "jcode"
hanare=1.0
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
hanare=argument[2..-1].to_f
end
end
def sentyo(sen,keta,hasu)
l=hypot(sen[3]-sen[1],sen[2]-sen[0])
if hasu=="1"
l=(l*(10**keta)).round/(10.0**keta)
elsif hasu=="2"
l=(l*(10**keta)).ceil/(10.0**keta)
elsif hasu=="3"
l=(l*(10**keta)).floor/(10.0**keta)
end
return l
end
def sen_ue?(sen,ten)
x1,y1,x2,y2=sen
tx,ty=ten
sen_arg=atan2(y2-y1,x2-x1)
ten_arg=atan2(ty-y1,tx-x1)
if (sen_arg-ten_arg).abs<0.001
l1=hypot(y2-y1,x2-x1)
l2=hypot(ty-y1,tx-x1)
if l1>l2
return 1
else
return 0
end
else
return 0
end
end
by_a=[];sen_a=[];hch=[]
while ARGF.gets
xy=$_.split
if xy[0]=~/^hs/
xy[1..-1].each{|item|by_a<<item.to_f}
end
if xy[0]=~/^lg/
zusun=by_a[xy[0][2,1].hex]
end
if xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
end
if xy[0]=~/^z3/
ARGF.gets
xy=$_.split
if xy[0]=~/^\d|^-/
xy.collect!{|item|item.to_f}
sen_a<<xy
end
end
end
hanare *= zusun
puts "hd"
f=open("temp.txt","r")
while f.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^cn(\d+)/
print $_
if xy.size==1
moji_h=hch[$1.to_i]
else
moji_h=xy[2].to_f
end
moji_h *= zusun
elsif xy[0]=~/^cc/
print $_
cc=xy[0]
elsif xy[0]=~/^cs/
moji=$'.chomp if $_=~/\"/
moji2=moji.tr("0123456789","0123456789")
moji2=moji2.tr(",,","")
x=xy[1].to_f
y=xy[2].to_f
c_arg=atan2(xy[4].to_f,xy[3].to_f)
c_l=hypot(xy[4].to_f,xy[3].to_f)
ln=sen_a.find{|x1,y1,x2,y2|
arg1=atan2(y2-y1,x2-x1)
arg2=atan2(y1-y2,x1-x2)
l=hypot(y-y1,x-x1)
arg=atan2(y-y1,x-x1)
l2=l*cos(arg-arg1)
tx=x1+l2*cos(arg1)
ty=y1+l2*sin(arg1)
h=l*sin(arg-arg1)
l=hypot(y2-y1,x2-x1)
h.abs<hanare*2 && sen_ue?([x1,y1,x2,y2],[tx,ty])==1 && (c_arg-arg1).abs<0.001 && (l-moji2.to_f).abs<zusun or
h.abs<hanare*2 && sen_ue?([x1,y1,x2,y2],[tx,ty])==1 && (c_arg-arg2).abs<0.001 && (l-moji2.to_f).abs<zusun
}
if ln
if ln[0]>ln[2]
ln[0],ln[1],ln[2],ln[3]=ln[2],ln[3],ln[0],ln[1]
elsif ln[0]==ln[2]
ln[1],ln[3]=ln[3],ln[1] if ln[1]>ln[3]
end
if cc!="cc1"
puts "cc1","z3"
end
l=hypot(ln[3]-ln[1],ln[2]-ln[0])
arg=atan2(ln[3]-ln[1],ln[2]-ln[0])
x=ln[0]+l/2*cos(arg)+hanare*cos(arg+PI/2)
y=ln[1]+l/2*sin(arg)+hanare*sin(arg+PI/2)
printf("cs %.11f %.11f %.11f %.11f \"%s\n",x,y,cos(arg),sin(arg),moji)
puts cc if cc!="cc1"
else
if xy[3].to_f<0 or xy[3].to_f==0 && xy[4].to_f<0
if cc=="cc0"
x=x+c_l*cos(c_arg)+moji_h*cos(c_arg+PI/2)
y=y+c_l*sin(c_arg)+moji_h*sin(c_arg+PI/2)
elsif cc=="cc1"
x=x+moji_h*cos(c_arg+PI/2)
y=y+moji_h*sin(c_arg+PI/2)
elsif cc=="cc2"
x=x-c_l*cos(c_arg)+moji_h*cos(c_arg+PI/2)
y=y-c_l*sin(c_arg)+moji_h*sin(c_arg+PI/2)
elsif cc=="cc3"
x=x+c_l*cos(c_arg)
y=y+c_l*sin(c_arg)
elsif cc=="cc5"
x=x-c_l*cos(c_arg)
y=y-c_l*sin(c_arg)
elsif cc=="cc6"
x=x+c_l*cos(c_arg)-moji_h*cos(c_arg+PI/2)
y=y+c_l*sin(c_arg)-moji_h*sin(c_arg+PI/2)
elsif cc=="cc7"
x=x-moji_h*cos(c_arg+PI/2)
y=y-moji_h*sin(c_arg+PI/2)
elsif cc=="cc8"
x=x-c_l*cos(c_arg)-moji_h*cos(c_arg+PI/2)
y=y-c_l*sin(c_arg)-moji_h*sin(c_arg+PI/2)
end
printf("cs %.11f %.11f %.11f %.11f \"%s\n",x,y,cos(c_arg+PI),sin(c_arg+PI),moji)
else
print $_
end
end
elsif xy[0]=~/^msg/
print $_
while f.gets
xy=$_.split
if xy[0]=~/^\d|^-/
print $_
xy.collect!{|item|item.to_f}
ln=xy
elsif xy[0]=~/^cs/
if xy[3].to_f<0 or xy[3].to_f==0 && xy[4].to_f<0
moji=$'.chomp if $_=~/\"/
x=xy[1].to_f
y=xy[2].to_f
c_arg=atan2(xy[4].to_f,xy[3].to_f)
c_l=hypot(xy[4].to_f,xy[3].to_f)
arg1=atan2(ln[3]-ln[1],ln[2]-ln[0])
l=hypot(y-ln[1],x-ln[0])
arg2=atan2(y-ln[1],x-ln[0])
h=l*sin(arg2-arg1)
l2=l*cos(arg2-arg1)
h<0 ? k = -1 : k=1
x=ln[0]+l2*cos(arg1)+(moji_h*k+h)*cos(arg1-PI/2)
y=ln[1]+l2*sin(arg1)+(moji_h*k+h)*sin(arg1-PI/2)
x=x+c_l*cos(c_arg)+moji_h*cos(c_arg+PI/2)
y=y+c_l*sin(c_arg)+moji_h*sin(c_arg+PI/2)
printf("cs %.11f %.11f %.11f %.11f \"%s\n",x,y,cos(c_arg+PI),sin(c_arg+PI),moji)
else
print $_
end
elsif xy[0]=="#"
puts "#"
break
else
print $_
end
end
else
print $_
end
end
f.close
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@ai126172021110.49.access-internet.ne.jp>
・ツリー全体表示

Re:寸法値と文字のみ位置を変えずに反転で...
 DTJ  - 21/5/29(土) 7:58 -
▼kojimaさん:

おはようございます

>寸法線から図寸2mm以内の寸法値を勝手に関連付けするようにしてみました。

ありがとうございます
ruby 1.8.7.374の環境で問題無く動きました

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0@M106073134000.v4.enabler.ne.jp>
・ツリー全体表示

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

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