cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Newbie needs help with editable Hotspots.

Anonymous
Not applicable
Though it seems like I'm here reading posts every day, this is my first attempt. I'm creating template to place behind my schedules that it displays the proper headings, since I couldn't make the "IS" look exactly the way I wanted. I need to be able to stretch these to match what is generated from the "IS". All my attempts to create editable hotspots have failed. I've read all I can find on the subject, but it's not working. The colored hotspots show up correctly, the pet palette pops up and when I select the stretch option the display parameter displays the correct dimension, but when I click OK nothing changes. My "X" variable is forced to = a specified length in my master script. Is this causing my problem? I hope I've given enough information.

!2D Script!
unID = 1
HOTSPOT2 -0'-1.0", 0'-1.0", unID, X, 3 :unID=unID+1 !REF!
HOTSPOT2 0'-0.0", 0'-1.0", unID, X, 1+256 :unID=unID+1 !BASE!
HOTSPOT2 X, 0'-1.0", unID, X, 2 :unID=unID+1 !MOVE!

HOTSPOT2 -0'-1.0", 0'-0.5", unID, X, 3 :unID=unID+1 !REF!
HOTSPOT2 0'-0.0", 0'-0.5", unID, X, 1+256 :unID=unID+1 !BASE!
HOTSPOT2 X, 0'-0.5", unID, X, 2 :unID=unID+1 !MOVE!

HOTSPOT2 -0'-1.0", 0'-0.0", unID, X, 3 :unID=unID+1 !REF!
HOTSPOT2 0'-0.0", 0'-0.0", unID, X, 1+256 :unID=unID+1 !BASE!
HOTSPOT2 X, 0'-0.0", unID, X, 2 :unID=unID+1 !MOVE!

HOTSPOT2 -0'-1.0", -B+1", unID, X, 3 :unID=unID+1 !REF!
HOTSPOT2 0'-0.0", -B+1", unID, X, 1+256 :unID=unID+1 !BASE!
HOTSPOT2 X, -B+1", unID, X, 2 :unID=unID+1 !MOVE!

!Master Script!
IF TYPE="Beam" THEN
A= 1'-6 61/64"
B= 4 33/64"
X= A
ENDIF





I also attached these images. I need to learn more about inserting images into this topic window.
Thanks
5 REPLIES 5
Karl Ottenstein
Moderator
Hi Paul,

Each editable hotspot should correspond to a single parameter.

As an example of what you're trying to do - adjustable column widths (I think?) - take a look at DET_Detailer_Template 10 in the US library here:

Object Library 10.lcf > 01 Genearl 10 > Detailer Library 10 > Symbols 10

There are two editable hotspots at the top which let you stretch the widths of the dimension and notes columns. (Another editable hotspot at the top right lets you stretch the entire template in integral multiples as described in the Detailer help file.)

The hotspot code is at the bottom of the 2D script (and in the parameter script).

The code there is a little trickier than usual because the object was designed prior to AC 10 for placing on a plan, section or detail window and for stretch feedback to be given in print units, rather than model units. So, there are some fake parameters to allow the user to see feedback in paper-space inches (if you will) vs whatever the current model units might be.

Hope that helps.

Karl
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Forcing the value of X in the master pretty much defeats the purpose of the dynamic hotspots (as I prefer to call them). As Karl points out it is also unusual (though it can work just fine) to have multiple hotspots refer to the same parameter.

I suggest you start with a simpler test part to get the hang of it first (even just a line or box or bit of moveable text with a leader). I usually do this with any function that I am figuring out for the first time, as the interactions in a complex part can be baffling enough with functions I know inside out.
Anonymous
Not applicable
Thanks Karl,
I think I got it figured out! I had my script backwards. I was telling my "X" variable (schedule width) to equal the default "A" width. What I needed to do was to tell the defaut "A" width to equal my "X" variable width. I was sort of suprised that I had to create a new variable "X" to be edited by the hotspot and make it equal the default "A" variable. I was wanting to just use the default "A" varible created by Archicad in my hotspot script.

Thanks,
Paul
Anonymous
Not applicable
Paul wrote:
I was wanting to just use the default "A" varible created by Archicad in my hotspot script.
You can modify "A" and "B" directly with dynamic hotspots. Just specify them in the Hotspot or Hotspot2 statement. For example:
Hotspot2 0, 0, unID, A, 1 : unID = unID+1
Hotspot2 A, 0, unID, A, 2 : unID = unID+1
Hotspot2 -1, 0, unID, A, 3 : unID = unID+1
Anonymous
Not applicable
Matthew,
For some reason when I try to change the A & B values with my dynamic hotspots, nothing stretches, but when I make a new parameter with a variable that = A or B, it works perfect. I will try this more in the future. I feel much more comfortable with dynamic hotspots now, thanks to all the help from the forum.
Thanks,
Paul