RoomPlan

RSS for tag

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

Posts under RoomPlan tag

200 Posts

Post

Replies

Boosts

Views

Activity

Adding an object to RoomPlan
A feature of my app I am in need of is to allow users to go through their room and mark specific positions, then be able to navigate these positions with a floor plan like a map. Think google maps but for your room, showing the user's position. I know it is possible to make a floor plan with RoomPlan, which could act as a map, but would it be possible after the plan is made to track a user's location in the room and show it? Is this too complex for RoomPlan? And if so how would I tackle this problem?
0
0
1k
Jul ’23
RoomPlan Categories and Models
In the presentation there was a reference to a Parent/Child relationship. The parent for doors and Windows might be Walls but the relationship between Walls or multiple Windows or doors would be that of a "Sibling" or "Peer" component to maintain logical consistency of the objects. I would also recommend a Junction Object, which means more than an Edge because it would describe the two peer objects that were being joined, and the angle of that junction between the objects. The Junction could also describe the shape of the junction to capture any curvature or discontinuity of the junction. Multiple junctions might also be peers because they would have a junction between other adjoining surfaces giving a more complete description to the structure of the room. The parent of all of these surfaces and junctions would be the Room itself. Such a description would be useful in an architectural review of the room structure.
0
0
984
Jul ’23
Roomplan: `story` is not appropriately applied to `floors` elements in CapturedStructure
So, I am using CapturedStructure to scan multiple spaces in a property. I intended to use the story field available on the Surface structures within the floors field. However, they all have a story == 0; and when I enumerate(), it seems incorrect as well. This is happening to me at least after printing the CapturedStructure into a JSON. This also happens to rooms's floors: The section states one story, but the floors all say 0
0
0
506
Jun ’23
RoomPlanExporter sample code, no objects being substituted
I'm trying to test the RoomPlan exporter with ModelProvider. I ran the sample code, and tried loading from the existing room plan samples of Merging Multiple Scans. Then after I open the exported USDZ output, none of the objects are being substituted with the objects inside RoomPlanCatalog.bundle. I have debugged and checked that the Catalog is loaded correctly. What is the specification of providing a catalog for RoomPlan's ModelProvider? As it's not clear what we should do regarding that from the documentation. Shouldn't there be a generic 3D mesh provided for objects such as Chair, Table, and Shelf, but I couldn't see any of them loaded. Although chair could be easily detected during the scan process, as I observed the session delegates. Tried configuring the captureSession.arSession with SceneReconstruction configuration, but there's no difference. It looks like the issue is only on the exporting process.
1
0
1.2k
Jun ’23
SCNodes disappear and then reappear
I can't post a video I don't think. But in the screen shots, I'm sightly making a circle with the phone and the green lines will disappear and then reappear. Those green lines are drawn via .addChildNode(). We're using RoomPlan to detect cabinets(.storage), and then we outline the cabinets with SCNNodes. We have other methods to capture cabinets that don't use RoomPlan. And the lines for those cabinets do not wink in and out. Perhaps there is a bug with visibility culling? We're pretty dang sure the nodes are not disappearing because we are calling .hide() anywhere. Perhaps object detection from RoomPlan running in the background is interfering?
2
0
789
Jun ’23
RoomPlan struggles to identify doors and windows. How to fix that?
Here is the current code I am using for it. When scanning my room, it is not identifying any door. And there are 2. Am I missing anything? import UIKit import RoomPlan import ARKit import RealityKit class RoomPlanViewController: UIViewController, RoomCaptureViewDelegate, UIViewControllerTransitioningDelegate { @IBOutlet weak var doneButton: UIButton! @IBOutlet weak var exportButton: UIButton! @IBOutlet weak var statusLabel: UILabel! var roomCaptureView: RoomCaptureView! let customDismissal = CustomSlideDownDismissal() var finalResults: CapturedRoom? override func viewDidLoad() { super.viewDidLoad() roomCaptureView = RoomCaptureView(frame: view.bounds) roomCaptureView.delegate = self view.insertSubview(roomCaptureView, at: 0) exportButton.isHidden = true statusLabel.isHidden = true self.transitioningDelegate = self } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) roomCaptureView?.captureSession.run(configuration: RoomCaptureSession.Configuration()) } @IBAction func Back(_ sender: Any) { roomCaptureView?.captureSession.stop() self.dismiss(animated: true, completion: nil) } @IBAction func doneButtonPressed(_ sender: UIButton) { roomCaptureView?.captureSession.stop() doneButton.isHidden = true exportButton.isHidden = false } func captureView(didPresent: CapturedRoom, error: Error?) { statusLabel.isHidden = false statusLabel.text = error == nil ? "The scan was successfully completed" : "An error occurred during the scan: \(String(describing: error))" finalResults = didPresent print("DOOR HERE") print(finalResults?.doors.count as Any) exportButton.isHidden = false statusLabel.isHidden = false } @IBAction func exportButtonPressed(_ sender: UIButton) { let filename = "Room.usdz" let destinationURL = FileManager.default.temporaryDirectory.appending(path: filename) do { try finalResults?.export(to: destinationURL) let activityController = UIActivityViewController(activityItems: [destinationURL], applicationActivities: nil) }
1
0
1.1k
May ’23
Room Plan / ARKit - How to remove reel object scanned in ARView using RoomPlan API ?
Hi Apple community, Currently developing an iOS application using Room Plan API, I'd like to remove real world objects detected with Room Plan to my ARView. I already tried to use the following code but it deletes only the anchor entities (customText, UI instructions...) attached to the Anchor : arView.scene.removeAnchor(anchor) My aim is to delete real world object content to my ARView like in this example : (I have an error when uploading files like png, jpg or pdf so there is a link) https://ibb.co/yR8CRVy Is there any way to do that using Room Plan API and ARKit ? Thanks in advance, Goat
2
0
1.8k
May ’23
Modify RoomBuilder data before export
I need to modify the scanned room before export (e.g. add some additional objects + add some metadata ) From the RoomBulder doc: "Your app can then inspect or modify this data before exporting the scanned room to a USDZ file" How can I modify the scanned room? The members seem to be get only. Any Example ? Regards, Frank
2
1
747
May ’23
Is RoomPlan changing the world reference system when it is done?
So, I have been working with RoomPlan in an application that is sensitive to the model's orientation. However, sometimes—even if the number representing the orientation I am capturing seems right—the final orientation is quite wrong. Now, I have also noticed that sometimes (and I am not sure when, so it is kind of hard to reproduce) the representation of the room is shuffled when RoomCaptureView().captureSession.stop() is called... is RoomPlan reorganizing everything at the end? If so, is there any way to prevent this from happening? Thanks!
1
6
783
May ’23
RoomPlan `RoomCaptureSession.arSession` doesn't provide scene depth (Lidar information)
Hello, The RoomCaptureSession seems to be initialized differently when it is access through the RoomCaptureView compared to when it is created directly. In the second case, the captureSession.arSession doesn't collect Lidar depth map. roomCaptureView.captureSession.run(RoomCaptureSession.Configuration()) print(roomCaptureView.captureSession.arSession.currentFrame?.sceneDepth != nil) // prints true let captureSession = RoomCaptureSession() captureSession.run(RoomCaptureSession.Configuration()) print(captureSession.arSession.currentFrame?.sceneDepth != nil) // prints false What solution do I have? I need my own custom Visualizer
0
0
933
Apr ’23
RoomPlan API
I am using RoomPlan API in my application. Working fine for small apartments but when I am trying to scan a bigger apartment which takes more time greater than 15 minutes the API automatically stopped and finished the scan even though part of the apartment is still pending scanning. I need the original structure like a point cloud in 3D, the USDZ model has a white mesh structure. Is there any way to get a real 3D view from RoomPlan API or USDZ model. How I can change the colour of scanning lines. I am getting RSFloorPlan class value when scanning finished. How I can get this Floor Plan, I mean I need its 2d structure as we what we are scanning. Thanks! Ramneet Singh (iOS developer)
2
1
2.4k
Apr ’23
MultiRoom capture with loading ARWorldMap not work
im try load ARWorldMap roomCaptureView?.captureSession.arSession.run(arWorldTrackingConfig, options: []), but when i load ARWorldMap, RoomPlan not work, the screen goes black, and nothing is displayed, Does anyone know the cause and solution?
Replies
1
Boosts
0
Views
934
Activity
Jul ’23
Adding an object to RoomPlan
A feature of my app I am in need of is to allow users to go through their room and mark specific positions, then be able to navigate these positions with a floor plan like a map. Think google maps but for your room, showing the user's position. I know it is possible to make a floor plan with RoomPlan, which could act as a map, but would it be possible after the plan is made to track a user's location in the room and show it? Is this too complex for RoomPlan? And if so how would I tackle this problem?
Replies
0
Boosts
0
Views
1k
Activity
Jul ’23
RoomPlan Categories and Models
In the presentation there was a reference to a Parent/Child relationship. The parent for doors and Windows might be Walls but the relationship between Walls or multiple Windows or doors would be that of a "Sibling" or "Peer" component to maintain logical consistency of the objects. I would also recommend a Junction Object, which means more than an Edge because it would describe the two peer objects that were being joined, and the angle of that junction between the objects. The Junction could also describe the shape of the junction to capture any curvature or discontinuity of the junction. Multiple junctions might also be peers because they would have a junction between other adjoining surfaces giving a more complete description to the structure of the room. The parent of all of these surfaces and junctions would be the Room itself. Such a description would be useful in an architectural review of the room structure.
Replies
0
Boosts
0
Views
984
Activity
Jul ’23
example app with MultiRoom
i want to test MultiRoom, but i can't make it, can someone give me solution or example app
Replies
0
Boosts
0
Views
606
Activity
Jun ’23
Roomplan: `story` is not appropriately applied to `floors` elements in CapturedStructure
So, I am using CapturedStructure to scan multiple spaces in a property. I intended to use the story field available on the Surface structures within the floors field. However, they all have a story == 0; and when I enumerate(), it seems incorrect as well. This is happening to me at least after printing the CapturedStructure into a JSON. This also happens to rooms's floors: The section states one story, but the floors all say 0
Replies
0
Boosts
0
Views
506
Activity
Jun ’23
New version of RoomPlan fails when a surface is detected
Hello, I am using RoomPlan in iOS17 with SwiftUI the program crashes as soon as a new surface is detected. It seems to come from CaptureView. Anyone else experiencing the same issue? Thanks in advance
Replies
3
Boosts
1
Views
1.3k
Activity
Jun ’23
RoomPlanExporter sample code, no objects being substituted
I'm trying to test the RoomPlan exporter with ModelProvider. I ran the sample code, and tried loading from the existing room plan samples of Merging Multiple Scans. Then after I open the exported USDZ output, none of the objects are being substituted with the objects inside RoomPlanCatalog.bundle. I have debugged and checked that the Catalog is loaded correctly. What is the specification of providing a catalog for RoomPlan's ModelProvider? As it's not clear what we should do regarding that from the documentation. Shouldn't there be a generic 3D mesh provided for objects such as Chair, Table, and Shelf, but I couldn't see any of them loaded. Although chair could be easily detected during the scan process, as I observed the session delegates. Tried configuring the captureSession.arSession with SceneReconstruction configuration, but there's no difference. It looks like the issue is only on the exporting process.
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’23
Floor in CapturedRoom (RoomPlan)
Can I Keep the floor of the scanned CapturedRoom model with RoomPlan?. Every time I scan a space, the presented preview includes the floor but when I try to manipulate the 'finalResults' (CapturedRoom) I can't find the floor component. There is a way where I can keep it or rebuild it?. Thanks!
Replies
1
Boosts
1
Views
1k
Activity
Jun ’23
SCNodes disappear and then reappear
I can't post a video I don't think. But in the screen shots, I'm sightly making a circle with the phone and the green lines will disappear and then reappear. Those green lines are drawn via .addChildNode(). We're using RoomPlan to detect cabinets(.storage), and then we outline the cabinets with SCNNodes. We have other methods to capture cabinets that don't use RoomPlan. And the lines for those cabinets do not wink in and out. Perhaps there is a bug with visibility culling? We're pretty dang sure the nodes are not disappearing because we are calling .hide() anywhere. Perhaps object detection from RoomPlan running in the background is interfering?
Replies
2
Boosts
0
Views
789
Activity
Jun ’23
RoomPlan struggles to identify doors and windows. How to fix that?
Here is the current code I am using for it. When scanning my room, it is not identifying any door. And there are 2. Am I missing anything? import UIKit import RoomPlan import ARKit import RealityKit class RoomPlanViewController: UIViewController, RoomCaptureViewDelegate, UIViewControllerTransitioningDelegate { @IBOutlet weak var doneButton: UIButton! @IBOutlet weak var exportButton: UIButton! @IBOutlet weak var statusLabel: UILabel! var roomCaptureView: RoomCaptureView! let customDismissal = CustomSlideDownDismissal() var finalResults: CapturedRoom? override func viewDidLoad() { super.viewDidLoad() roomCaptureView = RoomCaptureView(frame: view.bounds) roomCaptureView.delegate = self view.insertSubview(roomCaptureView, at: 0) exportButton.isHidden = true statusLabel.isHidden = true self.transitioningDelegate = self } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) roomCaptureView?.captureSession.run(configuration: RoomCaptureSession.Configuration()) } @IBAction func Back(_ sender: Any) { roomCaptureView?.captureSession.stop() self.dismiss(animated: true, completion: nil) } @IBAction func doneButtonPressed(_ sender: UIButton) { roomCaptureView?.captureSession.stop() doneButton.isHidden = true exportButton.isHidden = false } func captureView(didPresent: CapturedRoom, error: Error?) { statusLabel.isHidden = false statusLabel.text = error == nil ? "The scan was successfully completed" : "An error occurred during the scan: \(String(describing: error))" finalResults = didPresent print("DOOR HERE") print(finalResults?.doors.count as Any) exportButton.isHidden = false statusLabel.isHidden = false } @IBAction func exportButtonPressed(_ sender: UIButton) { let filename = "Room.usdz" let destinationURL = FileManager.default.temporaryDirectory.appending(path: filename) do { try finalResults?.export(to: destinationURL) let activityController = UIActivityViewController(activityItems: [destinationURL], applicationActivities: nil) }
Replies
1
Boosts
0
Views
1.1k
Activity
May ’23
Room Plan / ARKit - How to remove reel object scanned in ARView using RoomPlan API ?
Hi Apple community, Currently developing an iOS application using Room Plan API, I'd like to remove real world objects detected with Room Plan to my ARView. I already tried to use the following code but it deletes only the anchor entities (customText, UI instructions...) attached to the Anchor : arView.scene.removeAnchor(anchor) My aim is to delete real world object content to my ARView like in this example : (I have an error when uploading files like png, jpg or pdf so there is a link) https://ibb.co/yR8CRVy Is there any way to do that using Room Plan API and ARKit ? Thanks in advance, Goat
Replies
2
Boosts
0
Views
1.8k
Activity
May ’23
How to display usdz from RoomPlan API to RealityKit
Hi, i want to create an app that uses RoomPlan API to scan the room and display the scanned room model into the reality kit. How can i do this?
Replies
0
Boosts
1
Views
713
Activity
May ’23
Modify RoomBuilder data before export
I need to modify the scanned room before export (e.g. add some additional objects + add some metadata ) From the RoomBulder doc: "Your app can then inspect or modify this data before exporting the scanned room to a USDZ file" How can I modify the scanned room? The members seem to be get only. Any Example ? Regards, Frank
Replies
2
Boosts
1
Views
747
Activity
May ’23
Displaying color based on the type of object detected.
Does anyone know how to display color when scanning and on the mini model based on the type of object detected? Apple demonstrated this feature in their article about RoomPlan but the documentation doesn't show this option. here is a video of the feature: https://mlr.cdn-apple.com/video/roomplan_fig4_results_580x800_8d63f073b8.mp4
Replies
1
Boosts
2
Views
1k
Activity
May ’23
Is RoomPlan changing the world reference system when it is done?
So, I have been working with RoomPlan in an application that is sensitive to the model's orientation. However, sometimes—even if the number representing the orientation I am capturing seems right—the final orientation is quite wrong. Now, I have also noticed that sometimes (and I am not sure when, so it is kind of hard to reproduce) the representation of the room is shuffled when RoomCaptureView().captureSession.stop() is called... is RoomPlan reorganizing everything at the end? If so, is there any way to prevent this from happening? Thanks!
Replies
1
Boosts
6
Views
783
Activity
May ’23
RoomPlan `RoomCaptureSession.arSession` doesn't provide scene depth (Lidar information)
Hello, The RoomCaptureSession seems to be initialized differently when it is access through the RoomCaptureView compared to when it is created directly. In the second case, the captureSession.arSession doesn't collect Lidar depth map. roomCaptureView.captureSession.run(RoomCaptureSession.Configuration()) print(roomCaptureView.captureSession.arSession.currentFrame?.sceneDepth != nil) // prints true let captureSession = RoomCaptureSession() captureSession.run(RoomCaptureSession.Configuration()) print(captureSession.arSession.currentFrame?.sceneDepth != nil) // prints false What solution do I have? I need my own custom Visualizer
Replies
0
Boosts
0
Views
933
Activity
Apr ’23
Can I use room plan api with scene reconstruction api ?
I want to use room plan api alongside with scene reconstruction api at the same time. but doesn't seem to work
Replies
2
Boosts
0
Views
2.7k
Activity
Apr ’23
RoomPlan API
I am using RoomPlan API in my application. Working fine for small apartments but when I am trying to scan a bigger apartment which takes more time greater than 15 minutes the API automatically stopped and finished the scan even though part of the apartment is still pending scanning. I need the original structure like a point cloud in 3D, the USDZ model has a white mesh structure. Is there any way to get a real 3D view from RoomPlan API or USDZ model. How I can change the colour of scanning lines. I am getting RSFloorPlan class value when scanning finished. How I can get this Floor Plan, I mean I need its 2d structure as we what we are scanning. Thanks! Ramneet Singh (iOS developer)
Replies
2
Boosts
1
Views
2.4k
Activity
Apr ’23
What does "generating texture with resolution of ..." mean in RoomPlan
Hi, we are developing a basic app with room plan and get the following debug output on the console if we start capturing: "generating texture with resolution of x, y". It would be nice to get a texture of the wall in addition to the geometry. What does the debug info mean? Does roomPlan generate textures in addition to the geometry? Frank
Replies
1
Boosts
0
Views
715
Activity
Apr ’23