This is the process I used to find out how the annotation Instrument Balloons function works:
- started by opening tools->customize->interface to find the function name for the menu button “Instrument Balloons…”. I found the function “AT_Annot_InstrBubble” was accociated with the menu button.
- After searching for the function I found it in C:\ProgramData\Bentley\Plant V8i\elect\at_elect.mnl, which is a LISP file, the function was contained within lines such as “Line 473: (defun c:AT_Annot_InstrBubble_T1 () (at_Piping_annotateComponent “InstrumentBubble_T1″) (princ))”.
- By searching for “InstrumentBubble_T1” I was able to find the file annotate.ini under C:\Program Files (x86)\Bentley\Plant V8i\Config\metric\piping (metric is unit system your drawings are set in, can also be imperial or mmetric), this ini file contained the classes for “InstrumentBubble_T1”
- the only line that contains a function call is the “textFunction = at_Component_annotateInstrumentBubble”, there are 2 files that contain this function. The first is Annotate.ebs, this has the function definition of at_Component_annotateInstrumentBubble and other annotate functions. The second file is methodes.ini under C:\Program Files (x86)\Bentley\Plant V8i\Modules\Base. The methods.ini file shows that at_Component_annotateInstrumentBubble is related to the Ann_InstrumentBubble_Method, which is part of the overall base commponents method.
- To find which sub methodes are used I went into the respective files and in each function I placed a message box outputing the function name. Running the desired function I determined that 2 functions from this method were called, then other functions I haven’t been able to Identify run afterwords (these functions are not part of the Base_Component_Method). The functions that I can identify create the first dialog box, the functions that run after the dialog box open a second dialog box then draw the annotation.
- Base_Component_Method acts as the method key for the parent class of each module such as HVAC or CableT.There are no functions in this method key that contain a draw function or call a draw function.