Each of these sections is described in more detail further on in this section.
Id Strings
Everything in the RecipeSpec that needs to be identifiable programmatically has an idStr attribute. The idStr value
should never change and should be unique within the file (or at least within a given element type). The Rcp function
will be expecting ID strings with certain values, so when writing a RecipeSpec, you need to know the implied contract
from the Rcp function.
NOTE One way to find out the implied contract of the Rcp function is to turn on logging. For more information, see
Logging" on page 2165.
Display Strings
Elements with the tag <Label> or <Description> are intended to be translated. These will be displayed in the Properties
palette and other user interface constructs, but will never be used to refer to anything and will never be referenced
from the code (that is the job of the idStr).
References
Within the Recipe Spec, the value of an item appears between the element tags. It is taken as a literal value unless the
ref attribute is specified. In this case, the value between the element tags is considered a lookup value and is used to
retrieve the actual value.
ref [Optional]
Specifies that the value between the element tags is to be used as a lookup key. It can have one of the following values:
layerKey
dbTable
control
NOTE The layerKey reference type is only valid within the element <Layer>.
The dbTable reference will use the value as the column name within the size table for the current component. Consider
the following two examples.
<Data>
<Item idStr="block">
<AcadBlockProps>
<BlockName dwgLib="dwgs/AecDtlLib_BlockTest.dwg">Jimbo</BlockName>
<Scale>6.0</Scale>
</AcadBlockProps>
<AcadEntityProps>
<Layer>DOOR</Layer>
</AcadEntityProps>
</Item>
</Data>
In the first case, the <Scale> and <Layer> values have been specified literally. This component, regardless of what row
was selected in the database, will have a scale factor of 6.0. Likewise, regardless of what Layer Key style is current within
AutoCAD Architecture, this component will go on the DOOR layer (not the layer assigned to the LayerKey DOOR").
<Data>
<Item idStr="block">
<AcadBlockProps>
<BlockName dwgLib="dwgs/AecDtlLib_BlockTest.dwg">Jimbo</BlockName>
<Scale ref="dbTable">SCALE</Scale>
</AcadBlockProps>
<AcadEntityProps>
<Layer ref="layerKey">DOOR</Layer>
</AcadEntityProps>
</Item>
</Data>
(AutoCAD Architecture LayerKey)
(Column in the table from component database)
(idStr of a <Control>)
Recipe
Recipe Specifications | 2151
Need help?
Do you have a question about the 24108-051400-9000 - AutoCAD Revit Architecture Suite 2008 and is the answer not in the manual?