プログラム > パラメトリック設計の例 > 例: ブレンダカバーのパラメトリック設計文
例: ブレンダカバーのパラメトリック設計文
この例では、設計文の論理と INPUTEXECUTE、および IF-ELSE 文の使用方法を説明します。部品設計文中の ADD FEATURE 文のフォーマットは簡略化されています。角括弧 ([ ]) 内の説明は情報提供のみを目的とし、通常のリストには表示されません。
* 
ここから、この例で使用されているモデルをダウンロードできます。
パラメトリック設計文の作成
1. アセンブリ 1
2. アセンブリ 2
3. アセンブリ 3
4. COVER_TYPE=NO
5. CYL_DIAM
6. CAP:MODEL_A
7. COVER_TYPE=YES
8. COVER_SIZE
9. CAP:MODEL_B
アセンブリ "BLENDER" の設計文
アセンブリ "BLENDER" のパラメトリック設計文を以下に示します。

...
INPUT
COVER_TYPE YES_NO
"Does the cover have a cap?"
MATERIAL STRING
"Enter material (ABS or POLY)"
CAP_TYPE STRING
"Enter cap type (MODEL_A or MODEL_B)"
COVER_SIZE NUMBER
"Enter the top plate dimension"
END INPUT
RELATIONS
END RELATIONS
EXECUTE PART COVER [a.]
COVER_TYPE = COVER_TYPE
COVER_SIZE = COVER_SIZE
MATERIAL = MATERIAL
END EXECUTE
EXECUTE PART (CAP_TYPE)
COVER_SIZE = COVER_SIZE
END EXECUTE

...
ADD PART COVER [b.]
INTERNAL COMONENT ID 40
END ADD
IF COVER_TYPE == YES [c.]
ADD PART (CAP_TYPE)
INTERNAL COMPONENT ID 45
PARENTS = 40 (#5)
END ADD
END IF
...
* 
a. COVER_TYPE の値を部品 "COVER" に渡します。値が YES の場合、カバーに穴が追加されます。また、材料の値とカバーのサイズ (上面板のサイズ) を引き渡します。
b. カバーを追加します。
c. COVER_TYPE=YES の場合は、アセンブリにキャップを追加します。
部品 "COVER" の設計文
部品 "COVER" のパラメトリック設計ファイルを以下に示します。

...
INPUT
COVER_TYPE YES_NO
COVER_SIZE NUMBER
MATERIAL STRING
END INPUT
RELATIONS [a.]
PTC_MATERIAL_NAME = MATERIAL
DIAM = COVER_SIZE / 2
IF MATERIAL == "POLY"
d0=.10
ELSE
d0=.2
ENDIF
d13=0.1
END RELATIONS

ADD FEATURE (initial number 1) [b.]
INTERNAL FEATURE ID 1
...
IF COVER_TYPE = YES [c.]
ADD FEATURE (internal number 8) [Add a hole.]
INTERNAL FEATURE ID 1915
PARENTS = 1(#1) 5(#3) 40(#5)
...
END ADD
END IF
...
* 
a. リレーションには、穴の直径と材料タイプの条件文のリレーションが含まれます("Poly" および "ABS" には二重引用符が必要です)。
b. ベースフィーチャーを追加します。
e. COVER_TYPE=YES の場合は、穴を追加します。
部品 "CAP" の設計文
部品 "CAP" はインスタンス MODEL_A と MODEL_B とともにテーブル駆動されます。部品 "CAP" のパラメトリック設計ファイルは以下のとおりです。

...
INPUT
COVER_SIZE NUMBER
END INPUT
RELATIONS
CYL_DIAM = COVER_SIZE / 2
END RELATIONS

...
ADD FEATURE (initial number 5)
INTERNAL FEATURE ID 40
PARENTS = 1(#1) 5(#3) 3(#2)
END ADD

...

これは役に立ちましたか?