%  platform  category

Calculated property descriptions (tobogan slide from floor to floor)

For one of our customers we solved a problem of dynamic labels for the drawing content. Although this was a different, more professional application, let's look at a similar problem with the labeling of the tubes of a tobogan water slide leading from one floor of one building to another floor of another building.

You can see an example of the result, generated labels like "tobogan tube leads from floor X to floor Y", at the beginning of the video tutorial. Basically, we need to display the recalculated Y-coordinate value of the start and end points of the selected spline curve or 3D pipe. There are several sub-problems that arise in the solution of the main task:

1. How to associatively relate the shape of the 3D sweep object to the shape of the control spline curve (because 3D objects have no "ends"). Here we need to use the Surface mode in the SWEEP command, because in the default Solid mode the original curve disappears.
2. How to get the coordinates of the start and end point of the spline curve in the Field dialog - they are not offered in the property list. We can help here by copying the field expression for the selected object (use the tangent value, for example) and then modifying the property code to the desired start (StartPoint) or end (EndPoint) point - so we basically use just the ObjId from the original field code. You can then insert the text of the semi-manual field into the standard TEXT command. In the field formatting options, we choose a decimal precision of 0 (%pr0, for subsequent recalculation of the floor number) and of course only the Y-component of this coordinate, i.e. %pt2.

An example of such text field code:

%< \AcObjProp Object(%< \_ObjId 2550833060576>%).Startpoint \f "%lu2%pt2%pr0">%

3. But displaying the Y-coordinate is not enough, we need to convert it to a floor number. To do this, we just need to use a combined field of the type Expression, containing a reference to the original property field (Y-coordinate, we can insert our manually created field code here), divided by the numeric value of the floor height. For correct rounding (number of decimal places=0), we will correct it by half a floor.
4. Finally, we'll assemble the label from several DText objects, or use MText with embedded calculated fields.

Video demonstration:

 See also: Tip 13788: Green square - mathematical charade and parametric constraints in AutoCAD. Tip 13712: Why do I have an inactive "thousands separator" item in AutoCAD text field formatting? Tip 13599: How to read iProperties from Inventor models and drawings in AutoCAD DWGs? Tip 13587: Dynamic label of 3D coordinates. Tip 13550: Text with automatic label of the layer it lies in.