
このデザインは、ホスト CAD システムの 3D ワイヤフレーム円弧を定義します。円弧の拘束は、半径(または直径)のみを提供することで満たすことができます。開始角度と終了角度は、円弧の startVector 入力を基準とします。これは既定ではローカル フレームの x 軸です。すべての角度は正の値であり、開始角度が終了角度より小さい必要はありません。円弧は常に法線を基準として反時計回りにトレースされます(右手の座標系の右手の法則)。円弧の拘束は、Trim()または TrimTan()関数を使用して円弧の開始または終了角度を計算することでも指定できます。曲線のトリミングの構文については、例 4 を参照してください。
| Name | [タイプ] | 説明 |
|---|---|---|
| 半径 | 数値 | 円弧の半径です。 |
| startAngle | 数値 | ローカル X 軸から円弧の始点までの角度です。値は -360 ~ 360 度の範囲で設定することができます。 |
| endAngle | 数値 | ローカル X 軸から円弧の終点までの角度です。値は -360 ~ 360 度の範囲で設定することができ、startAngle より大きくする必要はありません。 |
| Name | [タイプ] | 説明 |
|---|---|---|
| center | 点 | 円弧を作成するために使用される基となる円の中心点です。 |
| startVector | ベクトル | 開始および終了角度を計測するために使用される軸を指定するベクトルです。既定では、これはローカル x 軸(1,0,0)です。 |
| topDir | ベクトル | 円弧の平面に垂直なベクトルです。 |
| diameter | 数値 | 円弧の直径です。半径の代わりに入力することができます。 |
| tanArc1 | パーツ | このパラメータは、別の円弧に接するように円弧を拘束する場合に使用します。パラメータ inside1 および onRight1 はこの円弧の完全拘束とともに使用されます。 |
| tanArc2 | パーツ | このパラメータは、別の円弧に接するように円弧を拘束する場合に使用します。パラメータ inside2 および onRight2 はこの円弧の完全拘束とともに使用されます。 |
| tanLine1 | パーツ | このパラメータは、線分に接するように円弧を拘束する場合に使用します。パラメータ onRight1 はこの円弧の完全拘束とともに使用されます。 |
| tanLine2 | パーツ | このパラメータは、線分に接するように円弧を拘束する場合に使用します。パラメータ onRight2 はこの円弧の完全拘束とともに使用されます。 |
| thruPoint1 | 点 | 指定した点を通過するように円弧が拘束されます。 |
| thruPoint2 | 点 | 指定した点を通過するように円弧が拘束されます。 |
| thruPoint3 | 点 | 指定した点を通過するように円弧が拘束されます。 |
| inside1 | ブーリアン演算 | このパラメータは、この円弧が tanArc1 のどちらの側に配置されるかを決定します。値が True の場合、この円弧を tanArc1 の中心に向かってオフセットします。False の場合、この円弧を tanArc1 の中心から離れた向きにオフセットします。 |
| inside2 | ブーリアン演算 | このパラメータは、この円弧が tanArc2 のどちらの側に配置されるかを決定します。値が True の場合、この円弧を tanArc2 の中心に向かってオフセットします。False の場合、この円弧を tanArc2 の中心から離れた向きにオフセットします。 |
| onRight1 | ブーリアン演算 | この円弧が tanArc1 および tanArc2 によって拘束されている場合、このパラメータはこの円弧の中心の位置を指定するために使用されます。tanArc1 および tanArc2 の中心点の間に架空の線分が作成されます。onRight1 が True の場合、この円弧の中心はこの線の右側になります。逆に、onRight1 が False の場合、この円弧の中心はこの線の左側になります。この円弧が tanLine1 によって拘束されている場合、このパラメータはこの円弧の中心点を拘束するために使用されます。onRight1 の値が True の場合、この円弧の中心は tanLine1 の右側に配置されます。どちらが線分の右側であるかを決定するために、線分の始点から終点までのベクトルが作成されます。点が右側にある場合、線分の視点から対象の点までのベクトルは、線分ベクトルに対して負の角度を持ちます。 |
| onRight2 | ブーリアン演算 | この円弧が tanLine2 によって拘束されている場合、このパラメータはこの円弧の中心点を拘束するために使用されます。onRight2 の値が True の場合、この円弧の中心は tanLine2 の右側に配置されます。どちらが線分の右側であるかを決定するために、線分の始点から終点までのベクトルが作成されます。点が右側にある場合、線分の視点から対象の点までのベクトルは、線分ベクトルに対して負の角度を持ちます。 |
| Name | [タイプ] | 説明 |
|---|---|---|
| arcLength | 数値 | startAngle から endAngle までの円弧の長さです。 |
| 円弧 | 数値 | startAngle から endAngle までの円弧の角度の絶対値です。 |
| endPoint | 点 | 円弧の endAngle の点です。 |
curveParamNearPoint(point p) number 入力点 p に最も近い曲線上の点を持つ角度を見つけます。

| 名前: | arc_Ex01 | |
| Design: | acDrawingDocument | |
| [名前] | [タイプ] | 式 |
| arcAngleList | list |
Dim a As Part Dim lst As List = {} For Each a In Me.Children lst = lst + {a.arc} Next ' a Return lst |
| 子の名前: | Arc_1 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 1 |
| 子の名前: | Arc_2 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| endAngle | 数値 | 230 |
| startAngle | 数値 | 90 |
| diameter | 数値 | Arc_1.radius * 3 |
| center | 点 | Arc_1.center - Vector(0, Arc_1.radius + Child.radius + 2, 0) |
| 子の名前: | Arc_3 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| endAngle | 数値 | 20 |
| startAngle | 数値 | 200 |
| diameter | 数値 | Arc_1.radius * 4 |
| center | 点 | Arc_2.center - Vector(0, Arc_2.radius + Child.radius + 2, 0) |

| 名前: | Arc_Ex02 |
| Design: | acDrawingDocument |
| 子の名前: | Arc_4 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 1 |
| center | 点 | point(0,-10,0) |
| 子の名前: | Arc_5 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 0.5 |
| center | 点 | point(3,-10.5,0) |
| 子の名前: | Arc_6 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 1.5 |
| tanArc1 | パーツ | Arc_4 |
| tanArc2 | パーツ | Arc_5 |
| inside1 | ブーリアン演算 | False |
| inside2 | ブーリアン演算 | False |
| onRight1 | ブーリアン演算 | False |
| 子の名前: | Arc_7 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 2 |
| tanArc1 | パーツ | Arc_4 |
| tanArc2 | パーツ | Arc_5 |
| inside1 | ブーリアン演算 | True |
| inside2 | ブーリアン演算 | False |
| onRight1 | ブーリアン演算 | False |

| 名前: | Arc_Ex03 |
| Design: | acDrawingDocument |
| 子の名前: | Line_1 | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | Point(6.74, -8.44, 0) |
| thruPoint2 | 点 | Point(12.73, -12.15, 0) |
| 子の名前: | Line_2 | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | Point(12.66, -8.29, 0) |
| thruPoint2 | 点 | Point(6.81, -12.25, 0) |
| 子の名前: | Arc_8 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 1 |
| tanLine1 | パーツ | Line_1 |
| tanLine2 | パーツ | Line_2 |
| onRight1 | ブーリアン演算 | True |
| onRight2 | ブーリアン演算 | False |
| 子の名前: | Arc_9 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 2 |
| tanLine1 | パーツ | Line_1 |
| tanLine2 | パーツ | Line_2 |
| onRight1 | ブーリアン演算 | False |
| onRight2 | ブーリアン演算 | True |
| 子の名前: | Arc_10 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 0.5 |
| tanLine1 | パーツ | Arc_8 |
| tanLine2 | パーツ | Line_1 |
| onRight1 | ブーリアン演算 | True |
| onRight2 | ブーリアン演算 | True |
| 子の名前: | Arc_11 | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | 0.5 |
| tanLine1 | パーツ | Arc_9 |
| tanLine2 | パーツ | Line_1 |
| onRight1 | ブーリアン演算 | False |
| onRight2 | ブーリアン演算 | True |

| 名前: | Arc_Ex04 | |
| Design: | acDrawingDocument | |
| [名前] | [タイプ] | 式 |
| PlateThickness | 数値 | 0.125 |
| PinRadius | 数値 | 0.125 |
| BendRadius | 数値 | 0.25 |
| PlateWidth | 数値 | 1.5 |
| 子の名前: | BottomLine | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | Me.origin |
| thruPoint2 | 点 | Me.origin + Vector(PlateThickness, 0, 0) |
| 子の名前: | PinArc | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | PinRadius |
| center | 点 | Point(PlateThickness, PlateWidth, 0) |
| startAngle | 数値 | 280 |
| endAngle | 数値 | TrimTan(Me.Child, InnerBlendArc) |
| 子の名前: | OuterArc | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | PinArc.radius + PlateThickness |
| center | 点 | PinArc.center |
| startAngle | 数値 | 280 |
| endAngle | 数値 | TrimTan(Me.Child. OuterBlendArc) |
| 子の名前: | OuterBlendArc | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | BendRadius |
| tanArc1 | パーツ | OuterArc |
| inside1 | ブーリアン演算 | False |
| onRight1 | ブーリアン演算 | False |
| tanLine1 | パーツ | LeftLine |
| onRight2 | ブーリアン演算 | True |
| endAngle | 数値 | TrimTan(Me.Child, OuterArc) |
| 子の名前: | LeftLine | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | BottomLine.startPoint |
| dirVector | ベクトル | Vector(0, 1, 0) |
| end | 数値 | TrimTan(Me.Child, OuterBlendArc) |
| 子の名前: | InnerBlendArc | |
| 子のデザイン: | :Arc | |
| [名前] | [タイプ] | 指定値 |
| 半径 | 数値 | BendRadius |
| tanLArc1 | パーツ | PinArc |
| inside1 | ブーリアン演算 | False |
| onRight1 | ブーリアン演算 | False |
| tanLine1 | パーツ | RightLine |
| onRight2 | ブーリアン演算 | True |
| endAngle | 数値 | TrimTan(Me.Child, PinArc) |
| 子の名前: | RightLine | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | OuterArc.startPoint |
| dirVector | ベクトル | Vector(0, 1, 0) |
| end | 数値 | TrimTan(Me.Child, InnerBlendArc) |
| 子の名前: | TopLine | |
| 子のデザイン: | :Line | |
| [名前] | [タイプ] | 指定値 |
| thruPoint1 | 点 | OuterArc.startPoint |
| thruPoint2 | 点 | PinArc.startPoint |