BaseDesign

概要

この design インスタンス化可能な design を作成するのに必要な rules の最小セットが含まれています。 直接インスタンス化する新しい design は、最小値として BaseDesign を含める必要があります。 直接インスタンス化することが意図されていない Mixin designs 、 BaseDesign を含める必要がありません。 ただし、これらをミックスするには、 design 最終的に BaseDesign を含める必要があります。 BaseDesign のみをミックスして BasePart は通常は Intent によって表示できません。 Designs 追加またはすべて rules designs をグローバルに変更するには、BaseDesignModifier design オーバーライドすることができます。 design [オーバーライドは、BaseDesignModifier という名前の新しい design を作成し、プロジェクト ライブラリまたはカーネル ライブラリよりも優先される別のライブラリに配置することで実行できます。 新しい rules [この design に追加することができます。

Mixin

BaseDesignModifier

[パラメータ]

Name [タイプ] 説明
givenName any パーツ参照に使用する代替名です。指定する場合、givenName はすべての兄弟間で一意である必要があります。GivenName は名前または string として指定することができ、アセンブリ ツリー内の DisplayName も提供されていない()が表示されます。
注: givenName でパーツを参照するために、EnableHasChildNamed を 1 に設定する必要があります。
displayName string パーツの名前は、アセンブリ ツリーに実際に表示されます。この名前は参照で代替名として使用することはできません。既定は partName です。

ルール

Name [タイプ] 説明
self part design part を提供します。
children list を返し、階層の下のレベルを表す parts list をクリックします。 この rule children() 関数は、必要に応じて、を使用して、高レベルのデザインによって上書きされる可能性があります。
isNull? boolean を返します。 これは NullDesign のインスタンスである場合は True をクリックします。
refChain string を返します。 part への参照チェーンを選択します。
ruleName name part name を戻します。 これは、givenName または DisplayName が指定される場合はアセンブリ ツリーに表示される name と異なる場合があります。
designName name パーツのデザインの Name をクリックします。 この関数は、階層内の最上位のデザインは、Mixin designs を返します。
partParameters list を返し、指定されたパラメータの名前を list に変更します。
first? boolean を返します。 これは child list の最後のメンバである場合は True をクリックします。
childListLength integer を返し、 child list 内のメンバーの数です。 child A child list のメンバーでない場合は、 NoValue が返されます。
isChildListMember? boolean を返します。 これは child list のメンバの場合は True をクリックします。
last? boolean を返します。 これは child list の最後のメンバである場合は True をクリックします。
first part child list の最初のメンバです。 パーツ child list のメンバでない場合、 NoValue が返されます。
previous part child list (例: child.index - 1)の前のメンバを選択します。 NoValue が返され、パーツ child list 、 または現在の child のメンバーでない場合は、 child list の最初のメンバです。
cyclicPrevious part を返し、 child list の前のメンバを選択します。 現在の子が child list の最後のメンバが返された child list の最初のメンバである場合があります。 part A child list のメンバーでない場合は、 NoValue が返されます。
cyclicNext part を返します。 child list の次のメンバを選択します。 現在の child child list の最初のメンバが返され、 child list の最後のメンバである場合があります。 パーツ child list のメンバでない場合、 NoValue が返されます。
next part child list (例: child.index + 1)の次のメンバを選択します。 NoValue が返され、パーツ child list 、 または現在の child のメンバーでない場合は、 child list の最後のメンバです。
last part child list の最後のメンバです。 part A child list のメンバーでない場合は、 NoValue が返されます。

メソッド

hasRule?( ruleName As Name ) As Boolean
この design rule ruleName という名前であるかどうかを確認するには、この方法を使用します。
チェックと 
design
、 ruleName の 
rule
 が評価されたかどうかを確認するには、この方法を使用します。isBound?( ruleName As Name ) As Boolean
それに混合 
design
 このパーツの 
design
、designName したかどうかを判断するには、この方法を使用します。isKindOf?( designName As Name ) As Boolean
safeRef(ruleName As Any, Optional onErrorValue As Any = NoValue) As Any
を使用して ruleName を安全に参照するには、このメソッドを使用します。 エラーがある場合は、既定で NoValue onErrorValue が返されます。
安全に ruleName という名前のメソッドを参照するには、この方法を使用します。safeRefMethod(ruleName As Any, args As List, Optional onErrorValue As Any = NoValue) As Any
引数 list の順序で引数を渡します。 エラーがある場合は、既定で NoValue onErrorValue が返されます。

例 1

Name : BaseDesign_Ex01
Design : acDrawingDocument
[名前] [タイプ]
cost number
If me.isBound?(:costCalculated) Then 
	 costCalculated 
Else 
  costEstimated 
End If
costEstimated 5.0
costCalculated 5.17

例 2

テキスト ファイルにパーツ パラメータを書き込みます。

Name : BaseDesign_Ex02
Design : acDrawingDocument
[名前] [タイプ]
childParams any
Dim f As User = openFile("C:\My Documents\Child part parameters.txt", :Write)
Write("Child part parameters:" & newline(), f) 
For Each prt In children 
  Write(" " & prt.designName & newline(), f) 
		Dim params As List = prt.partParameters 
		For Each param In params 
				Dim val As String = stringValue(ref(prt,param)) 
				Write(" " & param & " = " & val & newline(), f) 
		Next param 
Next prt 
closeFile(f)
Child Name : block_1
Child Design : :Block
[名前] [タイプ] 指定値
height number 42
length number 16
width number 10
v000 point Point(0.0, 0.0, 0.0)
Child Name : block_2
Child Design : :Block
[名前] [タイプ] 指定値
height number 42
length number 16
width number 10
v000 point Point(12.0, 2.0, 0.0)
Child Name : block_3
Child Design : :Block
[名前] [タイプ] 指定値
height number 42
length number 16
width number 10
v000 point Point(24.0, 4.0, 0.0)