Skip to main content

Overview: Passing Prompt Information Between Workbooks (Subassembly)

J
Written by Jordan Munoz

Microvellum software has the ability to pass custom information from the L! workbook (local prompts) to the S! workbook (subassemblies). Without that ability, the number of prompts is greater, and the complexity of formulas increases. When the formula complexity increases, it often becomes necessary to create a lookup table. These complex formulas and lookup tables result in products that are less intuitive and more difficult to maintain. This change simplifies the data and improves the flexibility of utilizing prompts for various purposes.

Think of your library data existing in several layers. The top layer is the parent product with its prompts, the second level is the parent subassembly with its prompts, and the third level is the child or nested subassembly with its prompts. Use this enhanced ability to pass prompt values between layers anywhere you need to avoid redundancy and complexity by ‘reusing’ upper-level prompt values in lower levels of the library data structure.

It makes it possible to have a single subassembly that can be used across different libraries (e.g., frameless and face frame). The beauty lies in the fact that the product contains an expression or formula that overwrites the target subassembly prompt value. In contrast, the basic subassembly remains the same between multiple library types.

To make this possible, the program contains a column in the Subassemblies tab of Edit Design Data named “Prompt Values,” or in the Parts List interface - spreadsheet column number 43 on sheet 3. The expression or formula in that cell defines the data that is passed to the prompts for that subassembly.

For example, you may want to set the door swings on two “Base Single Door” subassemblies to match the swing specified by the product level bay swing prompts. Previously this was accomplished with the use of formulas and lookup tables, but those formulas ultimately limited what could be done and sometimes resulted in very complex formulas that were difficult to maintain and diagnose. The complex formulas may now be replaced with prompts data passed to the subassembly from the parent product.

Data Definition Format Requirements

The format for the expression in the Prompt Values column of the Subassemblies tab that defines the data passed is as follows: PROMPT_NAME;PROMPT_VALUE|PROMPT_NAME;PROMPT_VALUE

PROMPT_NAME is the subassembly prompt name that will receive the data passed. It must be the same name, in the same format, as the subassembly prompt name that is will modify. The program looks for a subassembly prompt named the same as the PROMPT_NAME parameter defined here. When it finds that name, it populates it with the value defined in the second parameter (PROMPT_VALUE).

PROMPT_VALUE is the value that you want to be passed to the subassembly. It may be a hard value or the value linked to a defined name. When the program finds a subassembly prompt named identically to the name defined in the PROMPT_NAME parameter described above, this value is populated to that prompt.

Enter the prompt name and the value you want to set for that prompt separated by a semi-colon. If needed, you may add a second or third name/value pair. Separate multiple prompt data to pass to the S! workbook with a pipe symbol. Concatenate or attach the various parts of the formula with an ampersand character.


You may also configure subassembly prompts that do not exist at the parent product level. Figure 1 contains an example of this (Lock_Door). It illustrates a data definition expression or formula containing defined name values, hard values, pipe delimiter characters, and the ampersand character.

Figure 2 contains an example of defined names, pipe delimiter characters, and the ampersand character, but no hard values.

Fig. 1

Fig. 2

This same expression format also works when passing information from the S! workbook (subassembly) to the N! workbook (nested subassembly). In that case, all the information above, referring to the parent product prompts, would now refer to the parent subassembly prompts, and all the information referring to the first level of subassembly would now refer to the second level or child (nested) subassembly.

Comparison of Methods

As stated above, this new method of passing data between workbooks significantly simplifies the library data structure. For example, it makes it possible to bypass VLOOKUP tables in many cases. See the figures below to see how this is possible.

Figures 3 & 4 show the previous method of setting the door swing of a Base Single Door subassembly. It involved the use of a VLOOKUP table, acting as an intermediary between the product prompt and the subassembly prompt. This example illustrates a simple lookup table, but the same principle holds true for more complex lookup tables.

Fig. 3

Notice that the value of the subassembly prompt Left_Swing is shown in red, meaning that it is an evaluated formula. Verify that by looking at the VLOOKUP function in the formula bar.

Fig. 4

Figure 5 shows a new method for setting the door swing of a Base Single Door subassembly. It eliminates the complexity of the lookup table in favor of a simple formula to pass the data through to the subassembly prompts.

Fig. 5

Notice that the value of the subassembly prompt Left_Swing is now shown in black, meaning that it is a hard value. Verify that by looking at the formula bar where the parent product prompt value has been populated.

Did this answer your question?