Figuring out the magic

Prompt: “Generate a thin walled sheet metal reaction vessel that is 10 feet tall supported by four square tube stilts where the cylindrical vessel has an integral flanged pipe port about 1/3 of the way up the height”

no model result, but some code was returned:

Resulting code

Create a cylindrical vessel with a height of 10 feet and thin walls

vessel = Cylinder(radius=100, height=10 * FT, thickness=1)"

Create four square tube stilts to support the vessel

stilt_height = 10 * FT
stilt_width = 10
stilt = Box(length=stilt_width, width=stilt_width, height=stilt_height)

Position the stilts at the corners of the vessel base

stilt_positions = [
(100, 100, 0),
(-100, 100, 0),
(100, -100, 0),
(-100, -100, 0)
]

Create the integral flanged pipe port about 1/3 of the way up the vessel height

flange_port_height = 10 * FT / 3
flange_port_radius = 10
flange_port = Cylinder(radius=flange_port_radius, height=flange_port_height)

Position the flanged pipe port on the vessel

flange_port_position = (0, 0, flange_port_height)

Combine all components to create the reaction vessel

reaction_vessel = vessel + sum([Translate(stilt, pos) for pos in stilt_positions]) + Translate(flange_port, flange_port_position)

Save the final object as the reaction vessel

save = reaction_vessel

(in this case markdown headline formating is the start of an in-line comment)

It seams like it is structured logically enough to return a model, but for Build123D, all the LLMs when prompted with the same thing (native neThing, GPT4, Claude3, llama2) all try to use argument ‘thickness’ for ‘Cylinder.()’ and ‘Box.()’ objects, something that I, nor the aforementioned LLMs can find as a legit function in the Build123D docs