· 8 min read

Tinkering

Viz on Shenton

Building a 3D model and renderings of my apartment

tinkering · 3d-design · cad · interior-design · singapore · infra

A 3D rendering of proposed arrangements for our furnishings
A 3D rendering of proposed arrangements for our furnishings

Introduction

After having done a bunch of house hunting (see my property-hunt post), my partner and I settled on a condo near our workplaces. After a several-week process of reaching out to property agents and going for viewings (can't digitize this yet, unfortunately!), we made an offer for a 1BR + study apartment in V on Shenton. The next mini-project became clear then: planning furnishings and layouts of our upcoming house!

There are several considerations to be made, given that this is a 2-year rental arrangement and not a 'forever home':

  • No permanent fixtures are allowed
  • No wall mounts, or smart switches, etc.; any 'smart home' functionality has to be noninvasive (e.g. IR emulation)
  • It should be robo-vacuum friendly to save us lots of cleaning trouble
  • Wiring is already done up so there are no networking or cabling decisions to be made (sadly)
  • We'll often have to have both of us working at the same time; our setup needs to accommodate that

There are several problems with answering our questions:

  • How do we know whether our (relatively small) study room can fit two working setups?
  • How do we know how any proposed furniture will look before we buy it? Will it even fit in the space that we theorize?
  • How will different 'arrangements' of furniture look? How can we visualize this without buying and physically rearranging everything?

Typically the answer would be to pay an interior designer some lavish sum and get artists to do mockups. But I'm an engineer with some amount of free time! So here we go :-)

Process

The 'right' approach to do this would probably be a combination of Blender and 3DS Max - honestly, if I was starting this from scratch with no skill background I'd do it this way. However, during my time in SUTD I did plenty of 3D modelling in SolidWorks - their education license stickiness strategy has worked! - so SolidWorks became my lowest-friction, lowest-barrier-to-entry way of solving this (estimating a few hours in SolidWorks vs. likely a few days of UX learning on other platforms).

It's pretty clear that SolidWorks isn't the best software for this; it's meant more for electro-mechanical engineering tasks than for interior design. However, it's enough for me! The main things I need:

  • Ability to combine multiple components (SolidWorks assemblies)
  • Ability to 'project' images (floor plans) and trace contours/edges
  • Ability to design individual components based on dimensions I can farm from different sources (e.g. furniture spec sheets)
    • In the far future - LLM support :-( to auto-generate components
  • Basic visualization capabilities (Honestly SolidWorks Visualize is pretty disappointing so far....)
  • We only really need to focus on spaces where there are significant design choices to be made; no real need for toilet or bedroom modelling given the limited space and furnishing options
  • Ability to leverage existing community-made components (e.g. Herman Miller chair 3D models), while checking individual usage licenses

Community Parts

Lots of available 3D models online!
Lots of available 3D models online!

Happily, I was able to find many fitting 3D models already built online - for example:

This made it much easier to create correctly scaled (and good-looking!) representations in our model.

I also found a pretty nice trick for extracting .obj 3d models from IKEA's site - please don't sue me, I'm buying your furniture!
I also found a pretty nice trick for extracting .obj 3d models from IKEA's site - please don't sue me, I'm buying your furniture!

Apartment

Doing one measurement of the width of the living room allows a generally-accurate extrapolation of the full apartment's size
Doing one measurement of the width of the living room allows a generally-accurate extrapolation of the full apartment's size

We begin by taking the floor plan - in this case, it's conveniently available from the V on Shenton floor plan page (which listed 1-bedroom + study unit types when I checked on 2026-04-06). We also did a bunch of physical measurements during one of our viewings so we could scale the floor plan to the correct dimensions for a proper scale model (see the <----- 280.00 -----> line in the living room).

Extruding walls out of the apartment
Extruding walls out of the apartment

Furnishings

Every piece of existing/proposed furniture without a downloadable 3d model needed to be modelled with appropriate textures and accurate dimensions. This is the bulk of the tedium in the work; to avoid boring you, I'll simply show the process for one particular piece: the FortyTwo Marlene foldable chair.

Due to the curvatures, modelling the FortyTwo Marlene was... tedious, to say the least
Due to the curvatures, modelling the FortyTwo Marlene was... tedious, to say the least
Isometric views of the original, versus my in-progress skeleton
Isometric views of the original, versus my in-progress skeleton
Now draw the rest of the owl - I mean, Marlene...
Now draw the rest of the owl - I mean, Marlene...
Now CAD the rest of the furnishings (ouch)
Now CAD the rest of the furnishings (ouch)

Scenarios

Having built all our components, we can now dynamically rearrange parts in our assembly by assembling them and moving them around!

Arrangements

After creating necessary assets, we can arrange them in our apartment!

A big problem I had was how to accommodate a dual monitor setup + workspace in the living room, working around the built-in TV cabinet and TV placement. My initial idea for a table would have been too clunky for a comfortable setup
A big problem I had was how to accommodate a dual monitor setup + workspace in the living room, working around the built-in TV cabinet and TV placement. My initial idea for a table would have been too clunky for a comfortable setup
Fortunately, modelling it out allowed me to find appropriate office tables that could fit the dimensions (almost) nicely... with the sacrifice of setting one of the speakers sideways
Fortunately, modelling it out allowed me to find appropriate office tables that could fit the dimensions (almost) nicely... with the sacrifice of setting one of the speakers sideways

Results

The end result is a fully re-arrangeable virtual house, with visualizations trivially possible, and full dimension predictability for every piece of furniture without having to make possibly really expensive mistakes.

When furnishings are fully folded up, we have a nice open living room space that we can use for things like VR gaming
When furnishings are fully folded up, we have a nice open living room space that we can use for things like VR gaming
When tables and chairs are unfolded, we have a dining setup that fits up to 8 people (with an additional table)
When tables and chairs are unfolded, we have a dining setup that fits up to 8 people (with an additional table)
When my partner wants to just collapse on the floor and sleep but she's banned from the bed until she has taken a shower, our IKEA VITHALL can unfold into a cosy bed...
When my partner wants to just collapse on the floor and sleep but she's banned from the bed until she has taken a shower, our IKEA VITHALL can unfold into a cosy bed...

Learnings

Given that I've done this before for my current room, I wouldn't say there was a lot of learning to be had here; this is more of a leverage-existing-skills kind of project, which I ended up relishing all the same; it's always pretty cool to show people 3D renderings of our proposed furniture arrangements!

The total time taken would be on the order of about 10 hours, not including writing this blog post? With measurements, research/modelling of parts, and making multiple tentative rearrangements throughout discussions with my partner. While it isn't the best use of time possible, I was happy to do this as Claude/Codex churned away at other projects of mine in the background :-) at least there's still some viable work left for us human plebs.

Mini side project to this side project

Basic prototyping of a Vite setup that projects the floor plan onto an interactive 3D site
Basic prototyping of a Vite setup that projects the floor plan onto an interactive 3D site
My dream: what if we could simply 'dictate' instructions rather than do the 3D modelling myself?
My dream: what if we could simply 'dictate' instructions rather than do the 3D modelling myself?

In theory, nothing's really stopping one from simply uploading a floor plan and getting an LLM to handle visualizing layouts and interacting with the user throughout. In practice, this still wasn't trivial to build robustly in my tests: everything from furniture design (significant back and forth with an LLM to confirm dimensions, textures, shape, etc.), to lighting, to generating 3D models, to placing 3D models within 3D models needed much more glue code than expected.

Some initial experimentation (1-2 hours) looked promising, but showed that a loooooot more work was needed - likely on the order of weeks to months for solo-dev-me, even with LLM assistance. I hence decided to fall back to my tried-and-true method of modelling it myself - sad but the Technology Just Isn't There Yet.

Wrap-up

This project did exactly what I needed for this rental: fast "will this fit?" iterations before spending money on furniture, plus a clearer view of tradeoffs in the study and living room. If I revisit the automated route later, I'll likely keep this manual model as the reference baseline to evaluate generated outputs against.

We haven't started our lease yet; when we do, and when everything is fully set up, I will update this post with comparison pictures between our renderings and our reality :-).

More on this topic