代入キーワード
ここでは、キーワードの機能に関する簡単な説明、キーワードが影響を与える要素のタイプ(該当する場合)、有効なデータ形式(該当する場合)、およびキーワードの使用例を示します。代入キーワードに続くセクションでは、代入文で色を指定する方法について説明します。
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 = 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キーワードは、テキスト要素内の文字列を新しい文字列に置き換えることを可能にします。テキスト要素をプレースホルダーとしてデザインファイルに配置すると、のちにこれらの文字列を、ファイルがプロットされた日付やデザインファイル名といった有益な情報に置き換えることができます。新しい文字列が元の文字列よりも短い場合、余りは空白で埋められます。新しい文字列が元の文字列よりも長い場合、元の文字列は文字を追加できるよう拡張されます。
置換文字列は、次に示すトークン値にすることもできます。
次のキーワードは、プロットのラベリングに使用できる印刷定義の値を示します。
キーワード |
値 |
---|---|
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 |
|
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 PowerDraft表示フラグで無効となっている場合、要素はプロットしません。
シンタックス
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に値を割り当てることで、閉じた多角形の境界線の色、塗り潰しの色、および前景パターン色も変更されます。色指定の詳細については、このセクションの終わりにある「代入文で色を指定する」を参照してください。
シンタックス
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キーワードは、閉じていない要素の端点の表示を制御します。端点には次の表示オプションがあります。
シンタックス
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キーワードでは個々の線幅を個別に代入できます。
! ! 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 PowerDraftでは、画面相対を"向き一定"と呼んでいます。
シンタックス
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 PowerDraftスタイルタイプに対応します。線種ライブラリから線種の名前を指定するか、オン/オフの遷移を指定することで、ユーザー定義の線種を使用できます。境界線表示が無効であれば、線種の設定を変更しても、領域塗り潰しやパターン塗り潰しの要素に影響はありません。既定では、境界線の表示は無効になっています。
シンタックス
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キーワードと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代入キーワードは、いずれかの比較キーワードでのちに使用するためのタグセットやタグ名を指定するために使用されます。
データ形式:
例:
! ! 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 = 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
(単位定数は、
例:
! ! 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に設定すると、次の値が使用されます。
シンタックス
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