Imagine I design a simple cabinet object, with simple 3D and 2D functionalities.
They include the variable of how long it is, how many doors it will have and, importantly, the angle of the side faces.
An older version of this object didn't have this last function. And one of the things we do in 2D presentation is to show how many doors the cabinet has by having dashed lines perpendicular to the face of those same doors (See fig 1)
But given how we now have this option of making angled side faces, these simple perpendicular lines cannot be scripted as lines, for I cannot know whether they'll hit the side walls at any given point or not (at least not without incredibly convoluted solutions).
So what did I think? Like a smartass I am, I thought to myself, "I'll make a fill!" I'll design these lines as a simple fill, and make the distance between the lines the distance between doors. "Imma genius", I thought.
So I scripted what follows in figure 2. Those variables control things like small distances between the cabinet side faces and the actual doors, the side of the same doors and so on. These variables are correct. The proof is that it worked! See figure 3. The dashed lines are *exactly* where they should be, and I will never have the problem of them running beyond the object in the side faces.
Except ArchiCAD is weird. And apparently, it treats fills in weird ways. So guess what happens whenever I put another equal object with different attributes in the same plan, and do a simple thing, like *panning* the view?
I get the second obejct correctly displayed and the *first* object's fill gets *also* updated according to the last object I changed (in this case, the second one). See figure 4.
Of course, this problem compounds at each new object you have in there. Apparently, Archicad treats the fills as all being the same, and according to the last script it read. So what is the solution here? Anyone give me a hand here? I've tried several things, like for instance trying to script a general fill and then change it within the POLY2 command, but I've been unable so far to do it, because I'm a n00b or whatever.
Help?