I don't understand your note about control of reference line. What did you mean?
kzaremba, i meant that i couldn't (figure out) how to control from grasshopper the reference line location of the wall from Grasshopper. Is always using the input curve as the wall center line. Even changing the default settings for walls. see Figure 01
Have you tried this script on a large amount of walls?
I have tried now with 1000 walls, and it takes aprox. 700 ms the total process. 90% of the time spent by "wall parameter" component see Figure 02
On the other hand, my script was made only with the intention of to demonstrate how to use a simple conditional logic. Now I render that is quite absurd to take an existing wall, modify some of its properties, and then regenerate it to ArchiCAD, because at ArchiCAD side I finish with two (almost) identical wall which, in general, is quite a silly workflow. It would make much more sense to override properties of the existing wall. I guess that JGoode has also noticed this ; )
https://discourse.mcneel.com/t/input-properties-back-into-archicad-wall/66167
https://archicad-talk.graphisoft.com/viewtopic.php?f=43&t=61535
afaik, this is not possible. Seems that the bidirectional workflow proposed by the developers doesn't contemplate this possibility. They maybe have good reasons for this (a door for infinite loops?)
As kzaremba has pointed, the new AC22 Expressions seems a smart way to conditionally assign properties.