パラメータ:
|
名前
|
データ タイプ
|
タイプ
|
説明
|
||
---|---|---|---|---|---|---|
:part
|
SEL_ITEM
|
必須
|
穴を開けるパーツです。
|
|||
:axis-start-pos
|
GPNT3D
|
必須
|
穴の開始位置 (軸が開始面と交差する位置) です。
|
|||
:axis-dir
|
GPNT3D
|
必須
|
穴の軸方向で、通常はボア操作の軸です。
|
|||
:feature-name
|
文字列
|
任意
|
構造一覧内に表示される集合体の名前です。指定されていない、または NIL に設定されている集合体は名付けられません。
|
|||
:feature-type
|
キーワード
|
必須
|
現在固定されている、可能な値は NIL および :cad-cam-link-stepped-hole のみです。可能な値のリストは後で示します。
|
|||
:constructor
|
LISP フォーム
|
必須
|
この LISP フォームは内部の sd-call-cmds で評価され、ねじを定義し、穴の形状を記述します。
このフォームに対する制限事項については、
documentation about sd-call-cmdsを参照してください。このリンクを利用できるのは、英語版の文書のみです。
|
|||
:success
|
LISP フォーム
|
任意
|
constructor フォームによりエラーが発生しない場合に評価される LISP フォームです。
このフォームは、constructor フォームの評価に使用される sd-call-cmds 内で、success フォームとして用いられます。success フォームの評価の際、グローバル変数 *SD-ACTION-RESULT* が constructor フォーム 内で呼び出された最後のアクションルーチンのアクション結果にバインドされます。
|
|||
:failure
|
LISP フォーム
|
任意
|
constructor フォームによりエラーが発生する場合に評価される LISP フォームです。このフォームは、constructor フォームの評価に使用される sd-call-cmds 内で、failure フォームとして用いられます。failure フォームの詳細については、
documentation about sd-call-cmdsを参照してください。このリンクを利用できるのは、英語版の文書のみです。
|
制限事項:
|
||
---|---|---|
• sd-call-cmds に関するすべての制限事項が、ここでも適用されます。
• 断面の輪郭線は、以下の条件を備えている必要があります。
◦ 直線によって構成され、円柱面、円錐面、および平らな底面を形成する。
◦ 回転によりオブジェクトを作成する場合には、1 つのボディを作成する。
◦ 有効な穴を作成する (つまり、曲がった開始面または終了面の場合には十分に延長されていること)。
• 穴の作成操作では、O-リング シール用の追加の溝のような異なる形状を作成することはできません。
• 面取りとしてエクスポートする場合は、面取りを CHAMFER コマンドで作成する必要があります。円錐は、面取りの形状を作成するだけで、円錐として転送されます。
• 今後のリリースでブレンドのサポートが予定されていますが (時期は未定)、面取りと同じ制限事項が適用されます。
|
||
図1 : サポートされている輪郭線 |
図2 : 材質に切り込むことが可能なドリル先端 |
|
図3 : 逃げによる無効 |
図4 : 2 つの穴への分割による無効 |
|
図5 : アンダーカットによる無効 |
図6 : 追加の溝による無効 |
|
図7 : 追加のブレンドによる無効 |
図8 : 円錐穴による無効 |
例
|
|
---|---|
次の例は sd-defdialog の一部です。直径 40、20、40 のステップ穴を作成し、後で 4 回の面取りを行います。
:ok-action
'(let* ((part (sd-inq-curr-part)) (axis-start-pos origin) (axis-dir 0,0,-1) (feature-name) (feature-type) (poly_points '(0,0 60,0 60,20 50,20 50,10 10,10 10,20 0,20 :close)) ) (cad-cam-link-ui::machadv-define-hole :part (oli::sd-inq-curr-part) :axis-start-pos axis-start-pos :axis-dir axis-dir :feature-name feature-name :feature-type feature-type :constructor `(let ( (curr-wp (sd-inq-curr-wp)) (geo-mode (sd-inq-geometry-mode)) ) (unless (eq geo-mode :real) (geometry_mode :real) ) (create_workplane :new :pt_dir :origin ,axis-start-pos :normal :x :u_dir ,axis-dir ) (apply #'polygon ',poly_points) (bore :axis ,axis-dir :turn_angle (* 2.0 pi)) (chamfer :check :dist_angle (sd-vec-add ,axis-start-pos 20,0,0) :new_angle_dist 1 45 (sd-vec-add ,axis-start-pos 10,0,-10) :new_angle_dist 2 45 (sd-vec-add ,axis-start-pos 10,0,-50) :new_angle_dist 3 45 (sd-vec-add ,axis-start-pos 20,0,-60) :new_angle_dist .5 45 ) (delete_3d (sd-inq-curr-wp)) (when curr-wp (CURRENT_WP curr-wp)) (unless (eq geo-mode :real) (geometry_mode geo-mode) ) ) ) ) |