■外変&線記変-線分->寸法図形化
拙宅のBBSにて、線分を寸法図形にする手法で、とんま 3世さんの線記号変形、
PC音痴さんの外部変形が発表されましたので、ここに公開させていただきます。
(お二方に、感謝いたします。)
◎ OPT4による手法 (下記をコピペし、jw_opt4*.dat などで保存して下さい。)
version 2.00 (2000/8/13 バージョン履歴より)
・建具データの線の行末に「&m」を記入すると、その線は寸法図形になるようにした。
(文字種は、カレントの寸法設定文字種です。)
# 線長(寸法図形化)
10
999
0 線長(寸図書色レイヤ)
10 09 -10 0 10 0
310 310 -10 0 10 0 -11 &m
999
0 線長(寸図書色レイヤ)
10 09 -10 0 10 0 -11
10 01 0 0 0 360 -1 -1 -1 e 1.5
01 10 0 0 0 360 -1 -1 -1 e 1.5
310 310 -10 0 10 0 -11 &m
999
# 寸法図形にしないなら
0 線長 -11 (線の中央より右指定)
110 10 -10 0 10 0
14010 0 0 0 0 0
999
★線分をクリックするだけで、寸法図形になる"マジック "は、驚きです。
端点に "円" を書き込む事もできます。
◎ 外部変形による手法 「寸法値作図02」
「cs_draw02.lzh」をダウンロード
(mswin32-rubyの動作する環境)
★ |寸法値 (L)|寸法図形化(R)| の選択ができますので、寸法図形にしたくない
敷地の廻り間などは、寸法値を選択すれば、OKです。
Comments
こんにちは、
ご無沙汰です。
今回、本家掲示板で、牛渡さん作の外変(アイソメ図用寸法作図)iDim051.zipを公開して頂き感謝しているところです。
そこで、"アイソメ図用寸法作図"で出力された寸法値を寸法図形にできないかと思い、多少、手を加えてみました。
この外変はどなたの作品か分かりませんが、ご容赦下さい。
【変更内容】---スクリプト部分
#!ruby -Ks
require 'rexml/document'
####### 設 定 ##############################################################
#
# ※注意 寸法図形化する場合は下記設定をJw_cad側の寸法設定に合わせてください。
#
$unit = "mm" #単位( mm≡ミリ; m≡メートル )
$add = "off" #単位付加( on≡設定有; off≡設定無 )
#---------------------------------------------------------------------------
#牛渡さん作の外変、「アイソメ図用寸法作図」出力データ(xkl)の流用部分です。
xml_file_name = 'C:\\jww\\[外部変形]\\牛渡\アイソメ寸法\\iDim051\\idim.xml'
prefs = REXML::Document.new File.open(xml_file_name, 'r')
options = prefs.get_elements("/isometric_dimension/options").first
gap = options.attributes["gap"].to_f #寸法値と線の間隔(-10~10 図寸mm)
$dt = gap
prec = options.attributes["prec"].to_i #少数桁(0~3)
$keta = prec
font = options.attributes["font"].to_i #寸法値文字種(1~10) [無指定 書込み文字種]
$cn = "#{font}"
roundmode = options.attributes["roundmode"].to_i #丸め方式( r≡四捨五入; d≡切捨て; u≡切上げ )
if roundmode == 0
$marume = "r"
elsif roundmode == 1
$marume = "d"
elsif roundmode == 2
$marume = "u"
end
comma = ( options.attributes["comma"] == "true" ) #三桁カンマ区切り( on≡設定有; off≡設定無 )
if comma == true
$comma = "on"
elsif comma == false || no-comma
$comma = "off"
end
#---------------------------------------------------------------------------
sy = "" #寸法値作図レイヤ(0~f) [無指定:書込みレイヤ]
$ci = "off" #端部円作図設定( on≡設定有; off≡設定無 )
$cr = 2.0 #円半径(0.1~10 図寸mm)
$cc = "2" #円線色(1~9 ) [無指定:書込み線色]
$cy = "" #円作図レイヤ(0~f) [無指定:書込みレイヤ]
#---------------------------------------------------------------------------
$pt = "off" #端部実点作図設定( on≡設定有; off≡設定無 )
#
$pn = "2" #実点点種(1~9 ) [無指定:書込み点種]
$py = "" #実点作図レイヤ(0~f) [無指定:書込みレイヤ]
############################################################################
注;
1.パスは、自身の環境に変更願います。
2.cs_drawスクリプトの、オプション変更部分は、
$dt・$keta・$cn・$marume・$comma です。
(他のオプションについては、適当です)
※ cs_drawスクリプトの、上記オプション部分をコメントアウトまたは、削除して下さい。
変更部分のみ記述してますので、ご注意ください。
不具合等あるかもしれません。(ご容赦)
住職さん、すみません、まずいと思われたら、勝手に削除してください!!
Posted by: R.N | February 12, 2018 11:41 PM
すみません。
特定の外変だけの使用になったようで---
ちと、変更が---WWW
Posted by: R.N | February 13, 2018 01:02 AM
こんなんで?
なにせ素人なことで、ご容赦---
#!ruby -Ks
$stderr=open("error.log","w")
require 'rexml/document'
####### 設 定 ##############################################################
#
# ※注意 寸法図形化する場合は下記設定をJw_cad側の寸法設定に合わせてください。
#
$unit = "mm" #単位( mm≡ミリ; m≡メートル )
$add = "off" #単位付加( on≡設定有; off≡設定無 )
#---------------------------------------------------------------------------
$sy = "" #寸法値作図レイヤ(0~f) [無指定:書込みレイヤ]
# ※寸法図形化の場合は線と同じレイヤに作図
#---------------------------------------------------------------------------
$ci = "off" #端部円作図設定( on≡設定有; off≡設定無 )
$cr = 2.0 #円半径(0.1~10 図寸mm)
$cc = "2" #円線色(1~9 ) [無指定:書込み線色]
$cy = "" #円作図レイヤ(0~f) [無指定:書込みレイヤ]
#---------------------------------------------------------------------------
$pt = "off" #端部実点作図設定( on≡設定有; off≡設定無 )
$pn = "2" #実点点種(1~9 ) [無指定:書込み点種]
$py = "" #実点作図レイヤ(0~f) [無指定:書込みレイヤ]
#---------------------------------------------------------------------------
#牛渡さん作の外変、アイソメ寸法図の"xml"出力データを流用できるようにしてみました。
xml_file_name = 'C:\\jww\\[外部変形]\\牛渡\アイソメ寸法\\iDim051\\idim.xml'
# (上記パスを間違いなく入力して下さい。見つからなければ、通常オプションになります)
if File.exist?(xml_file_name) # "idim.xml"ファイルがなければ、通常設定。
prefs = REXML::Document.new File.open(xml_file_name, 'r')
options = prefs.get_elements("/isometric_dimension/options").first
gap = options.attributes["gap"].to_f #寸法値と線の間隔(-10~10 図寸mm)
$dt = gap
prec = options.attributes["prec"].to_i #少数桁(0~3)
$keta = prec
font = options.attributes["font"].to_i #寸法値文字種(1~10) [無指定 書込み文字種]
$cn = "#{font}"
roundmode = options.attributes["roundmode"].to_i #丸め方式( r≡四捨五入; d≡切捨て; u≡切上げ )
if roundmode == 0
$marume = "r"
elsif roundmode == 1
$marume = "d"
elsif roundmode == 2
$marume = "u"
end
comma = ( options.attributes["comma"] == "true" ) #三桁カンマ区切り( on≡設定有; off≡設定無 )
if comma == true
$comma = "on"
elsif comma == false || no-comma
$comma = "off"
end
else
#上記設定の続きは、こちらで願います。("idim.xml"ファイルデータなければ、こちらが有効となります。変化なし)
$dt = 0.5 #寸法値と線の間隔(-10~10 図寸mm)
$keta = 0 #少数桁(0~3)
$cn = "3" #寸法値文字種(1~10) [無指定 書込み文字種]
$marume = "r" #丸め方式( r≡四捨五入; d≡切捨て; u≡切上げ )
$comma = "on" #三桁カンマ区切り( on≡設定有; off≡設定無 )
end
############################################################################
Posted by: R.N | February 13, 2018 05:08 AM
こんなんで?
なにせ素人なことで、ご容赦---
#!ruby -Ks
$stderr=open("error.log","w")
require 'rexml/document'
####### 設 定 ##############################################################
#
# ※注意 寸法図形化する場合は下記設定をJw_cad側の寸法設定に合わせてください。
#
$unit = "mm" #単位( mm≡ミリ; m≡メートル )
$add = "off" #単位付加( on≡設定有; off≡設定無 )
#---------------------------------------------------------------------------
$sy = "" #寸法値作図レイヤ(0~f) [無指定:書込みレイヤ]
# ※寸法図形化の場合は線と同じレイヤに作図
#---------------------------------------------------------------------------
$ci = "off" #端部円作図設定( on≡設定有; off≡設定無 )
$cr = 2.0 #円半径(0.1~10 図寸mm)
$cc = "2" #円線色(1~9 ) [無指定:書込み線色]
$cy = "" #円作図レイヤ(0~f) [無指定:書込みレイヤ]
#---------------------------------------------------------------------------
$pt = "off" #端部実点作図設定( on≡設定有; off≡設定無 )
$pn = "2" #実点点種(1~9 ) [無指定:書込み点種]
$py = "" #実点作図レイヤ(0~f) [無指定:書込みレイヤ]
#---------------------------------------------------------------------------
#牛渡さん作の外変、アイソメ寸法図の"xml"出力データを流用できるようにしてみました。
xml_file_name = 'C:\\jww\\[外部変形]\\牛渡\アイソメ寸法\\iDim051\\idim.xml'
# (上記パスを間違いなく入力して下さい。見つからなければ、通常オプションになります)
if File.exist?(xml_file_name) # "idim.xml"ファイルがなければ、通常設定。
prefs = REXML::Document.new File.open(xml_file_name, 'r')
options = prefs.get_elements("/isometric_dimension/options").first
gap = options.attributes["gap"].to_f #寸法値と線の間隔(-10~10 図寸mm)
$dt = gap
prec = options.attributes["prec"].to_i #少数桁(0~3)
$keta = prec
font = options.attributes["font"].to_i #寸法値文字種(1~10) [無指定 書込み文字種]
$cn = "#{font}"
roundmode = options.attributes["roundmode"].to_i #丸め方式( r≡四捨五入; d≡切捨て; u≡切上げ )
if roundmode == 0
$marume = "r"
elsif roundmode == 1
$marume = "d"
elsif roundmode == 2
$marume = "u"
end
comma = ( options.attributes["comma"] == "true" ) #三桁カンマ区切り( on≡設定有; off≡設定無 )
if comma == true
$comma = "on"
elsif comma == false || no-comma
$comma = "off"
end
else
#上記設定の続きは、こちらで願います。("idim.xml"ファイルデータなければ、こちらが有効となります。変化なし)
$dt = 0.5 #寸法値と線の間隔(-10~10 図寸mm)
$keta = 0 #少数桁(0~3)
$cn = "3" #寸法値文字種(1~10) [無指定 書込み文字種]
$marume = "r" #丸め方式( r≡四捨五入; d≡切捨て; u≡切上げ )
$comma = "on" #三桁カンマ区切り( on≡設定有; off≡設定無 )
end
############################################################################
Posted by: R.N | February 13, 2018 05:09 AM
RNさん、こんにちは。
牛渡さんの外変は、私もDLしました。
貴殿のスクリプトは、このまま掲載しておきます。
ありがとうございます。
Posted by: siegel | February 13, 2018 07:01 PM
《間違いの訂正》
elsif comma == false || no-comma
を
elsif comma == false
に訂正。
記述も間違ってますが、"--no-comma"オプションの場合は、"false"になるようです。
それと、この外変について、
寸法文字を選択し、寸法図形化するように記述されてないので、既存の文字と寸法図形文字が重複して記述されるようです。
Posted by: R.N | February 21, 2018 07:33 PM