CDM Access: Planning and Administraion Guide
9 September, 1988Data Structure
I. ÀڷᱸÁ¶¿¡ °üÇÑ ÀÛ¾÷
ÇϳªÀÇ ºÎÇ°ÀÌ ³ª Á¶¸³Ç°À» Ç¥ÇöÇϴµ¥´Â ´Ù¾çÇÑ geometric Ç¥Çö°ú °æ¿µ»óÀÇ ¹®¼¿Í °°Àº º¹ÇÕÀû ¸Åü¸¦ »ç¿ëÇÏ¿© Ç¥ÇöÇØ¾ß ÇÑ´Ù. À̸¦ multi-representation À̶ó ÇÑ´Ù.
CATIA¿Í °ü·ÃµÈ ÀÚ·á°¡ ¾î¶»°Ô DB¾È¿¡ ±¸¼ºµÇ¾î ÀÖ³ª?
ÀÚ·á´Â part¶ó´Â ±âº» entity·Î ±¸ÇöµÇ°í °¢ part´Â 3°¡Áö Á¾·ùÀÇ object (representations)¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù (* ½ÇÁ¦·Î part´Â CDM¾È¿¡¼´Â PART_LIST¶ó´Â Å×À̺íÀÇ ÇÑ record (instance)¸¦ °¡¸®Å´.).
- CATIA objects: models, details, plot sheet
- The company objects: documents, data from other CAD/CAM, management data
- ´Ù¸¥ object
STEP 1. PART_LISTÀڷᱸÁ¶¿¡ Àڷᱸ¼ºÇϱâ
CDMA¸¦ »ç¿ëÇÒ °æ¿ì 3°³ÀÇ ÀڷᱸÁ¶¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.
ÀÌ ÀڷᱸÁ¶µéÀ» environment¶ó°íµµ ÇÑ´Ù.
- CATIA.PROJECT - company project °ü¸®
- XXXX.PART_LIST - CATIA data ¿Í representations °ü¸®
- XXXX.PRODUCT_TYPE_LIST - instanciation attribute management¸¦ À§ÇÏ¿©
1.1 PART_LIST ±¸Á¶¸¦ Á¤ÀÇÇϱâ
´Ü°è ³»¿ë ºñ°í 1) part key ¼³Á¤ part(PART_LIST ÀÇ instance ÁöĪ)¸¦ ±¸º°ÇÏ´Â id¸¦ ¼³Á¤ ? $COID, $COMPID´Â ÀÚµ¿À¸·Î Á¤ÀǵǴ°¡ 2) representation list ¼³Á¤ part ¸¦ ºÎ¿¬¼³¸íÇϴ Ÿ object ÀÎ representationÀ» °áÁ¤ÇÑ´Ù. representationÀº ±âÁ¤ÀÇ µÈ object(6°³)¿Í »ç¿ëÀÚÁ¤ÀÇ object·Î ³ª´¼ö ÀÖ´Ù. »ç¿ëÀÚ Á¤ÀÇ object´Â alphanumeric°ú document·Î ³ª´¼ö ÀÖ´Ù. document´Â DOC_Ç¥±â¸¦ Çϸç Long field type°ú °ü°è 3) seconary key ¼³Á¤ ÇϳªÀÇ part¿¡ ´Ù¼öÀÇ representation instance (´ÜÀÏÁ¾·ù)¸¦ ¿¬°áÇϱâ À§ÇÏ¿© °¢ instance¸¦ ±¸º°ÇÒ key °¡ ÇÊ¿äÇÏ´Ù. ¸¸ÀÏ secondary key °¡ Á¤ÀǵÇÁö ¾Ê´Â´Ù¸é part¿Í ÇØ´ç representation °ü°è´Â 1:1 ÀÌ´Ù. $COID¿Í $COMPID ±¸Á¶´Â complex object¿Í componet object»çÀÌÀÇ 1:n °ü°è°¡ °¡´ÉÇϵµ·Ï µÇ¾î ÀÖ´Ù. ÀÌ´Â ½Ã½ºÅÛ¿¡¼ ÀÚµ¿À¸·Î ºÎ¿©µÇ´Â °ÍÀΰ¡? 4) complementary att Á¤ÀÇ part ¿¡ ºÎ°¡µÇ´Â attribute¸¦ Á¤ÀÇÇÑ´Ù. 5) lock table±¸Á¶Á¤ÀÇ $LOCK Å×ÀÌºí¿¡ »ç¿ëÀÚ°¡ ÇØ´ç Å×À̺íÀ» º¯°æÇÏ´Â °ÍÀ» Á¦ÇÑÇÏ´Â Á¤º¸¸¦ ÀúÀåÇÑ´Ù. $LOCK Å×À̺íÀÇ ÇÑ record´Â ÇϳªÀÇ part³ª object¿¡ Àû¿ëµÇ´Â lockÀ» ¶æÇÑ´Ù. ´Ù¸¥ °ü¸®¿ë Å×À̺í
$EXT - part °¡ ¾Æ´Ñ object (representation) »çÀÌÀÇ °ü°èÁ¤ÀÇ
$EXT_LF - object ¿Í long fields¿ÍÀÇ °ü°è - r.f relation repository1.2 Á¤ÀÇÇÑ ±¸Á¶¸¦ ±¸Çö
´ÙÀ½°ú °°Àº 3 °¡Áö Á¾·ùÀÇ SQL Å×À̺í (Database¿¡¼ Áö¿øÇÏ´Â ¼ø¼ö Å×À̺í)ÀÌ »ý¼ºµÈ´Ù.
»ý¼ºµÇ´Â Å×ÀÌºí¿¡´Â ¾Æ·¡¿Í °°Àº Á¦¾àÀÌ Àû¿ëµÈ´Ù.
- PART_LIST Å×À̺í : part key attribute ¿Í complementary attributes¸¦ Æ÷ÇÔ
- °¢°¢ÀÇ representation¿¡ ´ëÀÀÇÏ´Â Å×À̺íµé: key¿Í complementary attribute¸¦ Æ÷ÇÔ
- long field¸¦ ÀúÀåÇϱâ À§ÇÑ ³»ºÎ Å×À̺íµé
- Same SQL Owner
- part ´Â PART_LISTÀÇ instance
- PART_LIST¿¡¼ »ý¼ºµÈ view´Â PART·Î À̸§ ½ÃÀÛ
- CATIA_MODEL¿¡¼ »ý¼ºµÈ view´Â CATIA_MODEL·Î À̸§ ½ÃÀÛ
- DOCUMENT Å×À̺í À̸§Àº DOCÀ¸·Î ½ÃÀÛ
- instanciation attribute (?) ¸¦ Áö¿øÇϱâ À§ÇØ PART_LIST¿¡ P_PRODUCT_TYPE: VARCHAR(70) attribute ÇÊ¿ä
- CATIA ¸¦ À§ÇÑ 6 °³ Å×À̺í
- ¸ðµç Å×À̺íÀº $COID¿Í $COMPID¸¦ Æ÷ÇÔ - CDM ³»ºÎÀû complex object ±¸Çö
- ³»ºÎ identifier(CDM identifier) ÇÊ¿ä
Long Field Tables
CATIA_MODEL, CATIA_DETAIL, CATIA_PLOT ±×¸®°í Documents Å×À̺íÀº long field tableÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. Long field¿ÍÀÇ °ü°è´Â $COROUTINES Å×ÀÌºí¿¡ ÀúÀåµÇÁö ¾Ê°í $EXP_LF¿¡ ÀúÀåµÈ´Ù.
complex objectÀÇ Æ¯Á¤ component object ¿Í long field data¸¦ ¿¬°áÇÏ´Â object¸¦ relation object¶óÇÏ°í ÀÌ´Â CDMA¿¡¼´Â $EXP_LFÀÇ ÇÑ instance¿¡ ÇØ´çÇÑ´Ù. À̶§ long field¿¡ ´ëÀÀÇÏ´Â object¸¦ repository¶ó ÇÑ´Ù.
relation object·Î½á $EXP_LF´Â ´ÙÀ½°ú °°Àº Attribute¸¦ °¡Áø´Ù.
- $COMPID_FATHER:
- long field¸¦ °¡Áö°í ÀÖ´Â component objectÀÇ id (COMPID)¸¦ °¡Áö°í ÀÖ´Ù.- $CUR_ACC_MET:
- long field¸¦ Á¢±ÙÇÏ´Â method¸¦ Á¤ÀÇÇÑ´Ù.- $CUR_ACC_MET_DATA:
- long field dataÀÇ ÀúÀå À§Ä¡¸¦ °¡¸£Å²´Ù.1.3 CDMA ½ÃÀÛ
- CDMÀ» ÀÌ¿ëÇÏ¿© ÀÛ¼ºÇÑ Å×À̺íÀ» Database³»¿¡ »ý¼º
- Unique Index »ý¼º
- Data Dictionary °³Á¤ ($COROUTINES Å×ÀÌºí¿¡ record »ý¼º)
STEP 2. ±¸Á¶¸¦ Project¿¡ ÅëÇÕÇϱâ
»ç¿ëÀÚ´Â ¸î°³ÀÇ ¼·Î´Ù¸¥ PART_LIST ¸¦ ¸¸µé¼ö ÀÖ´Ù. ¿¹·Î ÀÛ¾÷¿Ï·á¿Í part¸¦ ÀúÀåÇÏ´Â PART_LIST¿Í ÀÛ¾÷ÁßÀÎ PART_LIST¸¦ ºÐ¸®ÇÏ¿© ÀúÀåÇÒ ¼ö ÀÖ´Ù (ºÐ¸® ¹æ¹ýÀº DB Owener¸¦ ÀÌ¿ëÇØ¾ß ÇÔ(?). ¿¹: RELEASED.PART_LIST and WORKING.PART_LIST). Database³»ÀÇ object´Â PROJECT¿¡ Æ÷ÇԵǾî¾ß Çϸç PROJECT ³»ÀÇ object °£¿¡¸¸ relationÀÌ Çã¿ëµÈ´Ù.
PROJECT´Â CATIA.PROJECT Å×ÀÌºí¿¡ Á¤º¸°¡ ÀúÀåµÇ´Âµ¥ ÀÌ´Â CDMA°¡ Install µÉ¶§ Çü¼ºµÈ´Ù. CATIA.PROJECT´Â PART_LIST ¿Í °°ÀÌ CDMÀÇ composite object ±¸Á¶¸¦ »ç¿ëÇϸç, PART_LISTÀÇ Representaion¿¡ ÇØ´çÇÏ´Â Information Å×À̺íÀ» °¡Áö°í ÀÖ´Ù. À̵é Information Å×À̺í Áß¿¡ CATIA.CONAME Å×À̺íÀÌ ÇØ´ç PROJECT¿¡ Æ÷ÇÔµÈ PART_LIST Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù(±×¸² ÂüÁ¶).
Example: PROJECT catsampleÀÌ µÎ°³ÀÇ PART_LIST A.PART_LIST¿Í B.PART_LIST¸¦ °¡Áö°í ÀÖ´Â °æ¿ì¸¦ À§ÀÇ ±¸Á¶·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù.
CATIA.PROJECT $COID $COMPID S_PROJECT(key) sample project_sample
CATIA.CONAME $COID $COMPID S_CONAME(key) sample A.PART_LIST sample B.PART_LIST PROJECT¿Í environment( OWNER.PART_LIST )´Â CONAME Å×À̺íÀÇ secondary key attributeÀÎ S_CONAME¿¡ ÀÇÇÏ¿© ÀúÀåµÈ´Ù.
±âÁ¸ÀÇ PROJECT¿¡ »õ·Î¿î environment¸¦ ¿¬°áÇÏ´Â ¹æ¹ýÀº PROJECT Å×À̺íÀÇ ³»¿ëÀ» SELECT ÇÏ¿© È®ÀÎÇÑÈÄ ¿øÇÏ´Â PROJECTÀÇ S_PROJECT ³»¿ëÀ» È®ÀÎÇÏ°í À̸¦ CONAME Å×ÀÌºí¿¡ S_CONAME¿¡ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. - ¿¹Á¦¿¡¼ $COID¸¦ »ç¿ëÀ¸·Î relationshipÀ» À¯ÁöÇÏ¿´´Àµ¥ À̸¦ Á÷Á¢ »ç¿ëÀÚ°¡ ÀÔ·ÂÇØ¾ß Çϳª?; OBJECT+WRITE+TABLE itemÀÇ Àǹ̴Â?
STEP 3. Trigger Á¤ÀÇÇϱâ
Triggers
Start Condition (EVENT)´Â Data Dictionary¿¡ ÀúÀåµÇ¾î¾ß ÇÑ´Ù. CDMÀº 4°³ÀÇ DELETE Trigger¸¦ Data Consistency À¯Áö¸¦ À§ÇÏ¿© »ç¿ëÇÑ´Ù.
The Lock Mechanism
»ç¿ëÀÚ°¡ ÀÏÁ¤½Ã°£µ¿¾È ´Ù¸¥ »ç¿ëÀÚ°¡ ÇØ´ç object¸¦ update ÇÏÁö ¸øÇÏ°Ô Çϸç ÀÛ¾÷(update Æ÷ÇÔ) ÇÒ ¼ö ÀÖ´Ù. Long duration transaction Áö¿ø. lock mechanismÀº ´ÙÀ½ 3 °¡Áö ¿ä¼Ò·Î ±¸¼º
- a lock table :- ÇϳªÀÇ record°¡ ½Ã½ºÅÛ³»ÀÇ object¿¡ Á¤ÀÇµÈ ÇϳªÀÇ LockÀ» ³ªÅ¸³½´Ù.
- a trigger :- the lock table¿¡ Àû¿ëµÇ´Â operation¿¡ ´ëÇÑ validity¸¦ À¯ÁöÇÑ´Ù. ÇÑ object¿¡ ´ëÇÑ µ¿½Ã locking ¹æÁö
- a trigger :- lock µÈ object¸¦ update ÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ±â´É
CATIA Attributes¸¦ µ¥ÀÌŸº£À̽º¿¡ ÀÚµ¿À¸·Î ÀúÀåÇϱâ
CDMA°¡ CATIA MODELÀÇ Attribute¸¦ ÀÚµ¿À¸·Î ÃßÃâ ÇÒ ¼ö Àִµ¥ ÀÌ´Â ´ÙÀ½°ú °°´Ù.
Attribute ´Â Á¤ÀÇµÈ Part¿¡ ¿¬°üµÈ ModelÀÌ º¯°æµÉ ¶§ ÀÚµ¿À¸·Î ÃßÃâµÈ´Ù. ¸¸ÀÏ CATIA.MAP_PRJ¿¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¸é Attribute °ªÀÌ ÀÚµ¿À¸·Î ÃßÃâµÇÁö ¾Ê´Â´Ù.
- Master work space of Model
- Detailed Workspace
- Symbol, Tool, Section
STEP 4. Profile Á¤ÀÇÇϱâ
Profile´Â »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â View, Query, Result, Authorization ¿¡ °ü·ÃµÈ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ´Â CDML(CATIA Data Manupulation Language)·Î Á¤ÀÇµÈ Script (command stream)Çü½ÄÀ¸·Î CDM.MACRO_LIST¿¡ ÀúÀåµÈ´Ù. ÀúÀåµÈ command stream°ú »ç¿ëÀÚ¿Í ÀÇ °ü°è´Â PROFILE.PROFILE_USER¿¡ ¿¡ ÀúÀåµÈ´Ù. ÀÌ Å×ÀÌºí¿¡ »ç¿ëÀÚ°¡ ¾øÀ»°æ¿ì´Â default profileÀÌ Àû¿ëµÈ´Ù. Default ProfileÀ» »ý¼ºÇÏ°í °ü¸®Çϱâ À§ÇÏ¿© DMADM utility¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù.
II. Object »çÀÌÀÇ Relations
Relation °³·Ð
CDMAÀÌ part¿Í representation »çÀÌÀÇ complex object relation ¿Ü¿¡ ´ÙÀ½°ú °°Àº µÎ°¡Áö Á¾·ùÀÇ object»çÀÌÀÇ relationÀ» $EXT Å×À̺íÀ» ÅëÇÏ¿© Á¦°øÇÑ´Ù.
¸ðµç CDMA object ¿Í °°ÀÌ relation object ($EXTÀÇ ÇÑ record)µµ part¿¡ ¼ÓÇÑ´Ù. ¿¹·Î model 1 ÀÌ part 1¿¡ ¼ÓÇÏ¿´´Ù¸é model 1 °ú detail 2 »çÀÌÀÇ °ü°è¸¦ ÀúÀåÇÏ´Â relation 1 µµ part 1 ¿¡ ¼ÓÇÑ objectÀÇ ÇϳªÀÌ´Ù.
- part »çÀÌÀÇ relation - ¿¹: part 1 °ú part2 »çÀÌÀÇ assembly relation
- representation »çÀÌÀÇ relation - ¿¹ CATIA Model, model 1°ú Detail, detail2 »çÀÌÀÇ CATIA relation
CDMA´Â $EXT Å×À̺íÀÇ $TYPE¿¡ ÀÇÇÏ¿© relationÀÇ Á¾·ù¸¦ ±¸ºÐÇϴµ¥, CAT·Î ½ÃÀÛÇÏ´Â 4 °³ÀÇ ±âº» relation typeÀ» Á¦°øÇϸç ÀÌ´Â CDMA¿¡ ÀÇÇÏ¿© ÀÚµ¿À¸·Î Update µÈ´Ù.
Example: p(1) part ¿Í c(1) part´Â assembly °ü°è°¡ ÀÖ´Ù. À̸¦ $EXT¿¡ Ç¥½ÃÇϸé $COID_REF ¿Í $COMPID_REF¿¡ c(2) Á¤º¸¸¦ ³ÖÀ¸¹Ç·Î½á °ü°è°¡ ¼º¸³µÈ´Ù. $SITE´Â assembly ÀÚ·á°¡ ´Ù¸¥ database (other_database)¿¡ ÀúÀåµÈ°ÍÀ» ³ªÅ¸³»¸ç $TYPEÀº µÎ °´Ã¼°ü°è°¡ assembly °ü°èÀÓÀ» ³ªÅ¸³½´Ù.
type ¼³¸í CATSS assembly relation CATMD model/detail relation CATDD detail/detail relation CATPM plot sheet/model relation
PART_LIST $COID $COMPID p(1) pp(1) c(2) cc(2) : : $EXT DMADM utility¸¦ ÀÌ¿ëÇÏ¿© parent ¿Í child¿ÍÀÇ °ü°è »çÀÌÀÇ Consistency¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Ù.
$COID $COMPID $COID_REF $COMPID_REF $SITE $TYPE p(1) pp(1) c(2) cc(2) other_database CATASS
III. Authorization Control
VI. »ç¿ëÀÚ Áö¿ø
User Profile
1. ProfileÀ̶õ
ProfileÀ̶õ variables (ȤÀº symbolic variables¶ó ĪÇÔ)ÀÇ ÁýÇÕÀ¸·Î »ç¿ëÀÚ°¡ CDMAÀÇ ÀÚ·á¿Í ÇÔ¼ö¸¦ »ç¿ëÇϴ ȯ°æÀ» customize ÇÑ´Ù.
2. ProfileÀÇ ±¸Á¶È
ProfileÀº °¢±â ; ·Î ±¸ºÐµÈ CDM ASSIGN ¸í·É¾îÀÇ ÁýÇÕÀ» ÀúÀåÇÑ FileÇüŸ¦ ¶è´Ù. ASSIGN ¸í·ÉÀÇ ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.
ASSIGN 'value' TO GLOBAL_symbolic_variable_name/
"GLOBAL_symbolic_variable_name"variableÀ̸§À» GLOBAL_ ´ÙÀ½¿¡ ¾´´Ù. ¿¹·Î $viI_XXX´Â XXX Å×ÀÌºí¿¡ InsertÇÏ´Â View¸¦ ¶æÇϴµ¥ À̸¦ Á¤ÀÇÇÏ¸é ´ÙÀ½°ú °°´Ù.
ASSIGN 'V_INSERT' TO GLOBAL_$vi_mat
3. Profile ÀúÀå Table
ProfileÀº PROFILE.PROFILE_USER Å×À̺í°ú CDM.MACRO_LIST¿¡ ÀÇÇÏ¿© °ü¸®µÈ´Ù. ±¸Á¶´Â ¿¹Á¦ ÂüÁ¶.
General Administration
- transfer of part data
- transfer of CATIA data
- database ³»ÀÇ data structure º¯°æ¹æ¹ý
Instantiation Attribute Administration
CDMA ȯ°æ¿¡¼ instantiation attribute¸¦ »ç¿ëÇϱâ À§Çؼ´Â product type management environment°¡ »ý¼ºµÇ¾î¾ß Çϸç PART_LIST environment°¡ product typeÀ» Áö¿øÇØ¾ß ÇÑ´Ù.
instantiation attribute¸¦ ÀÌ¿ëÇÏ´Â ÀÌÀ¯´Â part¿¡ »õ·Î¿î attribute setÀ» µ¿ÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
product typeÀ» »ç¿ëÇϹǷνá CDMA¿¡¼ °ü¸®ÇÏ´Â partÀÇ ¼ö¸¦ °¨¼Ò½Ãų ¼ö ÀÖ´Ù. ¿¹·Î ÇÑ Á¾·ùÀÇ screw´Â ¹Ý°æ(diameter) °ú ±æÀÌ(length)¶ó´Â instancitation attribute·Î Á¤ÀÇµÈ ÇϳªÀÇ product type¿¡ ÀÇÇÏ¿© Á¤ÀÇµÈ ÇϳªÀÇ part ¿Í ÀÌÀÇ Çü»óƯ¡À¸·Î Á¤ÀÇµÉ ¼ö ÀÖ´Ù. valuation domainÀº ÇϳªÀÇ screw ÀÇ diameter¿Í length attribue Á¶ÇÕ °¡´É °ª À» Á¦°øÇÑ´Ù. ¸¸ÀÏ product typeÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é diameter¿Í lenghtÀÇ °¢ Á¶¾Ð¿¡ ´ëÇÏ¿© ÇϳªÀÇ part°¡ °ü¸®µÇ¾î¾ß ÇÑ´Ù.
1. Product Type Management Enviroment
product type management environment ´Â 1 °³ CDMA project ¿¡ 1 °³¸¸ »ý¼ºµÇ¸ç, ¾Æ·¡¿Í °°Àº 3°³ÀÇ Å×À̺í·Î ±¸¼ºµÈ´Ù.
- XXX.PRODUCT_TYPE_LIST Å×À̺í:
projectÀÇ product typeÀÇ list ¸¦ ÀúÀåÇÑ´Ù.- XXX.PRODUCT_ATTRIBUTE Å×À̺í:
ÇϳªÀÇ product typeÀÇ instantiation attributeÀÇ list¸¦ Á¤ÀÇÇÑ´Ù (instantiation attribute ¿Í typeÀ» Á¤ÀÇ).- XXX.PRODUCT_VAL_RANGE Å×À̺í:
instantiation attribute¿Í ½ÇÁ¦ database field¿ÍÀÇ °ü°è¸¦ Á¤ÀÇÇÑ´Ù.2. PART_LIST environment
CATIA Session Builder Administration
CATIA. Product Structure Navigator Administration