MicroStation CONNECT Edition Help

代入キーワード

ここでは、キーワードの機能に関する簡単な説明、キーワードが影響を与える要素のタイプ(該当する場合)、有効なデータ形式(該当する場合)、およびキーワードの使用例を示します。代入キーワードに続くセクションでは、代入文で色を指定する方法について説明します。

area_fill

多角形の塗り潰しをサポートしているプロッタの場合、area_fillキーワードは、trueに設定されたとき、閉じた要素を塗り潰しとしてプロットします。代入キーワード「fill_color」または「pattern」を設定するということは、area_fillをtrueに設定するということになります。area_fillキーワードは、本来ならば外枠だけが塗り潰し領域としてプロットされる要素をプロットする際に使用されます。閉じたB-スプライン曲線、複合図形、楕円、多角形など、テキストを除くあらゆる閉じた要素をこのキーワードで制御できます。

シンタックス

area_fill = true
area_fill = false

例:

!
! Area fill all shapes.
!
if (type == shape) then
  area_fill = true
endif

boundary_color

boundary_colorキーワードは、領域またはパターンで塗り潰された多角形の境界線の色を指定するために使用されます。boundary_colorは、boundary_displayがtrueに設定された塗り潰し要素にのみ影響します。色指定の詳細については、このセクションの終わりにある"代入文で色を指定する"を参照してください。

シンタックス

boundary_color = integer

(整数は0から255までのカラーインデックス)

boundary_color = "string"

(文字列は色ライブラリからの名前)

boundary_color = (R,G,B)

(RGBは0から255までの範囲)

例:

!
! Set boundary_color and boundary_display for
! shapes on level 7.
!
if ((type == shape) and (level == 7)) then
  area_fill = true
  color = 'blue'
  boundary_display = true
	 boundary_color = 'red'
endif

boundary_display

デザインファイルまたはデザインスクリプトのarea_fillキーワードで塗り潰された要素に関して、boundary_displayキーワードは塗り潰された多角形の境界線をプロットするかどうかを指定します。boundary_displayキーワードは、塗り潰されていない要素には影響しません。

注記: 塗り潰されたテキストに対してboundary_displayをtrueに設定すると、望ましくない結果が生じる可能性があります。

シンタックス

boundary_display = true
boundary_display = false

例:

!
! Set boundary_color and boundary_display for
! shapes on level 7.
!
if ((type == shape) and (level == 7)) then
	 area_fill = true
	 color = 'blue'
	 boundary_display = true
	 boundary_color = 'red'
endif

case_sensitive

case_sensitiveキーワードは、characters比較キーワードを使用した文字列比較において、大文字と小文字を区別するかどうかを指定します。既定値は「false」です。

シンタックス

case_sensitive = true
case_sensitive = false

例:

!
!Replace text elements having
!characters "TITLE" with all-caps, and
!replace "Title" with first letter caps title.
!
case_sensitive = true
if (characters == "TITLE") then
	 characters = "FIRST FLOOR DESIGN"
else if (characters == "Title") then
	 characters = "First Floor Design"
endif

characters

charactersキーワードは、テキスト要素内の文字列を新しい文字列に置き換えることを可能にします。テキスト要素をプレースホルダーとしてデザインファイルに配置すると、のちにこれらの文字列を、ファイルがプロットされた日付やデザインファイル名といった有益な情報に置き換えることができます。新しい文字列が元の文字列よりも短い場合、余りは空白で埋められます。新しい文字列が元の文字列よりも長い場合、元の文字列は文字を追加できるよう拡張されます。

置換文字列は、次に示すトークン値にすることもできます。

  • リテラル文字列
  • 下の表で示す印刷定義キーワード。
  • 1つまたは複数の環境変数とリテラル文字
  • 名前付き演算式を参照する<expr?name=...>トークン
  • envr_valueキーワード

次のキーワードは、プロットのラベリングに使用できる印刷定義の値を示します。

キーワード

am_pm

時間帯、午前または午後。(たとえば、AM)

date

プレビューまたは印刷のために印刷処理が実行される日付。(たとえば、05-APR-1996)

day_abbreviation

曜日を3文字に省略したもの。(たとえば、Fri)

day_name

曜日の非省略形。(たとえば、Friday)

day_number

数値形式で表した曜日。(たとえば、05)

dgnspec

マスターデザインファイルのファイル指定。(たとえば、C:\MYPROJ\E1.DGN)

hour

プレビューまたは印刷のために印刷処理が実行される時刻。(たとえば、11)

hour_12

12時間制で表した時刻。(たとえば、05)

hour_24

24時間制で表した時刻。(たとえば、17)

ip_color_table

デザインファイルに保存された色テーブル文字列。(たとえば、C:\MISC\COLOR.CTB)

ip_design

デザインファイル名。(たとえば、C:\MYPROJ\PLAN.DGN)

ip_design_script

プロットジョブに関連付けられたデザインスクリプトの名前。ファイルがフィーチャテーブルの場合は空白を返します。

ip_feature_table

プロットジョブに関連付けられたフィーチャテーブルの名前。ファイルがデザインスクリプトの場合は空白を返します。

ip_logical_name

現在の要素の参照論理名。(たとえば、C:\PROJ\BORDER.DGN)

ip_mirror

印刷定義に保存されているミラー設定。有効な値は、X、Y、BOTH、またはNONEです。

ip_model

印刷定義で指定されたモデル。(たとえば、sheetone)

ip_origin

ip_unitsキーワードで指定された単位でのX、Yの基準点。(たとえば、1.500000,2.000000)

ip_origin_x

ip_unitsキーワードで指定された単位でのXの基準点。(たとえば、1.500000)

ip_origin_y

ip_unitsキーワードで指定された単位でのYの基準点。(たとえば、5.000000)

ip_pen_table

プロットジョブに関連付けられたデザインスクリプトの名前。

ip_plot_rescale

印刷定義のX、Yプロット尺度変更値。(たとえば、3.000000,2.000000)

ip_plot_rescale_x

印刷定義のXプロット尺度変更値。(たとえば、3.000000)

ip_plot_rescale_y

印刷定義のYプロット尺度変更値。(たとえば、2.000000)

ip_project

印刷定義で指定されたプロジェクト。(たとえば、Baldwinsville)

ip_queue

Windowsシステムプリンタが定義されていればその名前を、されていなければ空白文字列を返します。

ip_ref_filename

現在の要素の参照ファイルの完全パス名。(たとえば、C:\PROJ\FLOOR.DGN)

ip_rotation

0~360度の範囲で指定されたプロットの回転角度。(たとえば、45.000000)

ip_scale

MS_PLT_SCALE_METHODによって指定された形式でのプロット尺度。MS_PLTSCALE_SHORTアカウンティング変数と同じ値を返します。(たとえば、4.000000:1.000000)

ip_short_color_table

ディレクトリなしの色テーブル名。(たとえば、COLORS.TBL)

ip_short_design

ディレクトリ名なしのマスターファイル名。(たとえば、FLOOR27.DGN)

ip_short_design_script

ディレクトリなしのデザインスクリプト名。(たとえば、STANDARD.PEN)

ip_short_pen_table

ディレクトリなしのデザインスクリプト名。(たとえば、STANDARD.PEN)

ip_short_feature_table

ディレクトリなしのフィーチャテーブル名。(たとえば、DECATUR.FTB)

ip_short_ref_filename

現在の要素のフォルダなしの参照ファイル名。(たとえば、FLOOR.DGN)

ip_short_scale

ip_scaleと同じ値を返します。

ip_units

サイズや基準点といった値に対して指定された単位。(たとえば、inches)

ip_view

ビューの名前または番号。(たとえば、2)

ip_viewgroup

現在のビューグループ。(たとえば、sheetone Views)

ip_workspace

アクティブな作業環境の名前。(たとえば、Example)

ip_workset

アクティブなワークセットの名前。(たとえば、Civil)

ip_xsize

ip_unitsキーワードで指定された単位でのプロットのXサイズ。(たとえば、34.000000)

ip_xysize

ip_unitsキーワードで指定された単位でのプロットのXおよびYサイズ。(たとえば、34.000000, 44.000000)

ip_ysize

ip_unitsキーワードで指定された単位でのプロットのYサイズ。(たとえば、75.000000)

long_date

長い形式で表した日付。(たとえば、Friday, April 05, 1996)

long_time

プレビューまたは印刷のために印刷処理が実行される時刻を長い形式で表したもの。(たとえば、11:59:17 PM)

プレビューまたは印刷のために印刷処理が実行される時刻の分。(たとえば、59)

month_abbreviation

月を3文字に省略したもの。(たとえば、Apr)

month_name

月の非省略形。(たとえば、April)

month_number

月を数値で表したもの。(たとえば、04)

ms_pen_table

プロットジョブに関連付けられたペンテーブルの名前。ペンテーブルが定義されていない場合、空の文字列が返されます。(たとえば、C:\PROJ\E5.TBL)

ms_pltcfg_file

プリンタドライバ構成ファイルのファイル指定。(たとえば、 ..\Default\pltcfg\pdf.pltcfg )

ms_short_pltcfg_file

ディレクトリなしのプリンタドライバ構成ファイル名。(たとえば、PDF.PLTCFG)

ms_short_pen_table

ディレクトリなしのペンテーブル名。(たとえば、DECATUR.TBL)

page_number

印刷オーガナイザにおける印刷セット内の印刷定義の連続番号。(たとえば、1)可変印刷定義を使用している場合、「可変印刷定義においてページ番号付けトークンと総ページ数トークンを使用するにあたってのガイドライン」を参照してください。ドキュメント内のプロットの連続番号。

plan_set_name

印刷セット名のファイル指定。(たとえば、C:\plans\myplan.pset)

plan_set_short_name

フォルダ名なしの印刷セット名。(たとえば、myplan.pset)

plot_name

「印刷」ダイアログボックスまたは印刷オーガナイザ内の印刷定義名。(たとえば、border)プロットの名前。

秒数。(たとえば、17)

short_date

数値形式で表した日付。(たとえば、04/05/96)

short_time

短い形式で表した時刻。(たとえば、11:59)

short_year

2桁形式で表した年。(たとえば、96)

sytime

プレビューまたは印刷のために印刷処理が実行されるシステム日付とシステム時刻。(たとえば、5-APR-1996 09:47)

time

プレビューまたは印刷のために印刷処理が実行される時刻。(たとえば、09:47)

total_pages

印刷セット内の印刷定義の合計数。(たとえば、5)可変印刷定義を使用している場合、「可変印刷定義においてページ番号付けトークンと総ページ数トークンを使用するにあたってのガイドライン」を参照してください。ドキュメント内のプロットの合計数。

username

プレビューまたは印刷を実行したユーザーのユーザー名。(たとえば、jdoe)

year

プレビューまたは印刷のために印刷処理が実行される年を4桁で表したもの。(たとえば、1996)

シンタックス

characters = "string" 

(文字列は上の表で説明した有効な文字列またはキーワード)

例1:

!
! Change "preliminary" to "final" for text on
! level 10.
!
if (characters eq "preliminary" and type==text and level==10) then
	 characters = "final"
endif

例2:

! Replace the text string "PAGE" with
! a new string that contains the actual
! page number and total sheets in the set.
if (characters == "PAGE") then
	 characters = PAGE_NUMBER + "of" + TOTAL_PAGES
endif

例3:

!
! Replace the string "Project Number" with
! the actual project number stored in
! the PROJECT_NUM environment variable.
!
if (characters == "Project Number") then
	 envr_variable = "PROJECT_NUM"
	 characters = envr_value
endif

例4:

! Substitute the queue name from the print definition for
! the text string "$$queue$$."
!
if ((type == text) and (characters == '$$queue$$')) then
	characters = ip_queue
endif

例5:

! Substitute the Windows Username for the
! text string "$USER$" and include a literal
! text sting in the replacement string.
if ((type == text) and (characters == "$USER$")) then
	 characters = "User:$(USERNAME)"
endif

例6:

! Substitute the value of the Named Expression
! _Author for the text string $AUTHOR$.
if ((type == text) and (characters == "$AUTHOR$")) then
	 characters = "<expr?name=_Author>"
endif

class

classキーワードは、要素のクラスを変更します。新規クラスが印刷定義で無効となっている場合、または同等のMicroStation表示フラグで無効となっている場合、要素はプロットしません。

シンタックス

class = integer 

(整数は0から6までの範囲)

class = constant

定数は次のいずれかになります。

0 primary(本図)

1 pattern_component(パターン構成要素)

2 construction(下書き)

3 dimension(寸法)

4 primary_rule(本図ルール線)

5 linear_pattern(線パターン)

6 construction_rule(下書きルール線)

例:

!
! Change construction class elements on level 5
! to primary class elements.
if ((class == construction) and (level == 5)) then
	 class = primary
endif

cls_end_width

cls_end_widthキーワードは、現在の要素に関連付けられたカスタム線種の終了幅を、デザインファイルの主単位で設定します。cls_origin_widthとcls_end_widthの両方に対して同じ値が指定されている場合、線種の"ダッシュストローク"の幅は、一律に狭くまたは広くなります。これらのキーワードに異なる値が指定されると、要素の開始から終了にかけてダッシュストロークの太さが次第に変わっていきます。

カスタム線種において、各ダッシュストロークの幅はオプションプロパティです。このキーワードは、幅をプロパティとして設定していないダッシュストロークには影響を与えません。

シンタックス

cls_end_width = real number

例:

!
! Change the width of the wide strokes in
! the "{ Wide Dash }" line style to 2 master
! design units.
!
if (cls_name == '{ Wide Dash }') then
	 cls_origin_width = 2.0
	 cls_end_width = 2.0
endif

cls_name

cls_nameキーワードは、現在の要素にカスタム線種を割り当てます。プロットサーバーで使用される線種リソースファイルに線種が含まれている必要があります。

シンタックス

cls_name = string

例:

!
! Assign the "{ Diamond }" custom line
! style to all elements using line code 3.
!
if (style == 3) then
	 cls_name = '{ Diamond }'
endif

cls_origin_width

cls_origin_widthキーワードは、現在の要素に関連付けられたカスタム線種の開始幅を、デザインファイルの主単位で設定します。cls_origin_widthとcls_end_widthの両方に対して同じ値が指定されている場合、線種の"ダッシュストローク"の幅は、一律に狭くまたは広くなります。これらのキーワードに異なる値が指定されると、要素の開始から終了にかけてダッシュストロークの太さが次第に変わっていきます。

カスタム線種において、各ダッシュストロークの幅はオプションプロパティです。このキーワードは、幅をプロパティとして設定していないダッシュストロークには影響を与えません。

シンタックス

cls_origin_width = real number

例:

!
! Change the width of the wide strokes
! in the "{ Wide Dash }" line style to 2 master
! design units.
!
if (cls_name == '{ Wide Dash }') then
	 cls_origin_width = 2.0
	 cls_end_width = 2.0
endif

cls_scale

cls_scaleキーワードは、現在の要素に関連付けられているカスタム線種を拡大縮小します。

シンタックス

cls_scale = 実数

例:

!
! Scale all linestyles by 1/2.
!
if (cls_name .ne. 'none') then
	 cls_scale = 0.5
endif

cls_shift_distance

cls_shift_distanceキーワードは、現在の要素に関連付けられているカスタム線種をシフトします。シフト距離はマスターデザインファイルの単位で指定されます。

シンタックス

cls_shift_distance = real number

例:

!
! Shift the linestyle origin by 1 master
! design unit.
!
if (cls_name == '{Batten}') then
	 cls_shift_distance = 1.0
endif

cls_shift_fraction

cls_shift_fractionキーワードは、現在の要素に関連付けられているカスタム線種をシフトします。

シンタックス

cls_shift_fraction = real number

例:

!
! Shift the custom linestyle by 1/2 of the
! pattern length.
!
if (cls_name .ne. 'none') then
	 cls_shift_fraction = 0.5
endif

colorキーワードは、塗り潰されていない要素に関して、現在の要素の色を変更します。boundary_color、fill_color、およびpattern_colorキーワードで特に設定されていなければ、colorに値を割り当てることで、閉じた多角形の境界線の色、塗り潰しの色、および前景パターン色も変更されます。色指定の詳細については、このセクションの終わりにある「代入文で色を指定する」を参照してください。

注記: 標準色または24ビット色(RGB)が使用されている場合、color比較キーワードに対して使用されている色は変更されません。

シンタックス

color = integer 

(整数は0から255までのカラーインデックス)

color = "string" 

(文字列は色ライブラリからの名前)

color = (R,G,B)

(RGBは0から255までの範囲)

例:

!
! Change color of lines, strings, and curves using
! the various methods for defining color.
!
if (type eq line) then
	color = 1     ! Set the color to be index value 1.
else if (type == line_string) then
	color = 'blue'   ! Set the color to blue.
else if (type == curve) then
	color = (0,0,255) ! Set the color to RGB value 0,0,255.
endif

endcap

endcapキーワードは、閉じていない要素の端点の表示を制御します。端点には次の表示オプションがあります。

  • butt - 延長のない長方形(既定)。
  • extend - 線または曲線の端から線幅の半分の長さで延長された長方形。
  • circle - 線幅の半分の半径を持つ半円。

シンタックス

endcap = endcap_type

(endcap_typeは、butt、extend、circleのいずれか)

例:

!
! Specify the endcap type based on the element
! type.
!
if (type == line) then
	 endcap = butt
else if (type == line_string) then
	 endcap = extend
else if (type == arc) then
	 endcap = circle
endif

envr_value

envr_value代入キーワードは、指定した文字列に現在のenvr_variableを設定します。このenvr_variable = valueペアはアカウンティングファイルに書き込まれ、デジタルアーカイブで属性データとしても使用されます。

シンタックス

envr_value=string

例1:

!
!This design script sets a plot sheet attribute
!based on the characters stored in text elements
!in the design file. The criteria to determine which
!text contains the appropriate characters is
!based on MicroSation tags.
tag_set='dpr'
tag_name='sheet'
if ((type eq text) and (tag_character eq 'drawingno'))then
	 envr_variable = "Drawingno"
	 envr_value = characters
else if ((type eq text) and (tag_character eq 'title')) then 
	 envr_variable = "Title"
	 envr_value = characters
else if ((type eq text) and (tag_character eq 'sheetno')) then
	 envr_variable = "Sheetno" 
	 envr_value = characters
endif

例2:

!
!This design script sets a plot sheet attribute
!based on the characters stored in text elements
!in the design file. The criteria to determine which
!text contains the appropriate characters is
!based on level.
if ((type eq text) and (level eq 2)) then
	 envr_variable = "Account"
	 envr_value = characters
else if ((type eq text) and (level eq 4)) then
	 envr_variable = "Project"
	 envr_value = characters
else if ((type eq text) and (level eq 6)) then
	 envr_variable = "Revision"
	 envr_value = characters
endif

envr_value_num

envr_value_numキーワードを使用して、envr_variableの値を実数に設定できます。Envr_valueとenvr_value_numは、同じデザインスクリプト内で相互に代替可能です。たとえば、envr_valueを文字列値"4"に設定すると、envr_value_numは自動的に実数値の4に設定されます。これにより、デザインファイル空文字列(ページ番号など)を抽出し、実数に変換して値を1ずつ増分し、文字列として表示し直すことができます。例で示すデザインスクリプトは、この手順を表現しています。

envr_variable = valueペアはアカウンティングファイルに書き込まれ、デジタルアーカイブで属性データとしても使用されます。

シンタックス

envr_value_num = real

(realは実数)

例:

! This following design script increments the
! page number in the title block by 1. The page number
! is a text string on level 5.
!
envr_variable = "pagenum"
if ((type eq text) and (level eq 5)) then
	 envr_value = characters
	 envr_value_num = envr_value_num + 1
	 characters = envr_value
endif

envr_variable

envr_variable代入キーワードは、デザインスクリプトで使用する印刷定義環境変数を選択します。比較キーワードであるenvr_valueとenvr_value_numを使用して、変数の値をチェックできます。

注記: 環境変数名は文字で始まる必要があり、その後は文字、数字、および下線文字のみ使用できます。空白を含めることはできません。

シンタックス

envr_variable = string

例:

!
!If SKIP_TEXT is defined (as anything, e.g.
!"iplot mod MY_IPARM -environment = [SKIP_TEXT=1]")
!in the IPARM environment, ignore text and
!text_node elements.
!
envr_variable = "SKIP_TEXT"
if (envr_value <> "") then
	if (type .IN. text, text_node) then
		ignore = true
	endif
endif

fill_color

fill_colorキーワードは、多角形の塗り潰し領域に対して塗り潰しの色を設定できます。また、パターン付き要素の背景色を設定します。このキーワードを使用すると、自動的にarea_fillが有効になります。要素に対する既定の塗り潰し色は、その要素の色です。パターンの背景は透明が既定です。色指定の詳細については、このセクションの終わりにある「代入文で色を指定する」を参照してください。

シンタックス

fill_color = integer 

(整数は0から255までのカラーインデックス)

fill_color = "string"

(文字列は色ライブラリからの名前)

fill_color = (R,G,B)

(RGBは0から255までの範囲)

例:

!
! Define fill color for shapes, complex shapes,
! and ellipses.
!
if (type == shape) then
  fill_color = 5
else if (type == complex_shape) then
	 fill_color = 'blue'
else if (type == ellipse) then
	 fill_color = (0,0,255)
endif

フォント

fontキーワードは、テキスト要素に対してフォント番号を設定します。

シンタックス

font = integer

(整数は0から255までの範囲)

例:

!
! Change font for certain text strings.
!
if ((type == text) and (font == 1)) then
	 font = 2
else if ((type == text) and (font == 3)) then
	 font = 7
endif

font_name

font_nameキーワードは、テキスト要素に対してフォント名を設定します。

シンタックス

font_name = string 

(文字列は、線種とフォントのリソースファイルのフォント名)

例:

!
! Change font name for certain text strings.
!
if ((type == text) and (font == 1)) then
	 font_name = "Architectural"
else if ((type == text) and (font == 3)) then
	 font_name = "FONT060"
endif

ignore_element

ignore_elementキーワードは、要素をプロットするか無視するかを決定します。このキーワードをtrueに設定すると、現在の要素はプロットされません。

シンタックス

ignore_element = true
ignore_element = false

例:

!
! Do not plot text elements on level 63.
!
if ((type == text) and (level == 63)) then
	 ignore_element = true
endif

midline_joint

midline_jointキーワードは、塗り潰し要素や塗り潰されていない要素に対する接合の表示を制御します。塗り潰し要素に対してboundary_displayが無効化されていると、midline_jointキーワードを設定しても効果はありません。下の表は、このキーワードのオプションについて説明しています。

miter

留継ぎ。2つのセグメントの対応するエッジは交点まで延長されます(既定)。

bevel

そぎ継ぎ。セグメントの端がバット線端処理される以外はmiterと同様です。

butt

バット線端。各セグメントの端が長方形の接点とともに表示されます。

extend

バット線端に似ていますが、各セグメントが線幅の半分の長さだけ延長されている点が異なります。

各セグメントの端が半円状に丸みを帯びています。

シンタックス

midline_joint = midline_joint_type

(midline_joint_typeは、butt、extend、circleのいずれか)

例:

!
! Set the midline_joint based on the reference
! file attachment number.
!
if (file == 0) then   ! Test for elements in the master file.
	 midline_joint = butt
else if (file == 1) then ! Test for elements in the first reference file.
	 midline_joint = extend
else if(file == 2)then   ! Test for elements in the second reference file.
	 midline_joint = circle
else if(file == 3)then  ! Test for elements in the third reference file.
	 midline_joint = miter
endif

pen

penキーワードはペンプロッタ上のペンを選択します。このキーワードの設定は、現在の要素の色設定と同様ですが、ペン番号は色番号に1を足した数と等しくなります。

シンタックス

pen = integer

(整数は1から256までの範囲)

例:

!
! Set pen number based on element's level.
if (level == 1) then
	 pen = 1 else if (level == 2) then
	 pen = 2 else if (level == 3) then
	 pen = 3
endif

pen_width_nn

(nnは0から31までの値)

pen_width_nnキーワードはデザインスクリプトの主単位での印刷線幅(物理的厚み)を32個からなる製品標準の線幅に代入します。これらのデザインスクリプト代入キーワードは、プリンタドライバ構成(.pltcfg)ファイルで定義された線幅から線幅へのマップよりも優先され、ペンテーブルで定義できる線幅から線幅へのマップに相当します。これらのキーワードの動作はweight_baseキーワードおよびweight_deltaキーワードの動作に似ていますが、pen_width_nnキーワードでは個々の線幅を個別に代入できます。

注記: pen_width_nnによる代入は要素ごとには実行できません。値は印刷処理の始めにデザインスクリプトから読み込まれます。後からペンの線幅値を変更しようとしても無視されます。この理由から、また最適なパフォーマンスを得るため、pen_width_nnによる代入はデザインスクリプト(first_time)の条件内に含めることをお勧めします。
!
! Specify the weight-to-width maps based on paper size.
!
units = mm
if (first_time) then
  if (ip_xsize_num > 17) then
    pen_width_00 = 0.169
    pen_width_01 = 0.375
    pen_width_02 = 0.5
    pen_width_03 = 0.625
    pen_width_04 = 0.75
    pen_width_05 = 0.875
    pen_width_06 = 1
    pen_width_07 = 1.125
    pen_width_08 = 1.25
    pen_width_09 = 1.375
    pen_width_10 = 1.5
    pen_width_11 = 1.625
    pen_width_12 = 1.75
    pen_width_13 = 1.875
    pen_width_14 = 2
    pen_width_15 = 2.125
    pen_width_16 = 2.25
    pen_width_17 = 2.375
    pen_width_18 = 2.5
    pen_width_19 = 2.625
    pen_width_20 = 2.75
    pen_width_21 = 2.875
    pen_width_22 = 3
    pen_width_23 = 3.125
    pen_width_24 = 3.25
    pen_width_25 = 3.375
    pen_width_26 = 3.5
    pen_width_27 = 3.625
    pen_width_28 = 3.75
    pen_width_29 = 3.875
    pen_width_30 = 4
    pen_width_31 = 4.125
  else
    pen_width_00 = 0.12675
    pen_width_01 = 0.28125
    pen_width_02 = 0.375
    pen_width_03 = 0.46875
    pen_width_04 = 0.5625
    pen_width_05 = 0.65625
    pen_width_06 = 0.75
    pen_width_07 = 0.84375
    pen_width_08 = 0.9375
    pen_width_09 = 1.03125
    pen_width_10 = 1.125
    pen_width_11 = 1.21875
    pen_width_12 = 1.3125
    pen_width_13 = 1.40625
    pen_width_14 = 1.5
    pen_width_15 = 1.59375
    pen_width_16 = 1.6875
    pen_width_17 = 1.78125
    pen_width_18 = 1.875
    pen_width_19 = 1.96875
    pen_width_20 = 2.0625
    pen_width_21 = 2.15625
    pen_width_22 = 2.25
    pen_width_23 = 2.34375
    pen_width_24 = 2.4375
    pen_width_25 = 2.53125
    pen_width_26 = 2.625
    pen_width_27 = 2.71875
    pen_width_28 = 2.8125
    pen_width_29 = 2.90625
    pen_width_30 = 3
    pen_width_31 = 3.09375
  endif
endif

priority

priorityキーワードは、要素のプロット順序を変更します。既定では、要素のプロットの順番はデザインファイルでの登場順となっています。priorityキーワードを使用すると、優先順位の低い要素のほうが優先順位の高い要素よりも先にプロットされるので、優先順位の高い要素の方が低い要素の上にプロットされることになります。これは、塗り潰し領域要素をプロットする場合に便利です。たとえば、テキスト文字列を塗り潰された多角形の内部でプロットする場合、テキストが覆い隠されて見えなくならないよう、テキストは多角形よりも優先順位を高くする必要があります。要素に対する既定のpriority値は0です。

優先順位が設定されていない要素は最初に印刷され、その後、優先順位付きの要素が順位に従って印刷されます。したがって、"要素を下に押しやる"ためにマイナスの優先順位を付けたペンテーブルの設定を変更する必要がある場合があります。

注記: priorityキーワードは、ベクターデバイスにプロットされる塗り潰し要素に対しては使用できません。priorityキーワードは、表示更新シーケンスによって暗黙に定義される順番を無効にします。

シンタックス

priority = integer

(整数は-1,000,000から1,000,000までの範囲)

例:

!
! Set priority of elements based on their color.
if (type == shape) then
	 area_fill = true
 	 if (color == 1) then
		   priority = 10
	  else if (type == text) then
		 !Plot text on top of the shapes.
		   priority = 20
	  endif
endif

拡大/縮小

scaleキーワードは、ローカル基準点を持つ要素(通常セルや共有セル、弧、楕円、テキスト、テキストノードなど)に適用される尺度を指定します。テキストやテキストノードは、それぞれの配置基準点を中心として拡大縮小されます。既定の尺度は1.0です。

シンタックス

scale = real

(realは正の実数)

例:

!
! Scale text by a factor of 1.5.
!
 if (type == text) then
	scale = 1.5
endif

screen_relative(画面相対)

screen_relative(画面相対)キーワードは、現在の要素のプロパティワードのscreen_relativeビットを修正するために使用されます。MicroStationでは、画面相対を"向き一定"と呼んでいます。

シンタックス

screen_relative = true
screen_relative = false

例:

!
! If element is a cell named 'LOGO', set the screen
! relative bit in the properties word.
!
if ((type == cell) and (cellname == 'LOGO')) then
	 screen_relative = true
endif

screening

screeningキーワードを使用すると、印刷出力に対して"色あせ"を指定し、白色に近づけることができます。たとえば、値を100に設定すると(100%スクリーン)現状のままの色で印刷され、50に設定すると(50%スクリーン)白色との中間となるように変更されます。このキーワードを使用してインクを節約したり、その色でプロットされる要素を目立たなくすることもできます。

シンタックス

screening = integer

(整数は1から99までの範囲)

例:

!
! If element is an ellipse, set a 50% screening.
if (type == ellipse) then
	 screening = 50
endif

size

sizeキーワードは、テキストとテキストノード要素のサイズを修正するために使用されます。

シンタックス

size = working units

例:

!
! Set text size for text elements on level 1.
!
if ((type == text) and (level == 1)) then
	 size = 0:0:250
endif

スタイル

styleキーワードは、現在の要素の線種を修正します。要素に0~7までのインデックスを割り当てることで新しいスタイルを指定します。これは事前定義されたMicroStationスタイルタイプに対応します。線種ライブラリから線種の名前を指定するか、オン/オフの遷移を指定することで、ユーザー定義の線種を使用できます。境界線表示が無効であれば、線種の設定を変更しても、領域塗り潰しやパターン塗り潰しの要素に影響はありません。既定では、境界線の表示は無効になっています。

注記: 名前付きのスタイルやスタイル定義を使用する場合、style比較キーワードとともに使用された線種は変更されません。

シンタックス

style = integer

(整数は0から7までの線種インデックス)

style = "string" 

(文字列は、MS_DATAによって定義されたフォルダ内にある「DesignScriptStyles.slb」という名前の線種ライブラリに含まれている線種名)

style = line style definition 

(on、off、on、off...)

例:

!
! Set the element's style based on its color using
! the various methods for defining a line style.
!
units = mm
switch (color)
	 case 1 ?
		  style = 3
	 case 2 ?
		  style = 'dash-dot'
	 case 3 ?
		  style = (0.5, 0.3, 0.75, 0.3)
endswitch

style_n

nは1から7までの数値)

style_nキーワードは、7つの標準線種のペンアップおよびペンダウンパターン定義を変更します。これらのデザインスクリプト代入キーワードは、プリンタドライバ構成(.pltcfg)ファイルで定義された線種パターンを上書きします。線種ライブラリで定義されている線種の名前を使用するか、オン/オフの遷移を指定することでパターンを指定できます。この構文はstyle代入キーワードと同じです。

シンタックス

style _<番号> = "文字列"

(番号は1から7までの値、文字列はMS_DATAで定義されたフォルダ内にあるDesignScriptStyles.slb線種ライブラリ内の線種の名前)

style_<番号> = 線種定義

(番号は1から7までの値、線種定義はon、off、on、offなどデザインスクリプトの主単位を使用したパターン)

注記: style_nによる代入は要素ごとには実行できません。値は印刷処理の始めにデザインスクリプトから読み込まれます。後から標準の線種定義を変更しようとしても無視されます。この理由から、また最適なパフォーマンスを得るため、style_nによる代入はデザインスクリプト(first_time)の条件内に含めることをお勧めします。

線分や多角形などの単純な要素の場合、styleキーワードとstyle_nキーワードの結果は同じになります。styleキーワードは、要素ごとに異なるパターンを割り当てるときに使用できます。ただし、寸法や複線要素など、複数の線種を使用する複合要素にstyleを適用すると、要素の内のすべての線分の線種が変更されます。style_nによる代入は、複合要素内のスタイル番号を維持したまま7つの標準線種のパターンを指定するときに使用できます。

例:

!
! Specify the pattern for the seven standard line styles based on paper size.
!
units = inches
if (first_time) then
  if (ip_xsize_num > 17) then
    style_1 = (0.03, 0.03)
    style_2 = (0.062, 0.062)
    style_3 = (0.125, 0.062)
    style_4 = (0.125, 0.062, 0.03, 0.062)
    style_5 = (0.045, 0.045)
    style_6 = (0.125, 0.062, 0.03, 0.062, 0.03, 0.062)
    style_7 = (0.0125, 0.045, 0.062, 0.045)
  else
    style_1 = (0.0225, 0.0225)
    style_2 = (0.0465, 0.0465)
    style_3 = (0.09375, 0.0465)
    style_4 = (0.09375, 0.0465, 0.0225, 0.0465)
    style_5 = (0.03375, 0.03375)
    style_6 = (0.09375, 0.0465, 0.0225, 0.03375, 0.0225, 0.03375)
    style_7 = (0.009375, 0.03375, 0.0465, 0.03375)
  endif
endif

タグ

tag_setおよびtag_name代入キーワードは、いずれかの比較キーワードでのちに使用するためのタグセットやタグ名を指定するために使用されます。

データ形式:

tag_set

文字列

tag_name

文字列

例:

!
! Assuming the design file uses two tag sets,
! "Home address" and "Work address," each
! containing a character tag named "City,"
! change the color of all elements whose tags
! specify a home address of "Huntsville" or a
! work address of "Madison."
!
! Start by looking for "City" tags belonging to
! the "Home address" tag set.
!
tag_set = 'Home address'
tag_name = 'City'
if (tag_char == 'Huntsville') then
	 color = 4
endif
! Now look for tags in the "Work address"
! tag set.  Note that the tag name is still "City".
tag_set = 'Work address'
if (tag_char == 'Madison') then
	 color = 4
endif

thickness

thicknessキーワードは、線の厚みを、線の幅ではなく物理的単位で指定することを可能にします。thicknessキーワードは印刷定義に保存されている単位値を既定としますが、unitsキーワードを使用してデザインスクリプト内で修正できます。thicknessを指定しても、weight比較キーワードによって使用される幅は変更されません。

注記: thicknessキーワードの値は正確に指定する必要があります。

シンタックス

thickness = positive real number

例:

!
! Set line thickness based on the element's color.
!
units = inches
switch (color)
	case 1 - 5 ?
		thickness = 0.125
	case 6 - 10 ?
		thickness = 0.075
	default ?
		thickness = 0.05
endswitch

translucent

translucentキーワードがtrueに設定されると、現在の要素は、その下にある要素を完全に非表示にしない形でプロットされます。このキーワードの既定値はfalseです。translucentキーワードは、塗り潰しのない要素や、塗り潰し要素の境界線(境界線がオンの場合)のみに影響します。translucentキーワードは、ベクターデバイスまたはMicrosoftプリンタドライバで駆動するデバイスに対しては無効です。

注記: translucentキーワードは、値を50に設定した新しいtransparencyキーワードと同様の動作をします。translucentキーワードは、塗り潰し要素と非塗り潰し要素の両方、さらに塗り潰し要素の境界線(境界線がオンの場合)に影響します。詳細については、transparencyキーワードの説明を参照してください。

シンタックス

translucent = true
translucent = false

例:

!
! Plot elements on level 10 with heavily weighted
! red lines and allow elements underneath to
! show through.
!
if (level == 10) then
	 color = "red"
	 weight = 10
	 translucent = true
endif

translucent_fill

translucent_fillキーワードは、trueに設定された場合、領域塗り潰し要素やパターン塗り潰し要素の塗り潰し色を半透明に指定します。pattern_filled要素の前景色と背景色の両方が半透明となります。translucent_filled要素の下の要素は表示されたままとなります。このキーワードの既定値はfalseです。translucent_fillキーワードは、ベクターデバイスまたはMicrosoftプリンタドライバで駆動するデバイスに対しては無効です。

注記: translucent_fillキーワードは、値を50に設定した新しいtransparencyキーワードと同様の動作をします。translucent_fillキーワードは、非塗り潰し要素、領域塗り潰し要素、パターン塗り潰し要素、さらに塗り潰し要素の境界線(境界線がオンの場合)に影響します。詳細については、transparencyキーワードの説明を参照してください。

シンタックス

translucent_fill = true
translucent_fill = false

例:

!
! Set fill color to be translucent.
!
area_fill = true
translucent_fill = true
fill_color = (255,0,0)

透過

transparency代入キーワードは、現在の要素に透過を設定することを可能にします。transparencyに対しては、1~100の値を設定できます。値が高いほど要素の透過性が高くなります。

シンタックス

transparency = value

(値は1~100)

例:

!
! Set transparency for lines on level 2.
!
if ((level eq 2) and (type eq line)) then
	 transparency = 50
endif

単位

unitsキーワードは、thickness(厚み)やline styles(線種)といったキーワードに対して寸法を指定するために使用されます。unitsキーワードは、デザインスクリプトの冒頭に1回のみ設定します。このキーワードの既定値は、印刷定義の単位値です。

シンタックス

units = units_constant

(単位定数は、

センチメートル(cm)

ミリメートル(mm)

メートル

インチ

フィート(ft)のいずれか

例:

!
! Set line thickness to 0.5 millimeters.
!
units = mm
thickness = 0.5

weight

weightキーワードは、現在の要素の線幅を修正します。塗り潰し要素の場合、このキーワードで要素の境界線に影響を与えるにはboundary_display(境界線表示)を有効にする必要があります。

シンタックス

weight = integer 

(整数は0から31までの範囲)

例:

!
! Set line weight based on element's color.
!
switch (color)
	case 1-10 ?
		 weight = 2
	case 11-20 ?
		 weight = 1
	default ?
		 weight = 0
endswitch

weight_base/weight_delta

weight_baseおよびweight_deltaキーワードは、プロットの物理的厚みに線幅をマップします。これらのキーワードを使用することにより、さまざまなプロッタで一貫した線幅を得ることができます。weight_baseキーワードは、太さ0の要素に対して線厚を指定します。weight_deltaキーワードは、0より大きい各線幅に対して線厚の増分を指定します。

プロットの厚み = weight_base +(要素線幅 * weight_delta)

たとえば、weight_baseを0.1 cm、weight_deltaを0.05 cmに設定すると、次の値が使用されます。

線幅 プロットの厚み

0

0.10 cm

1

0.15 cm

2

0.20 cm

.

.

.

.

.

.

31

1.65 cm

注記: weight_baseおよびweight_deltaキーワードは、デザインスクリプトの冒頭で定義する必要があります。

シンタックス

weight_base = positive_real
weight_delta = positive_real

例:

!
! Map element's line weight to a thickness on
! the plot.
!      weight 0 = 0.10 mm
!      weight 1 = 0.15 mm
!      weight 2 = 0.20 mm
!      weight 3 = 0.25 mm
!          .
!          .
!          .
!      weight 31 = 1.65 mm
units = mm
weight_base = 0.1
weight_delta = 0.05