二次元図面のSTEP/AP202での実装に向けて

富士通STEP研究開発センター
取締役 井上 和
inouye@fqs.fujitsu.co.jp

STEPの規格体系
Application Protocol (and ATS)CommonI 201 Draughting (W)I 202 Ass. Draught(C)I 203 Config Cont(C)Mechanical Design
C 204 Brep (C)C 205 Surface(W)X 206 WireFrame(X)Sheet Metal、Die
E 207 Sheet M、Die(W)Lifecyvle Change
W 208 Lifecycle (W)Dimension Inspection
X 219 Dim Inspection (X)Composite・
Metal
C 209 Composite (W)W 222 Structure (W)Electro.Electric
C 210 PCB design (W)W 211 PCB test(W)C 212 Electric (W)O 220 PCB manu (O)Plant
C 221 P&I (C)E 227 Arrange(W)W 231 Data (W)NC、Machining
E 213 NC Process (W)E 224 Feature(W)
Automobile
C 214 Automobile (W)O EXPRESS-X

O = Pre-Proposal
A = Proposal -> NP
W = Wdraft->CD
C = CD->DIS
E = DIS->FDISF = FDIS->Int’l STD
I = Publication
X = Cancel

Casting
W 223 Cast (W)W 229 Forge (W)Integrated Resource

Description
I 1 Overview
I 11 EXPRESSX 12 EXPRESS-I

Ship
W 215 Arrange (W)C 216 Mold (W)C 217 HVAC (W)C 218 構造 (W)W 226 Machinery (W)I 101 Draughting
C 104 FEA

Building
C 225 Bld Elemnt (W)E 228 HVAC (O)W 230 Steel (W)PDM/TDPW 232 TDP (W)
O
O

Other
Opt data (O)NATO (O)

Conformance Test

Integrated Application Resource
X 102 Ship hull
X 103 Electro,elctric Connection
I 105 Kinematics W 106 Building Core Model

Generic Integrated Resource
I 41 Product I 42 Geometry I 43 Presen I 44 Config E 45 Material
I 46 Presentation
F 47 Tolerance
X 48 Form feature E 49 Property

I 31 General
E 32 Test Envir
X 33 ATSC 34 Part21Test
W35 Part22 Test

AIC
C 501 Edge C 502 Shell C 503 2DWF C 504 Annotation C 505 Structure
C 506 Draught ele. C 507 Surface C 508 Non-Manifold C 509 Manifold
C 510 WF C 511 Top-b C 512 Facet C 513 Brep C 514 Adv-Brep
C 515 CSG X 516 Mech. design C 517 Mech. design (Geo) C 518 shadeing

STEP

Implementation
I 21 Phy.file
C 26 IDL

E 22 SDAIO JAVAC 23 C++C 24 Late C

X 25 Fortran

STANDARD

AP202のSCOPE- 機械及びAEC分野の製図交換の為の表現- 製図管理情報- 製図化された製品の版数情報- 計算機が解釈可能な２又3次元製品形状モデル- 図面ビューによる変換と見え方- 寸法、表記又は塗りと製品幾何との連携- 図面上の要素のグルーピング

AP202のSCOPEに入らないもの- 製図標準の作成- 製図来歴の交換- 図面に描かれない製品の幾何モデル- 製品に関係しない図面- 非平面の３次元表記- シェーデイング- 製図形状モデルの表示- 計算機が解釈可能できなければならないBOM- 交差と幾何との連携- 管理情報以外の表示出来ない属性

AP202の適合性クラス- CC1: 製品形状のビューなしの表記‑ C C 2:2次元(位相なし)の初等ワイヤーフレーム- CC3: 2次元(位相なし)のワイヤーフレーム- CC4: 2次元(位相付き)ワイヤーフレーム- CC5: 3次元(位相なし)のワイヤーフレーム/サーフェス- CC6: 3次元(位相付き)ワイヤーフレーム- CC7: ファセット境界表現- CC8: 初等境界表現- CC9: 高等境界表現- CC10: 位相付きマニフォールドサーフェスAP202のUOF① associative_dimension② draughting_shape_model③ drawing_structure_and_administration④ elements_of_annotation⑤ elements_of_appearance⑥ elements_of_draughting_annotation⑦ grouping⑧ model_viewing⑨ product_relation

UOF関連図
Product Relation⑨②

Draughting
Shape
Model

Product

Model Viewing⑧③

Draughting
Shape Model

2D
Shape

3D
Shape

2D
Geometric
Element

3D
Geometric
Element

Drawing⑤
Drawing
Sheet

Drawing
View
Drawing Structure
and Administration

Appearance

Draughting Annotation
2D
Annotation
Annotation Element
2D
Annotation
Element⑥④

3D Planar
Annotation

Associative
Dimension

①
Group

3D
Annotation
Element⑦Model Viewing図面構造(PDES Incの資料を流用)

presentation_area (drawing sheet)

view
A

view
C
drawing_revision (drawing)view
B

富士通STEP研究開発センター

presentation_view (drawing view)

view
A

view
B

camera_model

sheet_placed_annotation

view
C

富士通STEP研究開発センター

view_placed_annotation
view
A

view
B

view
C

Associative Dimension⑩

10.0

mapping_target⑨⑧

dimension_text_
associativity

text_literal⑦

Drawing

mapping_sourcerepresentation_
map

⑤

10.0
mapping_origin⑥

mapping_
representation

shape_dimension_
representation

10.0125
magnitude

representation①②
applies_todimensional_size③ diameter

dimension④

dimensiona_characteristic_
representation

幹部インスタンス化例

1995
application

status application_protcol_ ‘draughting’‘International Standard’application
definition
1995 application_protoclol_year

application_context

1

frame_of_reference(INV) context_elements S[1:?]

使用STEP規格 application_interpreted_model_schema_name

2

name

name
‘PRODUCTION’

frame_of_reference S[1:?] ‘ASSOCIATIVE_DRAUGHTING’

product
id
namedescription.BEHIND.

product_definition life_cycle_stage_context‘design’

sensehour_offset
minute_offset

5

of_productapproval_date_time

date_and_time

coordinated_
universal_time_offset
5

承認日付

time_component
zone

approval_date_time

hour_component
12
minute_conponent
0
second_component$

person_organization‘product shape’‘description’context_identifier
context_type‘3D’

representation_
context

description‘ID1’

difinition‘2D’context_of_items(INV) representations_in context S[1:?]

‘’

name

‘block202’

mapping_origin representation_item
mapping_representation

hidden_line_surface_removal

name‘’perspective_of_volume view_reference_system

mapping_origin

view_volume

mapping_source(INV)map_usage S[1:?]axis2_placement_3D

ビューの切り抜き

representation_item
namemapped_item

mapping_target

planar_box

camera_image
.F.

name

‘’
perspective_of_volume view_reference_system

mapping_origin camera_usage
mapped_representation★ draughting_model

view_volume
axis2_placement_3D

camera_image_
3d_with_scale ‘FRONT’in context S[1:?]representation_
context

mapping_source(INV)map_usage S[1:?]ビューの切り抜き
planar_box

items S[1:?]presentation‘1’‘’

注記線実体 ×2

シンボル ×12

レイヤーNo.2

presentation_layer_usage
assignment

presentation_layer_assignment

namedescription‘2’‘’

assigned_items S[1:?]mapped_representation

図面シート

幾何要素 ×3

注記 ×3

注記線 ×2.F.
‘RIGHT’

mapping_origin

presentation_layer_usage
presentation

注記線実体 ×2

camera_usage

namepresentation_layer_assignment description
assigned_items S[1:?]presentation_view

mapping_source(INV)map_usage S[1:?]ビューの切り抜き
axis2_placement_3Dplanar_box

幾何要素 ×3

items S[1:?]右側面図

mapped_representation

view_volume

レイヤーNo.5

assignment
namecontext_of_items(INV) representations_in context S[1:?]camera_model_d3_
with_hlhsr★ draughting_model

camera_image_ 内一つはrepresentation_mapの
3d_with_scale mapping_origin属性と同一イン
スタンス
表記要素 ×19
mapping_target name‘‘ 正面図mapping_source(INV)map_usage

各々のpresentation_viewの
中身については左記参照

上面図

axis2_placement_2D ×2

注記 ×13 注記線 ×2

長さ寸法 ×5

representation_map ×3

coodinate_space_dimension2

namein context S[1:?]‘’perspective_of_volume view_reference_system

レイヤーNo.1

namepresentation_layer_assignment description
assigned_items S[1:?]presentation_view ×3

Geometric_
representation_context

presentation_view (INV) representations_$presentation assignment

シートに配置する各 view(presentation_view)への
マッピング

‘ID1’
‘2D’ axis2_placement_2D ×3

drawing_type‘PRODUCT_NAME’

presentation_layer_usage

revision_identifer
‘a’

表記要素
mapped_item ×3 (styled_item) ×10

図面

drawing_definition

drawing_number

sheet_number‘1’

幾何要素 ×17

global_unit_
assigned_context

表記要素 ×1

context_of_items

revision_identifier‘A’draughting_intended_scale$drawing_revision

drawing_identifier

34.0

mapping_origin

context_identifier
context_typeaxis2_placement_2D ×2
内一つはrepresentation_mapの‘’ mapping_origin属性と同一イン
スタンス

name

‘block202.prt’

size_in_x

44.0

name
axis2_placement_2D ×3‘’

context_of_items

name
‘’

hidden_line_surface_removal

hidden_line_surface_removal

camera_model_d3_
with_hlhsr

contents

items S[1:?]axis2_placement_2D ×3

presentation_view (INV) representations_geometoric_
representation_item

product_data_type‘draughting_specification’planar_box

axis2_placement_2D

mapped_representation★ draughting_model

document_type‘creater ’draughting_title language ‘ENGLISH ’
items S[1:?] 図面タイトル

drawing_sheet_revision

size

幾何モデル

items S[1:?]camera_usage

name

area

presentation_size

elements S[1:?]placement

name

図面作成者／組織

drawing_sheet_revision_usage

unit

幾何要素 ×23‘TOP’

assigned_items S[1:?]role

representation_
context_of_items
context(INV) representations_size_in_y.F.

camera_model_d3_
with_hlhsr

organization

draughting_person_and_organization_assignment

coodinate_space_dimension
2

mapping_target

axis2_placement_3D

source‘engineering’specified_items S[1:?]‘ANSI Y14.5’ id‘Deimensioning and name document
Tolerancing’description‘US Nationalkinddimensioning standard’‘owner’in_set (INV)areas S[1:?]‘’mapped_item styled_item ×23
mapping_source nameitem
(INV)map_usage S[1:?]‘’assigned_person_
and_organizationgeometric_
representation_context

geometric_set★ draughting_model
nameitems S[1:?]namedraughting_specification_reference

global_unit_
assigned_context

items S[1:?]

name

製図モデル

role

In_context S[1:?]geometrically_bounded_surface_shape_representation

coodinate_space_dimension
3

context_type

used_representation

context_of_items(INV)
representations_in context S[1:?]assigned_document

製品所有者／組織

person_and_organization_role

context_identifier

shape_definition_representation

global_unit_
assigned_context
geometric_
representation_context

draughting_person_and_organization_assignment

person_and_organization_role

人／組織の実体

product_definition_shape

使用製図規格assigned_
items S[1:?]the_organization

difinition
nameassigned_items S[1:?]person_and_organization

organizations S[1:?]classification_leveldraughting_security_
classification_assignment

承認者

personorganization_
address

items S[1:?]図面契約‘drawing releave’personthe_person

製品

classification

assigned_security_classificationrole

assigned_person_
and_organization

frame_of_reference‘security1’‘draughting classification’‘unclassified’purposenamenamesecurity_
security_level security_

draughting_contract_assignment

approval_role

role

date_time

people S[1:?]図面機密分類‘create AP202 instance’ purpose
kindname contract
contract_type‘234’‘release for production’description
name ‘approved’
status‘fixed_price’approval_status
assigned_contract

personal_address‘ug_20.prt’ descriptionid‘A id’

‘ID1’

図面承認

approval_person_organization

formation

product_definition

approved_
items S[1:?]authorized_approval

dated_approval

local_time

product_definition_formationid‘A’ description‘INITIAL RELEASE’level

assigned_approval

date_component
descipline_type

product_context ‘mechanical’‘530T’‘REAR PANEL’‘REAR PANEL FOR BOX’draughting_approval_
asignment

day_component

calendar_date

frame_of_reference(INV) context_elements S[1:?]‘ASSOCIATIVE DRAUGHTING’

year_component
month_component

axis2_placement_2D ×2

camera_image_ 内一つはrepresentation_mapの
3d_with_scale mapping_origin属性と同一イン
スタンス
表記要素 ×9
mapping_target name‘’

長さ寸法 ×3‘5’‘’

線分インスタンス
図面
図面

#17
drawing_revision

revision_identifierdrawing_
identifier

draughting_definition

#16
レイヤ
レイヤ

area_in_set #18

in_set(INV)areas
area

図面シート
図面シート

#14
global_unit_
assigned_context

drawing_sheet_revision
#15

#11

presentation_layer_assignment
si_unit
si_unitname“0”discription

“”

#12
#13

assigned_items

items

#10

幾何要素
幾何要素

見え方
見え方
styled_item

representation_item

annotation_
occurrence

draughting_annotation_
occurrence

trim_1items
stylesbasis_curve

annotation_curve_
occurrence

presentation_style_assignment

curve_style“0.”parameter_value

“1.”

#4
line
dir

#8

parameter_value
trim_2

ref_derection
pnt

#9

形状
形状

#5
trimmed_curve#7
draughting_pre_defined_colour“green”#6
draughting_pre_defined_curve_font
positive_length_measure#3
cartesian_point#2vector

“10.0”“20.0”#1“4.0”

direction“continious””“0.15”“10.0”“3.0“線分インスタンス(Part21ファイル
ンス(Part21フル))
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ISO 10303-202'),'2;1');
FILE_NAME('Conceptual Part Example','1999-05-17 14:30:37',('<author>'),('FQS Ltd.'),'<preprocessor>', '<system>','<authorisation>');FILE_SCHEMA(('ASSOCIATIVE_DRAUGHTING'));ENDSEC;
DATA;#10 = DIRECTION('',(4.0,3.0));#20 = VECTOR('',#10,10.0);#30 = CARTESIAN_POINT('',(10.0,20.0));#40 = LINE('',#30,#20);#50 = TRIMMED_CURVE('',#40,(PARAMETER_VALUE(0.)), (PARAMETER_VALUE(1.)),.T.,.PARAMETER.);#60 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');#70 = DRAUGHTING_PRE_DEFINED_COLOUR('green');#80 = CURVE_STYLE('<curvestylename>',#60,POSITIVE_LENGTH_MEASURE(0.15),#70);#90 = PRESENTATION_STYLE_ASSIGNMENT((#80));#100 = (ANNOTATION_CURVE_OCCURRENCE()
ANNOTATION_OCCURRENCE()
DRAUGHTING_ANNOTATION_OCCURRENCE()
REPRESENTATION_ITEM('')
STYLED_ITEM((#90),#50));#110 = PRESENTATION_LAYER_ASSIGNMENT('0','',(#100));#120 = SI_UNIT(*,.MILLI.,.METRE.);#130 = SI_UNIT(*,$,.RADIAN.);#140 = GLOBAL_UNIT_ASSIGNED_CONTEXT('<context id>','<context type>',(#120,#130));#150 = DRAWING_SHEET_REVISION('<sheet name>',(#100),#140,'<sheet id>');#160 = DRAWING_DEFINITION('<drawing definition id>',$);#170 = DRAWING_REVISION('<drawing revision id>',#160,$);#180 = AREA_IN_SET(#150,#170);
ENDSEC;END-ISO-10303-21;

文字インスタンス
レイア

文字インスタンス#1472

presentation_layer_
assignment略assigned_
items

#569
‘TOP’
presentation_view
略

items

box_stant_angle
box_rotate_angle
box_widthbox_hight#601
presentation_style_assignment

文字本体

text_style_with_
box_characteristics
namecharacter_appearance#599
text_style_for_defined_font

・・

text_colour#102

representation_item
name

0.0
3.2
3.2

#600
styles0.0

文字の見え方・・draughting_ pre_defined_colour
name

#602

‘blue’

geometric_
representation_item

文字実体

stylesstyled_item

annotation_
occurrence

item

text_literaldraughting_annotation_
occurence

path

RIGHT

literal‘TOP VIEW’annotation_text_
occurrence

#594

#596

cartesian_point

location#595

ref_direction

baseline lift

axis2_placement_
2D

derection

name

#200
draughting_ pre_defined_text_font
namealignment
placement

・
・
font

‘ISO 3098-1 font B’文字インスタンス(Part21ファイル
ンス(Part21フ
ル))#420 = TEXT_LITERAL('','TOP VIEW',#430,'baseline left',.RIGHT.,#70);#430 = AXIS2_PLACEMENT_2D('',#440,$);#440 = CARTESIAN_POINT('',(1.34976081725825,-1.40961478361176));#450 = TEXT_STYLE_FOR_DEFINED_FONT(#60);#460 = TEXT_STYLE_WITH_BOX_CHARACTERISTICS('',#450,(BOX_HEIGHT(3.2),
BOX_WIDTH(3.2),BOX_SLANT_ANGLE(0.),BOX_ROTATE_ANGLE(0.)));#470 = PRESENTATION_STYLE_ASSIGNMENT((#460));#480 = (ANNOTATION_OCCURRENCE()
ANNOTATION_TEXT_OCCURRENCE()
DRAUGHTING_ANNOTATION_OCCURRENCE()
REPRESENTATION_ITEM('')
STYLED_ITEM((#470),#420)
GEOMETRIC_REPRESENTATION_ITEM());#490 = MAPPED_ITEM('',#500,#540);#500 = REPRESENTATION_MAP(#510,#230);#510 = AXIS2_PLACEMENT_2D('',#520,#530);#520 = CARTESIAN_POINT('',(0.,0.));#530 = DIRECTION('',(1.,0.));#540 = AXIS2_PLACEMENT_2D('',#550,#560);#550 = CARTESIAN_POINT('',(10.9074453128387,26.4253893960984));#560 = DIRECTION('',(1.,0.));C5tc6-2.p21解析結果
value_
component

2
補助線本体

curve_width

length_measure_with_unit

representation_item

補助線実体
trimmed_curveitem

styled_item

draughting_annotation_
occurrence

annotation_
occurrence

projection_curve

annotation_curve_
occurrence4

namepresentation_style_assignment

stylesstyled_itemsylesstyles

name

item

items

100.0
3

‘blue’

寸法表記線見え方‘continuous’‘FRONT’

presentation_view

寸法表記線本体‘blue
continuous’

略
items

box_stant_angle

寸法表記値本体
寸法表記本体representation_item
namerepresentation_item

補助線本体

・
・

3
補助線実体
trimmed_curvegeometric_
representation_item

item

styled_item

draughting_annotation_
occurrence

annotation_
occurrence

projection_curve

annotation_curve_
occurrence

contentssyl
es

contents

relating_
draughting_callout

name

・
・

geometric_
representation_item

geometric_
representation_item

draughting_elements

dimension_curve_
directed_callout

structured_dimens
ion_callout

styled_item

name

寸法線実体
trimmed_curve

location
ref_direction

derection

axis2_placement_
2D
nameplacementstyled_item

draughting_annotation_
occurrence

name

・
・

text_literal_
with_blanking_box

cartesian_ point

annotation_curve_
occurrence

axis2_placement_
2D
namedraughting_ pre_defined_text_font
namerepresentation_item
・・

placement
axis2_placement_
2D

defined_symbol
・
・

item

geometric_
representation_item

矢印の見え方symbol_item

presentation_style_assignmenty_scalex_scalename・・

geometric_
representation_itemstyled_item

item

pre_defined_
terminator_symbol
namedraughting_annotation_
occurrence‘ORIGIN’‘open_arrow’

annotation_
occurrence

stylesname・・

symbol_colour
colour_of_symbolannotation_symbol_
occurrence

draughting_pre_defined_colour
name‘blue’

role
dimension_curve_
terminator

nameterminator_symbol
annotated_curve

annotated_curve

mapped_representation
shape_demension_
representatoin

・
・
font

items

name
・
・
context_of_items

itemmed_curve

1.
01.
0
・
・

annotation_
occurencedraughting_annotation_
occurence

annotation_symbol_
accurrence

TARGETterminator_symbol

dimension_curve_
terminatorplacement
・・

axis2_placement_
2D

difinition definition
pre_defined_
terminator_symbol
name‘open_arrow’rolecontext_identifier
representation_
context

representation_
item
name
measure_representation_item
value_
componemt
measure_with_unit
unit_
componemt
length_measure_with_unit

context_type

寸法対象物実体・・‘3D’

global_unit_
assignment_context

symbol_target

defined_symbol

style

style_of_symbolmapped_origin

実測寸法値

symbol_styledifinition

namedefinition
property_
shape_aspectdescription
definition
product_definitional
name‘aspect’description
of_shape‘demension’・・
used_representatoin
nameproduct_
descriptio
definition_shapesahpe_
nrepresentaiton
definition
name・・
product_
items
definition

representatio_map

5targetstylesnameplacement

name‘dimension’applies_tocontext_of_items

name‘dimension’

definition

path‘ISO 3098-1 font B ’

矢印実体

representation__item

name

name

sahpe_definition_
representaiton

baseline lift

location
ref_direction

targetdimension_text_
associativityalignment

4

representation demensional_characteristic_represemtaion

mpping_source

literal‘12.5’

矢印本体

symbol_target

text_literal

・
・

s
yl
es

y_scalex_scalenamemapped_item

dimentional_ size

blanking

矢印本体

1.0
1.0
・
・

寸法本体

dimension

derection

矢印実体‘dimension value’

3.2
12.8

planar_box

annotation_
occurrence

projection_curve

namempped_targete

RIGHT

item

‘blue’

representation_item
draughting_annotation_
occurencegeometric_
representation_item

size_in_y
size_in_x

text_colour

6

annotation_text_
occurrence

cartesian_ point

geometric_
representation_item

item

annotation_
occurrence

representation_item1

寸法表記値実体stylesdraughting_elements

text_style_for_defined_font

draughting_ pre_defined_colour
name

寸法表記値の見え方

・
・

name
contents

linear_dimension

寸法線本体

text_style_with_
box_characteristics character_name・ appearance・

representation_item

relating_
draughting_callout
draughting_callout

stylespresentation_style_assignment

寸法表記値本体

draughting_callout

0.0
3.2
3.2

box_widthbox_hight

representation_item

dimension_
callout_relationshipgeometric_
representation_item

0.0

box_rotate_angle

namedescriptoin ‘primary’
・
・

name

5

2

draughting_pre_defined_curve_font
namecurve_font

curve_style1length_unit

draughting_pre_defined_colour

curve_colour
geometric_
representation_item

6

si_unitnamed_unit

unit_
component

name

・
・

positive_length_measure(0.125)‘dimension’length_measure(12.5)

geometric_
representation_context(3)si_unitnamed_unit
length_unit

寸法対象物本体‘dimension’・・.U.
‘product
shape・・STEP の実装とTool Kit
Express Model
AP2XX

Express
Compiler

STEP Phy.File

STEP
Parser

STEP DataManagementSystem

SDAI
DataBase

Dictionary
Repository

Model
Repository

STEP

Formatter

Application
with SDAISDAI データベース関連関数
SDAI データベース関連関数 :–sdaiCreateModel(), sdaiCreateModelBN()–sdaiDeleteModel()–sdaiOpenModel(), sdaiOpenModelBN()–sdaiOpenRepository(), sdaiOpenRepositoryBN()–sdaiCloseModel()S D A I初期化関数■Databaseにアクセスするには、先ず sessionがオープンされていなければならない■Modelを操作するには、それが属する Repositoryが、先ずオープンされる必要がある■モデルをオープンする場合、しかるべきアクセス権を設定する
関連する関数–sdaiOpenSession(),sdaiOpenSession(), sdaiCloseSession()
sdaiCloseSession()–sdaiOpenRepository(),sdaiOpenRepository(), sdaiCloseRepository()
sdaiCloseRepository()–sdaiCreateModel()sdaiCreateModel()–sdaiOpenModel(),sdaiOpenModel(), sdaiCloseModel().
sdaiCloseModel(). sdaiDeleteModel()sdaiDeleteModel()SDAI 識別子検索機能
名前で検索する場合とInstance識別子を用いて検索する場合がある
関連する関数–

sdaiGetEntity(),sdaiGetEntity(), sdaiGetAttrDefinition(),sdaiGetAttrDefinition(), sdaiGetAttrDefinitionBN()sdaiGetAttrDefinitionBN()

SdaiInstance pointId,
pointId, xId,
xId,yId,
yId,modelId;modelId;
pointId = sdaiGetEntity(sdaiGetEntity(modelId,modelId,”point”
point”);’);’
xId = sdaiGetAttrDefinitionBN(
sdaiGetAttrDefinitionBN(“MySchema”
MySchema”,”POINT”
POINT”,”X”);
yId = sdaiGetAttrDefinition(sdaiGetAttrDefinition(pointId,
pointId,”y”);

SDAI データ操作関数 I■如何なるデータ操作関数も、名前またはインスタンス識別子を用いて、実際の EXPRES
項目(
項目(entityName,
entityName, attributeName)attributeName)を識別する■インスタンス識別子を用いた方が性能は良い■データ操作関数は、インスタンスの特定の属性や他のどの属性にもアクセス出来る
関連する EDMinterface 関数:
関数:–sdaiCreateInstance(),sdaiCreateInstance(), sdaiDeleteInstance()
sdaiDeleteInstance()–sdaiPutAttr(),sdaiPutAttr(), sdaiGetAttr(),sdaiGetAttr(), sdaiPutAttrs(),sdaiPutAttrs(), sdaiGetAttrs()sdaiGetAttrs()–sdaiTestAttr(),sdaiTestAttr(), sdaiUnsetAttr()
sdaiUnsetAttr()–sdaiCreateAggr(),
sdaiCreateAggr(), edmiDeleteAggr()
edmiDeleteAggr()–sdaiCreateNestedAggr()
sdaiCreateNestedAggr()

SDAI データ操作関数 II

SdaiInstance pointInst, pointId, yId;
SdaiRealx, y, z;yId = sdaiGetAttrDefinition(pointId,”Y”);
sdaiGetAttrBN(pointInst, “X”, sdaiREAL, &x);
sdaiGetAttr(pointInst, yId, sdaiREAL, &y);sdaiPutAttrsBN(pointInst, 3, “x”, sdaiREAL, 1.2,“y”, sdaiREAL, 0.2,“z”, sdaiREAL, 1.1);

SDAIの使用例
ENTITY address;
internal_location: OPTIONAL label;street_number: OPTIONAL label;street: OPTIONAL label;postal_box: OPTIONAL label;town: OPTIONAL label;region: OPTIONAL label;postal_code: OPTIONAL label;country: OPTIONAL label;facsimile_number: OPTIONAL label;telephone_number: OPTIONAL label;electronic_mail_address: OPTIONAL label;telex_number: OPTIONAL label;
WHERE
WR1:
EXISTS(internal_location)OR
EXISTS(street_number)OR
EXISTS(street)OR
EXISTS(postal_box)
OR
EXISTS(town)
OR
EXISTS(region)
OR
EXISTS(postal_code)
OR
EXISTS(country)
OR
EXISTS(facsimile_number)OR
EXISTS(telephone_number)OR
EXISTS(electronic_mail_address) OR
EXISTS(telex_number);
END_ENTITY; -- address

ENTITY organizational_address
SUBTYPE OF (address);organizations : SET [1:?] OF organization;
description: text;
END_ENTITY;
ENTITY personal_address
SUBTYPE OF (address);
people: SET [1:?] OF person;
description: text;
END_ENTITY;

ENTITY person;id: identifier
last_name: OPTIONAL label;first_name: OPTIONAL label;
middle_name : OPTIONAL LIST[1:?] OF label;prefix_titles : OPTIONAL LIST[1:?] OF label;suffix_titles : OPTIONAL LIST[1:?] OF label;
UNIQUE
UR1 : id;
WHERE
WR1 : EXISTS (last_name) OR EXISTS (first_name);
END_ENTITY;

SDAIの使用例
modelRepository = sdaiOpenRepositoryBN (“ModelRepository”);
model = sdaiOpenModelBN (modelRepository, ”EmployeeAddress”, sdaiRO );:モデル名EmployeeAddressをオープンする
aggeregate = sdaiGetEntityExtentBN (model, “personal_address”);:エンテイテイpersonal_addressにアクセス
MaxNumber = sdaiGetMemberCount (aggregate);:personal_addressエンテイテイのインスタンスの数
Iterator = sdaiCreateIterator (aggregate);for (i1= 0; i1<MaxNumber; i1++) {:インスタンスを1ケ毎呼び出して属性値を得る
sdaiNext (Iterator);sdaiGetAggrByIterator (Iterator, sdai INSTANCE, &resultId);
sdaiGetAttrBN (resultId, “internal_location”, sdaiSTRING, &intLocation);: Internal location (地域名)sdaiGetAttrBN (resultId, “street_number”, sdaiSTRING, &streetNo);: Street number (通り番号)
sdaiGetAttrBN (resultId, “street”, sdaiSTRING, &street);: Street (通り)sdaiGetAttrBN (resultId, “postal_box”, sdaiSTRING, &boxNo);: Postal box (私書箱)
sdaiGetAttrBN (resultId, “town”, sdaiSTRING, &town);: Town (町)sdaiGetAttrBN (resultId, “region”, sdaiSTRING, &region);: region (地域)sdaiGetAttrBN (resultId, “postal_code”, sdaiSTRING, &postalCode);: Postal code (郵便番号)
sdaiGetAttrBN (resultId, “country”, sdaiSTRING, &country);: Country (国)sdaiGetAttrBN (resultId, “facsimile_number”, sdaiSTRING, &faxNumber);: Fax (ファクス番号)
sdaiGetAttrBN (resultId, “telephone_number”, sdaiSTRING, &phoneNumber);: Phone (電話番号)
sdaiGetAttrBN (resultId, “electronic_mail_address”, sdaiSTRING, &e-mailAddress); : E-mail (eメールアドレス)
sdaiGetAttrBN (resultId, “telex_number”, sdaiSTRING, &telexNumber);: Telex (テレックス番号)
sdaiGetAttrBN (resultId, “description”, sdaiSTRING, &description);sdaiGetAttrBN (resultID, “people”, sdaiAGGR, & AggrID);: 属性peopleが指すpersonエンテイテイを指定
nElements = sdaiGetMemberCourt (AggrId);: personエンテイテイのインスタンスの数
IterId = sdaiCreateIterator (AggrId);for (i2 = 0; i2<nElements; i2++) {: 同一住所に住む人の名前を取り出す
sdaiNext (IterId);
sdaiGetAggrByIterator (IterId, sdai INSTANCE, &InstanceId);sdaiGetAttrBN (InstanceId, “id”, sdai STRING, &id);: 識別番号
sdaiGetAttrBN (InstanceId, “last_name”, sdai STRING, &lastName);:姓
sdaiGetAttrBN (InstanceId, “first_name”, sdaiSTRING, &firstName);
:名
・
・
・
}
}

STEPの仕組み

現状分析
現状分析

外部仕様
外部仕様

内部仕様
内部仕様
（
システム）
（
システム）

業務分析
業務分析
IDEF0
IDEF0
AAM
AAM
情報要件
情報要件
IDEF1X,EXPRESS-G
IDEF1X,EXPRESS-G
ARM
ARM

Mapping
Mapping
Table
Table

翻訳
翻訳
EXPRESS-G,EXPRESSEXPRESS-G,EXPRESS
AIM
AIM

総称リ
総称リソ
ソー
ー
ス
ス

ARMとAIMのギャップを埋めるHLDAI
①
②
③

APM

APM

③のレベ
③のレベ
ルで操作
ルで操作

①のレベ
①のレベ
ルで操作
ルで操作

ARM
ARM

Mapping
Mapping
Table
Table

HLDAI
AIM
AIM

SDAI

SDAI

AIM

AIM

HLDAIとMapping
内容

プロジェクト概要

・ＳＴＥＰデータへのアクセスを業務レベルで可能にする仕組みを提供する。

狙い
・「より効率的にＳＴＥＰシステムの構築が行える環境」
を整備する

Ｈ Ｌ Ｄ Ａ Ｉ Generator
APM

schemaMapping
description

●
●

●

●

●

●

●

Mapping Schema(EXPRESS-X)

■
■

AIM
schemaHLDAI Compiler

HLDAI Parts

View Schema(Ordinary EXPRESS)

Base Schema(Ordinary EXPRESS)

Mapping Language① EXPRESS-Xは、ISOのNWI
・Dr.Hardwick (RPI), Ian Bailey (EuroSTEP)② EXPRESS-Xは、異なるスキーマ間のデータ交換プログラムのコンパイラの仕様
・一括変換のイメージが強く、過渡的な処理には不向き。
③ EXPRESS-Xの源は、EXPRESS-V(TOOLs Inc)とEXPRESS-M(CIMIO)

建設CALSの共通ライブラリ イ

CADに限定した効
率的なアクセスルー
チン群を準備STEPをライブラリで隠蔽して利用者はCADのビューでハンドリン
グ出来る

APM

CAD

AIMのレベAIMのレベルで操作
ルで操作

CADのレベ
CADのレベルで操作
ルで操作

ライブラリイ
SDAI

SDAI

AIM

AIM

主な共通ライブラリ イ
下記のそれぞれにCADのビューで関数群を準備する
１.幾何要素- 点、直線、折れ線、円・円弧、楕円・楕円弧
２.表記要素-文字-寸法線（
直線寸法、角度寸法、半径・直径寸法等）-ハッチング等
3.共通-STEPファイル読み書き

主な共通ライブラリ イ ---直線の場合のイメージ
cadLine(layer,view,color,lineFont,line
Width,x1,y1,x2,y2,&return);

レイヤ
レイヤ

#11

presentation_layer_assignment

name

“0”

discription“”

assigned_items

#10

幾何要素
幾何要素

見え方
見え方
styled_item

representation_item

annotation_
occurrence

draughting_annotation_
occurrence

trim_1items
stylesbasis_curve

annotation_curve_
occurrence

presentation_style_assignment

curve_style“0.”parameter_value

“1.”

#4
line
dir

#8

parameter_value
trim_2

ref_derection
pnt

#9

形状
形状

#5
trimmed_curve#7
draughting_pre_defined_colour“green”#6
draughting_pre_defined_curve_font
positive_length_measure#3
cartesian_point#2vector

“10.0”“20.0”#1“4.0”

direction“continious””“0.15”“10.0”“3.0“共通ライブラリの使用イメージ（１）Read時：
return = OpenPart21 (“FileName”,”RO”,level);:Part21ファイルをオープンする
if (return != 0{… … …
:Error処理をする
GetElementTypes (ElementTypeArray);:ElementType(Feature)全体を得る
while(ElementTypeArray[i1]) {:ElementType毎に処理する
ReadElementIds (ElementTypeArray[i1],ElementIds);：
構成要素の識別子
while (ElementIds[i2]) {:構成要素毎に処理をする
GetElementMember (ElementIds[i2],structure);case ElementIds[i2]:・・(2) Write時：
return = OpenPart21 (“FileName”, “RW”, level);: Part21ファイルをオープンする
if (return != 0) { … … … … … … …
: Error処理をする
PutElementMember(ElementType,structure);: ElementType(Feature)毎に処理
・・

EXPRESS‑XによるSTEPデータの扱い
システムの基本構成

1. 入力モデルの登録

Express Data Manager
RDB

EXPRESS-X

EXPRESS-X

Compiler

入力モデル

P21

Excel
Excel
↑
↑
Part21
Part21

Excel
Excel
↓
↓
Part21
Part21

P21

Writer

STEP/DB（注）出力モデルは処理が終
わったら削除する

STEP/DB②
internal_location

2. STEPモデルへの変換

street_number

郵便

住所

電話

streettown

鈴木 一郎 100

東京都・…

03‑5555‑xxxx

山田 太郎 812

福岡市・…

092‑812‑y y y y

・
・
・

・
・

Express-Xの機能により
STEPデータモデルを作成
する

電話番号

入力モデル
入力モデル
CSV 表形式モデルからSTEPモデルに変換するために1次的に作成する(STEP形式の)モデル

first_namemiddle_name

EXPRESS-X
STEPモデルSTEP/DB

入力モデル

ISO10303Part40番台のリソー
スを用いて表現

・・・

STEPモデル
STEPモデル維持される(貯蔵用の)STEPデータモデ
ル 国際標準に基づくデータ表現がされている

3. 出力モデルの作成とRDBへの登録
STEPモデル
スキーマ

出力モデル
スキーマ

Exp

Exp

Compiler

Mappingスキーマ(STEP→出力)

Mpx①

Express-Xの機能により出力モデルに変換
する 次にRDBへの書込みをする（注）出力モデルは処理が終わったら削除
する②

EXPRESS-X

STEP/DB
STEP/DB

Writerperson

郵便番号

住所

Mpx

last_name

Reader

名簿

Mappingスキーマ(入力→STEP)

Exp

Compiler

id

名前

入力モデル
dictionary

①②

（
注）
この時点で入力モデ
ルは削除する

personal_address

STEPモデルスキーマ

Exp

Readeraddress
名前

入力モデル
スキーマ

Writer

P21

①

Exp

Excel
Excel
(CSV)
(CSV)

Reader

Excel
Excel
↓
↓
Part21
Part21

ReaderCompiler

Writer

Excel
Excel
(CSV)
(CSV)

Express-Xの機能により出力モ
デルに変換する

入力モデルス
キーマ

P21

出力モデル

Excel
Excel
↑
↑
Part21
Part21RDBCALSとSTEP●計算機が解釈可能な製品データの表現
方法（
構造と制約）と交換方法の規定●製品のライフサイクルを通した製品ＤＢの実装、共有、保管の基盤を提供する
ISO10303 Industrial automation system andintegration - Product data representationand exchange

物を表現するSTEPの偉大な力とその活用に取り組もう !

参考文献など- 木村他：「
製品モデルの表現とその利用法」、日本規格協会
国内で始めて出版されたSTEPの本、AP201の実装を元に解説。(¥2,900)- J.Fowler:「
STEPがわかる本」、工業調査会プラントCALS研究会が翻訳。STEPの全貌を記述している。(¥2,800)- 富士通：「STEP/EXPRESSへの道」、富士通STEP研究開発センター
STEPシステムとペアになった自己学習教材。(¥19,800)- D. Schenck他：「Information Modeling the EXPRESS way」、
OxfordEXPRESSによる製品のモデリングを詳細に解説している。 (US$ 50.00)