Post

Replies

Boosts

Views

Activity

Reply to Exporting in format other than USD/USDz
Another option is to export the CapturedRoom as a parametric file that you can use later. CapturedRoom confirms to Encodable so it can be turned into a JSON file if you want to import it later. The only fly in the ointment is that it looks like the serialising is currently broken. It throws an error on re-importing dimensions. For our apps, we have written our own encodable struct to handle saving. But it means that we can pass the parametric room information between apps and people very simply. Obviously, this only works if you have control over the whole process.
Jul ’22
Reply to Adding floor to Entity created from RoomPlan USDZ file
If you find the corner vertices of your walls you can create the floor using an extruded SCNShape. The tricky part is to make sure your vertices are in logical order, but after that, you can draw a bezier it using the x and z coordinates of your points. You'll have to rotate it by 90 degrees and position it but it should already have the correct rotation. This will help if your room is not rectangular. I'd add code but it's still on my list of things to do I'm afraid. But broadly my plan is to pick a wall and choose a corner, find the wall that's got a corner in the same position, presume it's the next in line and iterate through all the outside walls.
Jun ’22
Reply to Ceilings?
No specifically. Though you can infer the ceiling height from the height of the walls - presuming your walls are all the same height. Slipping and drop ceilings confuse Roomplan. It doesn't give you the floor either. The coordinate system if relative to the point the device was first fired up.
Jun ’22
Reply to Can SceneKit be used with RoomPlan
I just got it to work with this code  private var roomCaptureSessionConfig: RoomCaptureSession.Configuration = RoomCaptureSession.Configuration()   var arSceneView: ARSCNView!   var session:RoomCaptureSession!     override func viewDidLoad() {         super.viewDidLoad()         arSceneView = ARSCNView.init(frame: self.view.bounds)         self.view.addSubview(arSceneView)         roomCaptureSessionConfig.isCoachingEnabled = true         session = RoomCaptureSession()         session.delegate = self     }     override func viewDidAppear(_ animated: Bool) {         super.viewDidAppear(animated)         session.run(configuration: roomCaptureSessionConfig)     }      func captureSession(_ session: RoomCaptureSession, didStartWith configuration: RoomCaptureSession.Configuration){          arSceneView.session = session.arSession     }
Jun ’22
Reply to Can SceneKit be used with RoomPlan
My understanding is that if you want access to the RoomPlan session you need to use the data api rather than the RoomCaptureView. You create a RoomCaptureSession and hand that over to an ARSCNView and listen to all the callbacks from the RoomCaptureSessionDelegate. It will update you with a new version of the room as it finds it. It's up to you to then build the room from the data it gives you. This was the conversation I had with the apple engineer this morning, but I've yet to try it.
Jun ’22
Reply to NSPersistentCloudKitContainer with public database doesn't work and is poorly documented
I have the same problem wth the public database but mine is compounded with needing to be pre-seeded with a few thousand records. Some devices happily update when you add new records, some do not This may be an ios 15 beta issue). All are using the same apple id. I also found that the CDMR type was never added to the dashboard despite there being logical connections between entities in coredata, so I had to create that by hand. Deleting records from the public database through the dashboard never seem to be reflected on the local database.
Aug ’21