For robots to be programmed to do engineering design, they would first be fed all the code information. That is easy, but AI would need to be amazing if it were to compete with humans on design (unrelated to codes and science). We are not there yet, and likely not for 50+ years or more.
Science and the building codes provide minimal information that is helpful to solve a particular problem. This is obvious to me as a practicing engineer so I get surprised when asked by some “what do you mean the code allows flexibility”, or “how can you say the code is of little importance”, or “I don’t understand you when you agree that the code is huge in content but will never help solve 95% +of problems we face”. Allow me to explain why engineering has little to do with codes (yes the code and science portion can replace engineers - but that is a small part of us).
“But they (computers) are useless. They can only give you answers.” (P. Picasso)
There are engineers (mostly academics who think wrongly that we are applied scientists) that actually believe structural engineering is just about stress and strain - (ie. about science). Let me respond to the main question about how engineering decision making is not procedural and can not be within codes by asking another question...
What do codes say about designing a simple steel beam?
Codes tell us not exceed 0.9 Fy Z for moment checks and something else for shear and that is about it. Codes do not say anything about the following...
what is an optimum spacing of beams?
how do I weigh economy vs efficiency -in other words should I use a lot of the same beam or optimize every beam for diff spans
should I consider camber and how to evaluate cost of camber vs increase size of beam without camber
constructability - should I make sure the girder is as deep or deeper than the beam even if the girder is a small span
should I evaluate the vibration of the beam
should I allow for shear tabs instead of double clips angles at the ends to save money in the details
while I am designing a beam to girder connection of the same depth, should I verify the connection works with a double cope by doing shear rupture and block shear calcs
should I verify the studs should be a max of 1 per foot, or go to 2
should I size the beam to be not composite
how do I evaluate costs of studs, etc
do I feel comfortable with a 1" deflection even if the code allows it for this 30ft member or should I stick to my arbitrary 0.75" I made up
should I evaluate the ponding of the concrete and add additional dead load when the beam deflects
is a wide flange the best solution for this or should I consider a channel instead
I decide for this beam I am unhappy about a previous job where I cambered the beam 1" and the tolerance the fabricator is allowed increased that to 1.5" and the SC connection provided some rotational restraint at the connection, so the camber didn't come out and those damn studs were actually sticking out of the top of concrete at midspan - so I am not going to camber that much again!
I don't trust the code deflection criteria and invent my own
what is my min percent composite action or max stud per foot or min length to use camber, etc
when is it a good idea to just optimize a beam for efficiency (code stuff), if I was designing the smallest possible beam it could have 3" of camber and 4 studs per foot!
should I use ASD or LRFD, does it matter, when does it matter and how or should I stick to my old ASD 89 green book and say to hell with 2005 and omega factors
what should I use as a max live load deflection when supporting CMU or Brick walls, L/600 or L/900 or ?
why am I designing steel in the first place, should we consider concrete or wood or ??? for this beam
am I comfortable assuming this beam is braced to 1.5" metal deck (parallel) or and should I check lateral torsion bucking with the wet concrete loads
should I assume that there is a true pin at the shear connection, or is there some rotational stiffness there. If so can I get relief from not meeting the code live load deflection criteria – sure why not.
can I assume the beam is fully braced if the top flange if supporting a wood framed floor with joist hangers and how do I evaluate whether a joist hanger can brace my steel beam effectively
why did I just check shear yielding when shear yielding never ever controls the shear strength of the beam, what a waste of time but this was something I learned in school, so I will procede to check rupture, etc ,etc
do I need to check block shear of a beam web when the cope is less wide than the dist to the bolt line
what should I be optimizing when design a beam and how do I prioritize efficiency, economy, connectivity, constructability, deflection camber and stud count
etc etc
I can go on this forever! The code says nothing about these questions. So my point is - even in the design of a simple beam, the code (or computer or Robot) plays a small role! If we extend that to the infinite number of problems we face than we will see the code (programming code information) is of importance on a small fraction of problems. So again...the code helps a little but for the most part we are on our own.
Robots will take the 80% of the codes and science part of engineering soon, and already have to some extent, but not much beyond that. Humans can just decide to choose wood instead of steel and for no reason whatsoever.
Humans create the questions to answer too, not just answers to questions.