ac_bottomlevel and ac_toplevel parameters
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-16 02:41 AM
I've been using the typical parameter settings (ac_bottomlevel=0 and ac_toplevel=ZZYZX) for most of my objects, and they work all right as long as the object is confined between those parameters.
Now I'm trying to do what is displayed, in a very simple form, in the attached image. The basic explanation: two stacked cubes. The base elevation for the object, should be where both cubes meet, top and bottom should grow from this point. That's easy. The problem is that I want to show the top part in stories above and the bottom part in stories below using ac_bottomlevel and ac_toplevel.
If set as standard, the bottom part won't show unless the top part intersects the story below, which I don't want. If I set the bottom_level to be the lower part of the object, the base and top levels (in info box) start acting weird.
I did my research, read the scattered posts about these parameters, but just can't grasp the whole concept of how they are linked. I mean... I do, but there's something weird going on I can't figure out.
It was said that these parameters "
I can't set ac_bottomlevel different from 0 or "b:" will display this (plus its elevation to home story); and "t:" will display the level according to its height or ZZYZX, but still I can set ac_toplevel independently to be quite above "t:"; also, I've been struggling to use ac_bottomlevel set different from 0, as any change to b: or t: in the info box will be changed because of this difference.
What would be the correct scripting approach to this? How can I set parameters so:
ac_bottomlevel is at bottom of object
ac_toplevel is at top of object
b: reads 0 when placed in story 0 and 0 elevation
t: reads the top of the object, not its height minus bottomlevel (ZZYZX-ac_bottomlevel, as I can see)
z: (in coordinates palette) reads correct values.
thanks in advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-16 02:44 AM
Same object, 3 times, but levels and height work in different ways. ac_bottomlevel and ac_toplevel are displayed in settings dialog so I don't have to open the object every time I want to change them while debugging.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-16 03:45 PM
It seems that it should work if you decouple the model from the ac_top and ac_bottom parameters. That is, use your own parameters to drive the model and use the PARAMETERS function to force the values to the ac top and bottom pars.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-16 05:05 PM
The model (height is the issue here) is driven by ZZYZX, and its bottom and top values are passed to ac_bottomlevel and ac_toplevel using PARAMETERS command like you say, not the other way around. (should I try that though?

In the attached objects, the bottom block has its height driven by a separate parameter, as in the full model its a value that is not going to change often.
The top block might need adjustments more often, so I would like its values to be shown in the info box, but somehow the get shifted if ac_bottomlevel is not 0.
If your suggestion is to separate the model from ZZYZX, I've done that also, but it kind of defeats the purpose of using the values shown in the infobox, as I would need to use PARAMETERS to tell AC the new ZZYZX value...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-17 08:32 AM
Create your own parameters for the heights and then force the values to the ac_* parameters.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-17 03:37 PM

Using separate parameters alleviates a few issues and leaves others (such as a ghost box in a different level when moving the object). What I've found is that while ac_top is not entirely linked to other parameters (e.g. i can set ac_toplevel as high as I want the object to be shown), ac_bottomlevel is quite different, and affects other parameters height or level related.
I think it shouldn't work this way, as those two parameters are there to
In the end, IMHO, the "Show in all relevant stories" option should be 3D-model driven and fully automatic.
I'll see what I can come up with. Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-17 07:07 PM
I assume it's a legacy issue. The A and B parameters are ancient and ZZYZX is getting pretty old too. They worked fine back in the day but it seems that some of the decision made way back when are creating problems as we push the parts to do more. Although ZZYZX's inability to be mirrored through the XY plane has been a problem since day one.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-20 10:46 AM
fenék (Hungarian): posterior. (It is not a dirty word, but of course, it has many synonyms, just like in English)

AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-20 12:40 PM
laszlonagy wrote:Every day I learn something new.
FYI:
fenék (Hungarian): posterior. (It is not a dirty word, but of course, it has many synonyms, just like in English)
bT Square Peg
https://archicadstuff.blogspot.com
https://www.btsquarepeg.com
| AC INT | Win11 | Ryzen 5700 | 32 GB | RTX 3050 |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-05-20 01:00 PM
What would be the correct scripting approach to this? How can I set parameters so:
ac_bottomlevel is at bottom of object
ac_toplevel is at top of object
b: reads 0 when placed in story 0 and 0 elevation
t: reads the top of the object, not its height minus bottomlevel (ZZYZX-ac_bottomlevel, as I can see)
z: (in coordinates palette) reads correct values.
Maybe this can help you:
I´m developing a sewer shaft object. The bottom and top levels are displayed correctly on the Info box (with posibility to change that values).
Add this to Master Script:
EPS=0.00001 !-----Error checking ----------------
GLOB_ELEM_TYPE = 1 !----- element type (1= Object)
!!**** ac_bottomlevel
ac_bottomlevel = GLOB_ELEVATION + GLOB_HSTORY_ELEV
IF GLOB_ELEVATION < EPS THEN
!!**** ac_toplevel
ac_toplevel = GLOB_ELEVATION + ZZYZX + GLOB_HSTORY_ELEV
ELSE
ac_toplevel = ZZYZX + GLOB_ELEVATION + GLOB_HSTORY_ELEV
ENDIF
!------------------------------------------------------------------------------------------
IF GLOB_ELEVATION <= EPS THEN
GLOB_ELEVATION = GLOB_ELEVATION - a*2
ENDIF
!------------------------------------------------------------------------------------------