ArcMixin

概要

このデザインはジオメトリを定義しませんが、円弧ジオメトリを持つパーツを拘束するために使用されるすべてのルールメソッドを含んでいます。

Mixin

ArcMixinModifier

標準

Name [タイプ] 説明
半径 数値 円弧の半径です。

[パラメータ]

Name [タイプ] 説明
startAngle 数値 ローカル X 軸から円弧の始点までの角度です。値は -360 ~ 360 度の範囲で設定することができます。
endAngle 数値 ローカル X 軸から円弧の終点までの角度です。値は -360 ~ 360 度の範囲で設定することができ、startAngle より大きくする必要はありません。
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 [タイプ] 説明
円弧 数値 startAngle から endAngle までの、円弧の角度の絶対値です。
endPoint 円弧の endAngle のです。 
startPoint 円弧の startAngle のです。
midPoint startAngle と endAngle の間の円弧上のです。
protocols 文字列  
法線 ベクトル 円弧の法線ベクトルです。これは、常にローカル フレームの z 軸です。
curveStartParam 数値 円弧曲線の開始パラメータです。値は startAngle です。
curveStartParamName name 曲線開始パラメータの名前です。値は:startAngle です。
curveEndParam 数値 円弧曲線の終了パラメータです。値は endAngle です。
curveEndParamName name 曲線終了パラメータの名前です。値は:endAngle です。
curveClosed? ブーリアン演算  

メソッド

curveParamNearPoint( p As Point ) As Number
入力点 p に最も近い曲線上のを持つ角度を見つけます。

グループ ルール

<diameter> 入力直径から半径を計算します。

<center> 親フレームから円弧のローカル フレームを作成し、この中心に配置します。

<startVector topdir> startVector および topdir からローカル フレームを計算します。

<tanLine1 tanLine2 onRight1 onRight2> 円弧が 2 つの線分に接している場合、円弧の位置を計算します。

<tanArc1 tanArc2 inside1 inside2 onRight1> 円弧が 2 つの円弧に接するように拘束されている場合、円弧の位置を計算します。

<center inside1 tanArc1> 円弧が円弧に接するように拘束され、指定された中心を持つ場合、円弧の半径を計算します。

<center tanLine1> 円弧が線分に接するように拘束され、指定された中心を持つ場合、円弧の半径を計算します。

<inside1 onRight1 onRight2 tanArc1 tanLine1> 円弧が線分と円弧の両方に接する場合、円弧の位置を計算します。

<thruPoint1 thruPoint2 onRight1> 円弧が 2 つのを通過するように拘束され、その中心が 2 つのを通過する線分の右または左にある場合、円弧の位置を計算します。

<thruPoint1 thruPoint2 thruPoint3> 円弧が 3 つのを通過するように拘束されている場合、円弧の半径と位置を計算します。

<thruPoint1 tanLine1 onRight1> 円弧が線分に接するように拘束され、1 つのを通過する場合、円弧の位置を計算します。

例 1

名前: arcMixin_Ex01
Design: ArcMixin acDrawingDocument
[名前] [タイプ]
od 数値 2
ID 数値 0.8 * od
endAngle 数値 15
半径 数値 1.5
子の名前: outer_circle
子のデザイン: :Arc
[名前] [タイプ] 指定値
center startPoint
diameter 数値 od
topdir ベクトル RotateVector(Vector(0, -1, 0), startAngle, Vector(0, 0, 1))
startVector ベクトル RotateVector(Vector(1, 0, 0), startAngle, Vector(0, 0, 1))
子の名前: outer_solid
子のデザイン: :RevolvedSolid
[名前] [タイプ] 指定値
角度 数値 abs(endAngle - startAngle)
曲線 list {outer_circle}
direction ベクトル topdir
原点 center
子の名前: inner_circle
子のデザイン: :Arc
[名前] [タイプ] 指定値
center outer_circle.center
diameter 数値 ID
topdir ベクトル outer_circle.topdir
startVector ベクトル outer_circle.startVector
子の名前: inner_solid
子のデザイン: :RevolvedSolid
[名前] [タイプ] 指定値
角度 数値 outer_solid.angle
曲線 list {inner_circle}
direction ベクトル topdir
原点 center
子の名前: result
子のデザイン: :BooleanSolid
[名前] [タイプ] 指定値
components list {outer_solid, inner_solid}
operation name :Difference

例 2

名前: arcMixin_Ex02
Design: acDrawingDocument
[名前] [タイプ]
od 数値 2.0
ID 数値 1.5
子の名前: elbow_1
子のデザイン: :arcMixin_Ex01
[名前] [タイプ] 指定値
ID 数値 ID
od 数値 od
endAngle 数値 60
半径 数値 5
center Point(0, 0, Child.radius)
ReferenceFrame フレーム frameXY(Child.center, Vector(0, 0, -1), Vector(1, 0, 0))
子の名前: elbow_2
子のデザイン: :arcMixin_Ex01
[名前] [タイプ] 指定値
ID 数値 ID
od 数値 od
endAngle 数値 180
半径 数値 2.5
center elbow_1.endPoint - (elbow_1.normal * Child.radius)
referenceFrame フレーム