<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Documentation Guidelines</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic3" id="xps10_pagetitle">Documentation Guidelines</div>
      <hr noshade="true"><a name="ndxgenid_checkmate171"></a><p class="para_topic">The DFA file must be well documented. It should be grammatically and logically correct in all respects. &nbsp;Remember that the documentation for your functionality is extracted from the DFA files directly using a script. Therefore, please provide the maximum clarity of description of each checker to the end user. Adding a full description of input parameters, attributes, cross referencing links in a See Also section and at least one example is required. The following section describes in detail the documentation required for each sub-section in a file. &nbsp;All comments must be enclosed within #+ and #- comment markers. Ensure that no Knowledge Fusion code is included within these markers. </p><a name="ndxgenid_checkmate172"></a><div class="title_division">File Description</div>
      <p class="para_division">The DFA file must contain a File Description section. Document the class and specify whether other classes can use this class. If the DFA file contains functions, describe the module that uses these functions.</p><a name="ndxgenid_checkmate173"></a><div class="title_division">Parameter and Attribute Description</div>
      <p class="para_division">All Parameters must be adequately documented to describe their use. Describe whether it is canonical and default values, if any. If you are using &quot;Name&quot; data types, then describe all the possible names the variable can accept in a comment block above this attribute definition. This description is then visible in the Add Child Rule dialog. All other internal Attributes may be documented for future reference and maintenance. For example:</p>
      <p class="para_division">#+</p>
      <p class="para_division">Perform boolean operation type. Default is Unite. Possible names are</p>
      <p class="para_division">Unite;</p>
      <p class="para_division">Subtract;</p>
      <p class="para_division">Intersect;</p>
      <p class="para_division">#-</p>
      <p class="para_division">(Parameter Name) Operation: Unite</p><a name="ndxgenid_checkmate174"></a><div class="title_division">Method and Description</div>
      <p class="para_division">All Methods and Functions must contain a description of itself. Describe in detail the Method and Function arguments, the expected Datatype and all optional arguments, if any. The optional argument description must contain the default and the resultant action when used with this default. The Return data type must be defined in the Method or Function Description section. For example:</p>
      <p class="para_division">#+</p>
      <p class="para_division">----------------------------------------------------------------------------</p>
      <p class="para_division">This function returns the feature output, given a feature.</p>
      <p class="para_division">(Any) object - Object can be a hostpointer or instance of a feature.</p>
      <p class="para_division">(List) Types - An optional list of object types to be searched. The object types supported are:</p>
      <p class="para_division">&nbsp;&nbsp;( ug_face, ug_edge )</p>
      <p class="para_division">Return: (List) - A list of the Instance(s) or hostpointer(s) of the NX object(s).</p>
      <p class="para_division">&nbsp;&nbsp;An Instance name to the NX object if it is adopted.</p>
      <p class="para_division">&nbsp;&nbsp;A pointer to the NX object if it is not adopted.</p>
      <p class="para_division">&nbsp;&nbsp;Empty list if not found.</p>
      <p class="para_division">----------------------------------------------------------------------------</p>
      <p class="para_division">#-</p>
      <p class="para_division">Defun: ug_container_askFeatureOutput(Any $object, List ($types; {}))</p>
      <p class="para_division">&nbsp;&nbsp;@{ CFunc(&quot;KF_container_ask_feature_output&quot;, &quot;kfmodl&quot;); } List;</p>
   </body>
</html>