Within the Foundation Library, there are two special “Hidden Prompt” structures used for products that are extruded along a polyline path. They create a two-way means of communication between the spreadsheet and “AutoCAD”. Since polylines can consist of multiple segments of straight and curved lines, it is often necessary to find the point where two segments intersect when the polyline is offset by a certain amount to the left or the right of the original polyline. Since calculating these points is fairly complex, Microvellum has devised a mechanism to provide the information to the spreadsheet. The user can then use the values passed to the spreadsheet to place parts and machining in the product being designed.
Offset_X
Fig. 01: Offset_X within the Design Data.- The first “Hidden Prompt” structure is called “Offset_x”, with x being an incremental number that allows you to use more than one “Offset_” prompt. The value of “Offset_x” is the offset distance from the polyline path that you are looking for. Use a positive number for a left offset and a negative number for a right offset.
- There are four more “Prompts” required to complete the “Offset_” structure:
- LX_x
- LY_x
- RX_x
- RY_x
- “X” is an incremental number that allows you to use more than one “Offset_” prompt. LX_ is the left point in X, and LY_ is the left point in Y. RX_ is the right point in X, and RY_ is the right point in Y.
- For example, the user may need to know the points for each polyline segment where the polyline is offset 12” to the left and 6” to the right. These points are needed to place a transaction top on a die panel. The transaction top must overhang the polyline 12” on the customer side and 6” on the employee side. The first transaction top must overhang the polyline 12” on the customer side and 6” on the employee side. The first “Offset_” structure would contain these “Hidden Prompt” names:
- Offset_1
- LX_1
- LY_1
- RX_1
- RY_1
- The value of Offset_1 would be 12. When the user picks the polyline, the program will look at the “Hidden Prompts” in an attempt to find an Offset_1 prompt. In this example, it will find one prompt and will then populate the values of the remaining four “Prompts” with numbers representing the coordinates to offset each polyline segment 12” to the left.
- The second “Offset_” structure would contain these “Hidden Prompt” names:
- Offset_2
- LX_2
- LY_2
- RX_2
- RY_2
- The value of Offset_2 would be -6. After the program finds the Offset_1 prompt and returns the coordinates to the corresponding spreadsheet cells, it will continue to look through the “Hidden Prompts”.
- Next, the program will look for an Offset_2 prompt since it already found the Offset_1 prompt. In this example, the program will find the Offset_2 prompt and will then populate the values of the remaining four “Prompts” with numbers representing the coordinates to offset each polyline segment 6” to the right.
CurvedPart_X
Fig. 02: CurvedPart_X within the Design Data of a product.- The second “Hidden Prompt” structure is called “CurvedPart_x”, with x being an incremental number that allows you to use more than one “CurvedPart_prompt”. As the name implies, this prompt facilitates the task of drawing a part containing a routing path to make it a curved part. Die wall plates and countertop decks are two examples of where you might use this prompt structure. The value of “CurvedPart_x” consists of two numbers, separated by either a pipe or a comma. The two numbers represent two offset points from the polyline path. Use a positive number for a left offset and a negative number for a right offset.
- There are 18 more “Prompts” required to complete the “CurvedPart__” structure:
- LXA_x
- LYA_x
- RXA_x
- RYA_x
- LXB_x
- LYB_x
- RXB_x
- RYB_x
- BULGEA_x
- BULGEB_x
- PANELWIDTH_x
- PANELLENGTH_x
- BASEPOINTX_x
- BASEPOINTY_x
- LEFTANGLE_x
- RIGHTANGLE_x
- CENTERPOINTX_x
- CENTERPOINTY_x
- "X” is an incremental number that allows you to use more than one “CurvedPart_prompt”. The first eight “Prompts” provide the same coordinate information described in the “Offset_” prompt structure. There are 4 points in space required to define the routing path for the curved part, thus eight values are provided. The next two “Prompts” provide the inside and outside bulges for the routing path. These values can be passed to a PLINE machining token to create a tool path. Next are the coordinates needed to place the rectangular part. Pass these points to the “X Origin” and “Y Origin” columns of the spreadsheet.
- The final four values may not be needed but are passed in case you need them because calculating them yourself requires a number of complex spreadsheet formulas. These values provide the left and right angles of the curved part and the center point of the radius.
- Microvellum has several products that utilize these prompt structures. These products are located in the “Extruded Die Walls” and “Extruded Counter Top” category folders of the library. You are invited to look at these products to see how these “Prompts” structures have been implemented.
New Hidden Prompts
Fig. 3: The 3 new hidden prompts in the Design Data.- As of Toolbox Build 24.1.0416, three new hidden prompts have been added to improve the functionality of the Extruded Library Products. Previously, certain polyline shapes did not always generate the correct vector point data that populates into the product workbooks. By adding three new additional hidden prompts, this will trigger an improved set of data that gets populated into the product workbooks. Also, with the presence of these three new hidden prompts, the data will get repopulated again after subsequent prompting and changing of other values such as the product depth. Previously, once the product was extruded along a polyline, the hidden values were static. With these changes, our extruded products can be developed to be much more dynamic, responding to prompt changes such as depth and regenerate the correct polyline vectors the product needs. The three new prompts are:
- PLINEINDEX
- ORIGINALPLINEVECTORS
- ORIGINALPLINEBULGE
PlineIndex is an integer value automatically populated by Microvellum when an Extruded Product is drawn along a polyline.
The variable identifies which polyline point/segment the current product instance was created from. Since one product is generated for each lot of polyline vectors, PlineIndex lets you know the product’s position within the overall polyline run (start, middle, end).
You can reference PlineIndex in formulas to apply different behavior depending on location in the run—for example, treating the first and last product differently from the middle products.
ORIGINALPLINEVECTORS
OriginalPlineVectors is a stored set of the original vector points (“lot of vectors”) from the polyline segment that the product was drawn from. It is automatically captured by Microvellum during the initial drawing process.
This variable preserves the baseline geometry of the polyline segment so Microvellum (and your formulas) can recalculate the product correctly after changes are applied. When depth is modified or the product is offset from the polyline, the system needs a reliable reference to:
- Calculate the new depth relative to the original path.
- Reposition the extrusion correctly.
- Rebuild segment vectors from the original intent.
Without this stored data, post-draw depth edits and offsets weren’t possible.
ORIGINALPLINEBULGES
OriginalPlineBulges stores the original bulge values for the polyline segment the product was created from. Bulges define curvature for arc segments in a polyline. These values are also automatically captured by Microvellum during the initial drawing process.
This variable preserves the original curved geometry so the system can accurately recalculate arcs when the product is edited. For curved polylines, depth and offset changes require arc recalculation. OriginalPlineBulges provides the curvature baseline needed to:
- Maintain correct arc direction and shape.
- Compute updated radii/offset arcs.
- Rebuild curved segments consistently after edits.