RoomPlan

RSS for tag

Create parametric 3D scans of rooms and room-defining objects.

RoomPlan Documentation

Posts under RoomPlan tag

93 Posts
Sort by:
Post not yet marked as solved
0 Replies
270 Views
I am using the room plan api to implement the function of multiple space merging, but I found that after performing multiple space merging, the generated json would miss some of the newly added areas, but the usd file and plist file were complete.Does anyone have this problem? Look forward to official support this is my code: public func mergeScan(_ data:String,_ scanName:String,_ directoryName:String){ var capturedRoomArray: [CapturedRoom] = [] //解析主结构 let jsonURL = getRootURL().appending(path: "/\(directoryName)/\(scanName)/scan.json") guard let mainStructureRoom = try?loadCapturedRoom(from: jsonURL) else { return } capturedRoomArray.append(mainStructureRoom) // 添加子结构 if let subStructureRoom = try? loadCapturedRoom(from: data) { os_log("loadCapturedRoom string data success: %@", type: .error, String(describing: data)) capturedRoomArray.append(subStructureRoom) } os_log("merge scan capturedRoomArray: %@", type: .error, String(describing: capturedRoomArray.count)) //合并 Task { do { finalStructureResults = try await structureBuilder.capturedStructure(from: capturedRoomArray) }catch { print("Merging Error:\(error.localizedDescription)") return } do{ //保存 //导出json guard let finalStructureResults else { return } try exportJson(from: finalStructureResults, to: jsonURL) //导出usd let meshDestinationURL = jsonURL.deletingPathExtension().appendingPathExtension("usdz") //导出plist let metadataDestinationURL = jsonURL.deletingPathExtension().appendingPathExtension("plist") try finalStructureResults.export(to: meshDestinationURL, metadataURL: metadataDestinationURL, exportOptions: [.mesh]) } catch { print("Merge Error:\(error.localizedDescription)") return } } } func exportJson(from capturedStructure: CapturedStructure, to url: URL) throws { let encoder = JSONEncoder() encoder.outputFormatting = [.prettyPrinted, .sortedKeys] let data = try encoder.encode(capturedStructure) try data.write(to: url) } Note: Only json is missing the content of this or the next scan, usdz and plist are complete
Posted
by
Post not yet marked as solved
1 Replies
355 Views
I'm using RoomPlan to create a 2-d layout of a room. Because it's just a single room, I want to present it 'squared' up, see my picture First off, is there any options in the ARView that was used with the scan to sort of zero out the orientation so that it creates a room layout that is not on an angle? If not... Is there a well known mathematical formula to snap this to the closest 90 degrees? I tried just changing the rotation of each wall to snap to the nearest 90 degrees, but it wasn't quite good enough as they no longer joined together cleanly. Perhaps there's an algorithm for doing this while preserving the relative locations of everything?
Posted
by
Post not yet marked as solved
0 Replies
224 Views
I am scanning with ios17.2 on iphone12/ iPad with M1 attributes is always an empty array although I can see object categories and dimensions. They are not in the CapturedRoom object at the end or during the scan (printing the capturedRoom objects ), nor in the JSON export. what am I missing? Model provider can see them so it seems the data is in the unreadable "coreModel":"\/cCE2z0D7YOs5AV+590PFcMLD75UZjfuGUoGD8......"
Posted
by
Post marked as solved
2 Replies
507 Views
I have a tracking issung with the latest beta 17.4 and want to know if anyone encountered the same problem. My app is using the pause=false functionality for multiroom that apple provided to let the ARSession run in the background: roomCaptureView?.captureSession.stop(pauseARSession: false) When resuming the scan/scanning the next room I initialize a new RoomCaptureView with the running ARSession: let roomCaptureView = RoomCaptureView(frame: rcvc.view.bounds, arSession: arSession!) This worked fine on all previous versions and different devices. Since the update to 17.4 I noticed that the tracking will be lost after initializing the next scan which feels like the pauseARSession is not working (the ARSession has still the same ID) Devices: This behaviour/error does not occur on devices with 17.3 or lower: 15 Pro Max, 14 Pro Max, 13 Pro This behaviour/error occures on devices with 17.4: 15 Pro Max, 14 Pro Max If anyone has noticed the same issue I would like to know that I'm not the only one. Thanks.
Posted
by
Post not yet marked as solved
2 Replies
382 Views
RoomPlan- Getting error for ceiling Height and floor Height from CapturedRoom. I am using RoomPlan version-2 Framework to scan houses. I need ceilingHeight and floorHeight. I am parsing the data of CapturedRoom successfully into Json and getting all keys and their value except "coreModel" of type: (RSFloorPlan) value. Does Apple support coreModel: RSFloorPlan yet? In "coreModel" key, there are some keys values of ceilingHeight and floorHeight. In the last I am getting encoded string as value of key "coreModel". CoreModel: qkgdxIDMaicOkpwW1I/h/V4C.........................7nCom3Lpu0CM= I will really appreciate your hard work.
Posted
by
Post marked as solved
1 Replies
355 Views
I want to have realtime image anchor tracking together with RoomPlan. But it's frustrating to not seeing any thing that can support this. Because it is useful to have interactive things in the scanned room. Ideally it should be running the same time, but if not possible, how do you align the two tracking space if running RoomPlan and then ARKit image tracking? sounds like headache
Posted
by
Post not yet marked as solved
0 Replies
323 Views
Error: RoomCaptureSession.CaptureError.exceedSceneSizeLimit Apple Documentation Explanation: An error that indicates when the scene size grows past the framework’s limitations. Issue: This error is popping up in my iPhone 14 Pro (128 GB) after a few roomplan scans are done. This error shows up even if the room size is small. It occurs immediately after I start the RoomCaptureSession after the relocalisation of previous AR session (in world tracking configuration). I am having trouble understanding exactly why this error shows and how to debug/solve it. Does anyone have any idea on how to approach to this issue?
Posted
by
Post not yet marked as solved
2 Replies
443 Views
Is there a way to handle Roomplan ExceededSceneSizelimitError. in documentation also there is nothing . For me after taking just small small scans about 5 to 6 after the 7 th scan getting this error . only killing the app and restarting is working, if i come to back page and again go to start newscan also it is not working
Posted
by
Post marked as solved
6 Replies
460 Views
Im working on Apple RoomPlanAPI MergescansFeature which is an update of ios17. In this it is said mergescans can be done in 2 ways continuous ARsession ARRelocalization I've worked on ARRelocalization . I take a first scan and then come nextday and want to take another scan . can we start the scan anywhere in that particular house. and can merge them. Because currently what I was doing was I take a scan and when i stop the scan ..then save the world map like the snapshot/anchors of that point where I've stopped the scan and again come nextday and start a scan then load the saved map... it says we should go where we've stopped the last scan then only it will sense the environment and it relocalizes with the previous scan coordinatesystem. now we can take a scan and these 2 can be merged. but now what i want was i will take a scan and due to some reasons i didn't take the bedroom of the house now I'll come next day and want to take only the bedroom scan can i start it from the bedroom scan directly without going to the last point where we stopped the scan and merge these two scans? is it even possible?
Posted
by
Post not yet marked as solved
0 Replies
284 Views
Has anyone had success with RoomPlan to scan an entire home? We use floor plan scanning technology for our real estate business and RoomPlan is great as it has instant results but we need the entire home with a staircase for total square footage purposes. Thanks in advance, Luke
Posted
by
Post not yet marked as solved
0 Replies
318 Views
Hey guys, I hope you are all doing well! I am really stuck on a problem and I need help here. I am new to Swift but I need to use Swift to complete a project. I am trying to use this code https://github.com/jmousseau/RoomObjectReplicatorDemo/blob/main/RoomObjectReplicatorDemo/ViewController.swift with the RoomObjectReplicator library https://github.com/jmousseau/RoomObjectReplicator. However, the issue is that my app is currently using SwiftUI and not UIKit. Furthermore, I have ContentView and ARViewContainer. How can I implement the code but use ContentView and ARViewContainer along with SwiftUI? Thanks in advance!
Posted
by
Post not yet marked as solved
0 Replies
358 Views
A case occured where the Structure Builder is crashing with EXC_BAD_ACCESS and the error cannot be handled without the app crashing. I have two minimalistic models, one even reduced to the minimum of the "coreModel" itself. (See attachment) Each model alone in the StructureBuilder works fine. Using both causes the crash. Has anyone found a way to handle this error without the app crashing? override func viewDidLoad() { super.viewDidLoad() let capturedRooms: [CapturedRoom] = [ loadCapturedRoom(fileName: "appleModel1"), loadCapturedRoom(fileName: "appleModel2") ] buildStructure(capturedRooms) } func buildStructure(_ capturedRooms: [CapturedRoom]) { let structureBuilder = StructureBuilder(options: []) Task { print("----- START BUILDING STRUCTURE -----") do { let capturedStructure = try await structureBuilder.capturedStructure(from: capturedRooms) } catch { print("----- FAILED BUILDING STRUCTURE -----") } // Crashing with: EXC_BAD_ACCESS // This part will never be reached print("----- FINISH BUILDING STRUCTURE -----") } } func loadCapturedRoom(fileName: String) -> CapturedRoom { do { guard let jsonFileURL = Bundle.main.url(forResource: fileName, withExtension: "json") else { fatalError("JSON file not found.") } let data = try Data(contentsOf: jsonFileURL) return try JSONDecoder().decode(CapturedRoom.self, from: data) } catch { fatalError(error.localizedDescription) } } appleModel1.json appleModel2.json
Posted
by
Post not yet marked as solved
1 Replies
251 Views
when i start roomplan scanner,there reminder "Move device to start",and other reminder, now i use roomplan in china, i want use custom remider in my apps, how should i do?
Posted
by
Post not yet marked as solved
0 Replies
348 Views
I am currently working on a project involving the merging of multiple scans into a single structure using Room plan json file. I am facing an issue and would greatly appreciate your assistance in resolving it. The problem I am encountering is as follows: "Cannot process multiFloorPlan: Invalid room location in structure" Captured room json file paths: [https://mimesisfbs.s3.ap-south-1.amazonaws.com/project_3dfile_json/2088a003-5712-4e9f-91eb-601b145ca98e-project_3dfile_json_file.json) [https://mimesisfbs.s3.ap-south-1.amazonaws.com/project_3dfile_json/10ccd0d9-7843-41bd-a021-a57781231059-project_3dfile_json_file.json) We are using same code as in example. [https://developer.apple.com/documentation/RoomPlan/merging_multiple_scans_into_a_single_structure)
Posted
by
Post not yet marked as solved
0 Replies
281 Views
Hi all. Can anyone show the code for multiroom on swiftUI? And another question, is it possible to change the parameters (dimensions) of walls, doors, windows in an already scanned room by entering real dimensions from a laser tape measure? Because the scanned object has dimensional errors of up to 3 cm. Thanks.
Posted
by
Post not yet marked as solved
1 Replies
339 Views
I'm looking for the full sample code from WWDC23 session https://developer.apple.com/videos/play/wwdc2023/10192
Posted
by