Hacker News new | past | comments | ask | show | jobs | submit login

Speaking as an architect who uses other BIM software than this ‘at the coal face’, I wanted to add a bit more of a real world example onto your explanation. BIM is a system which is meant to make the notes (semantic information) that are added to the industry standard diagrams (plans, sections and elevations)[0] stay pointed at the right thing with the right information in them. It also auto generates many of the lists of components that we use.

It makes some things easier; a quick video call to the engineer with a screen share of a 3d model to ask about something makes it much easier to talk about and resolve issues. It makes other things harder; generating the industry standard diagrams that we all use to analyse information is slower than just drawing them in 2d. You get 80% of the way there a lot faster but then you have to deal with all the situations that the software designers didn’t anticipate when they designed the wall, slab, roof, door and window tools and often the only way to do this is to drop objects back to ‘dumb’ geometry and rework them. You then have to go back to manually labelling them in the 2d 'diagrams' or trying to figure out how to tag them semantically with a specially generated tag so that they show up correctly in the auto generated schedules and notes. I personally find the BIM way of working more stressful as you never know when you are going to get caught out by a software glitch that halts your production, it is a lot more unpredictable than brainlessly slogging through drawing a bunch of 2d drawings. I think these are the challenges you are referring to.

So lets say I'm writing a 'Door schedule', a list of all the doors on the project, when I started my career you would go through a project with the paper plans and type up a list in excel with all the specifications manually, now when you place a door object it is tagged with various information which you can query to auto generate this list of doors. However, the doors will have been placed in the BIM model quite early on in the process when we were just thinking about where the doors needed to be and which way they opened. We were not thinking about which manufacturer they were from, what the finishes and hardware are going to be and fire ratings etc at that stage. So to get this list to autogenerate correctly you have to go back to each door and locate the correct fields from among hundreds of others in a clunky data entry interface to enter this information to get it to query correctly and show up in your list of doors. It is database data entry consistency problem. The list of all the doors shows up instantly; 2 mins work to get a list with all this detailed information set up. 2 hours later, I've managed to figure out the tagging system to get it to list the last weird edge case on door D25. I could have typed the whole thing faster in excel, but now that the information is there, it is tagged to that door and as long as no-one duplicates it and moves it to another location the door schedule will still be correct... So every time you re-issue this schedule, you still need to go through it door by door and check against the plan to see what its specification needs to be and check if it is still correct. You can't trust the automatic door schedule to be correct in case somebody with ADHD (a lot of architects including me) forgot to check and edit all the semantic information after they made the visual change they wanted.

Separating the process of adding written information to the drawing from the process of drawing the thing has always been a problem with CAD but with BIM it is even worse because there is a greater disconnect. In my experience BIM reduces problems with geometry not being correctly thought out and things not fitting together but it increases problems with mislabelled information because there is a greater mental distance between the thing you edit and where the information eventually ends up being presented.

I'm a software minded person I have a >20k LOC python BIM customisation project I've written myself and I've coded some embedded C in the past but I struggle to get the semantic tagging to work efficiently; it is much slower than just going to the 2d output drawing and adding a dumb note. I've coded my own BIM door and window objects for my CAD package to try and streamlines this and when I can use them they way I want to it works great, but I do find myself going back and coding more features on pretty much every project I work on to allow for a situation I hadn't anticipated when I first wrote the code.

It also raises an ethical issue if you are billing hourly because how many hours of troubleshooting your own BIM software can you reasonably bill for?

BIM has the same issues as other areas where bureaucracy has been computerised into a rigid process; it is very poor at edge cases and buildings are full of these. CAD software really needs a huge investment in deep interaction design psychology and research to resolve these issues.

[0]These are never going away because the are a very efficient abstraction to use for analysis and they need a clear presentation to be readable; you wouldn't ask an electrical engineer to give up circuit diagrams in favour of a 3d model.




> You can't trust the automatic door schedule to be correct in case somebody with ADHD (a lot of architects including me) forgot to check and edit all the semantic information after they made the visual change they wanted.

Would it be useful if elements contained some kind of "confirm date" field as well as "create date" field (create date would be the time it got pasted) and likely "last modified" on objects? Or would it be unreliable due to them e.g. not really taking surrounding changes in account?


Yes and no. A full revision control system would be handy but would probably have the same issues with commit comments as in software. It could help filter stuff that has been touched but the software needs to be very intelligent about marking something as actually changed. E.g. If everything is parametrically linked should it get touched by a change? and its last modified date should bump? The visual diff could highlight a whole lot of non-relevant stuff as changed.

To your other question, yes it is possible to require a change in the specification of a door because the layout has changed elsewhere, e.g. it might need to become a 1hr fire door with a door closer because the layout of a corridor changed elsewhere and it now forms part of the protected escape route.

Solving this problem is complicated. You can't link the fire resistance of the door to the wall it is in though as it is common practice to specify 30min fire doors even where they are not needed as it is a good way to get a better quality generic heavy door without specifying a particular make and model so this parameter will be commonly overridden for reasons that are not 'semantically logical' but are eminently practical in the real world. Also the two are not necessarily related anyway because a wall might have different requirements driving its specification.

Modelling the voids not the things that contain them is one way to look at the problem. It might be possible to place a sort of virtual smoke bomb object in the corridor that will try to fill the space with virtual smoke and anything that 'smoke' touches needs to have say 30mins fire resistance. However this is complicated because in my jurisdiction you can have different fire resistances required for walls, doors and ceilings forming compartments... So your smoke bomb object would need to know if it was interacting with a door, a wall, a compartment ceiling or a false ceiling and determine wether to alert that something is wrong or pass through it as if it's not there... That is assuming that the space has been modelled tightly enough in the first place to ensure that the 'smoke' doesn't leak out.

Another example of this problem of semantics is reinforced concrete structures because you can make any shape you want out of concrete it might be a wall to one thing and a part of a foundation structure to another and part of a column structure at the same time. Semantically it is one piece of concrete but it is also all three of those other things for the purposes of modelling the structure. This is a tricky problem for software to solve because you usually model those elements individually but when you generate drawings they should all show up as one homogenous lump. What tends to happen is the software sometimes fails to merge things together and you end up troubleshooting a bunch of spurious lines all over your Plans Sections and Elevations.


This seems like a textbook case where AI could let you have your cake and eat it too. Eg work in the easy 2d domain with maybe unstructured sticky notes. have a deterministic pipeline from 2d to geometric checking, with I guess patch points for the manual stuff. and then have AI draw up and maintain the BIM. It seems tailor made to copilot those adhd tasks you describe.


I think many people are exhausted (at least I am) with the idea of bolting AI onto every technology, product, and service in existence to end all of humanity's problems. It won't work like that.


Like clippy for fire doors. "I've noticed you have moved this into a corridor where all the other doors have 1hr rating is the 30min rating on this door correct" Would be amazing but sounds a but too much from what we can expect from AI at the moment; we would start to rely on it and it would have to be 99.999% correct.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: