2024-01-08 07:35 PM - last edited on 2024-09-26 01:22 PM by Doreena Deng
I'm creating a parametric curtain wall panel which should respond to width and height, but with no luck..
The panel was modeled in PARAM-O and distributes elements according to a few parameters
I saved that element as an object and changed the subtype to Curtain Wall Panel, so I can use it in a curtain wall, and in the parameter script I added a few lines so A and B dimensions are dependant of the panel:
parameters A = ac_nominalWidth
parameters B = ac_nominalHeight
What happens is the following:
In 3D, the curtain wall doesn't respond to the panel's size (that rectangle should be a single panel)
In 2D, the 'PROJECT' view ends up in the wrong plane, showing as if it was horizontal. I added a few lines to print TEXT2 to see which is the A and B values being inherited by the curtain panel. (Regarding the 2D issue, I believe I can find a workaround for it, re-programming the 2D script. The 3D behaviour worries me more)
Anyone has directions on this? Any help much appreciated!
Solved! Go to Solution.
2024-01-08 09:47 PM
Scripting panels is a daunting task. I don't think it's supported in PARAM-O.
In short: There are no classic "A" and "B" values for panels – because they could be in any shape and form!
Instead (what I did in some of my objects never intended fo be used with irregular shapes) you would need to loop over AC_FrameAxisCoords to get your minima and maxima and deduce "A" and "B" from that.
2024-01-08 09:47 PM
Scripting panels is a daunting task. I don't think it's supported in PARAM-O.
In short: There are no classic "A" and "B" values for panels – because they could be in any shape and form!
Instead (what I did in some of my objects never intended fo be used with irregular shapes) you would need to loop over AC_FrameAxisCoords to get your minima and maxima and deduce "A" and "B" from that.
2024-01-09 01:52 PM - last edited on 2024-02-06 04:23 AM by Laszlo Nagy
Thanks for your help! Let's say I was able to put something up, but not much aware of what's going on 😅
I can't fully understand how those FrameAxisCoords work, but I tinkered a bit with it. I see it's an array made up of two indexes, of size [4] and [2].
So I'm printing stuff to the 2D script to try to figure it out. Seems to me that AC_FrameAxisCoords[3][1] and AC_FrameAxisCoords[1][2] would work as my A and B dimensions (this panel is meant to be used in rectangular shapes). It's all a big guess, but I attempted to use in the Parameter script as my A and B dimensions:
They don't seem to work in the Parameter script, but using that same lines in the beginning of the 3D script worked! I had the understanding the Parameter script overrides the parameter values. Nevertheless, I achieved the result with the 3D script as I mentioned:
I just don't get why sometimes it isn't creating another panel when the scheme is shorter than the curtain wall itself.
Might be something to do with the parameters I chose kind of randomly..
2024-01-17 08:58 AM - last edited on 2024-02-06 04:23 AM by Laszlo Nagy
Hi,
AC_FrameAxisCoords contains the points of the bounding rectangle. It might not include the point [0, 0].
The scheme is shorter than the curtain wall itself: that might be caused by this curtain wall setting
2024-02-04 07:02 PM - last edited on 2024-02-06 04:23 AM by Laszlo Nagy
(responding with a fair delay here)
That fixed up the issue!
And looping through the FrameAxisCoords worked just fine, it is responding well in all situations, except curved panels, which I guess would require a more complex script in PARAM-O itself. This should be sufficient by now 🙂