PrusaSlicer on IpadOS?  

Page 2 / 2
  RSS
nikolai.r
(@nikolai-r)
Noble Member

@unteins

I've done iOS development in the past and I can tell you setting up the project is not the biggest issue here 🙂 

The biggest problem to solve is how you want to keep this two projects in sync. PrusaSlicer is under heavy development flow. Means PrusaSlicer have to stay a main project and iOS port is derived from that. Once you start the migration, you should also consider how to port all the upcoming upgrades. To give this new project a feature existence and not be obsolete after migration, following things need to happen:

First you need a clean interface between the UI and the core. Then you need an easy (automated) way to migrate the core to iOS. Once this part is done, you can start building a nice iOS UI.

Such a project needs to come from PR as they would need to support and commit to this requirements. If they keep changing PrusaSlicer at will, there is no way someone will running behind all the time and investing a lot of time and money.

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 15/01/2020 11:52 pm
andy.j3 liked
andy.j3
(@andy-j3)
Active Member

  Very informative!

i personally think they could make some big waves and be the first to do it. The iPad Pro is perfect for it.

i hope others feel the same way and it becomes a reality!

Posted : 16/01/2020 1:06 am
unteins
(@unteins)
New Member

@nikolai-r

Well, I've done iOs development as well and looked at the PrusaSlicer code in GitHub.

As I said above, PrusaSlicer uses wxWidgets as a UI toolkit - this is largely so that it can have a cross platform UI layer. Since that UI layer is available on iOS, you don't STRICTLY need clean separation between the UI and the underlying slicing code - you just need that UI layer to be feature complete relative to the UI controls used. 

That being said, it is better to think of PrusaSlicer as being made of a few distinct parts, and evaluate them independently.

1) The Slicing Engine - libslic3r

This is almost certainly buildable and able to run with minimal modification on iOS. It is written in C++ and can be run from the command line in Unix and Windows environments - this would be pretty easy to build a (terrible) iOS native UI around for pure slicing without any plating options - but it could be done. This is also shows that at least when it comes to the SLICING portions of PrusaSlicer, there already exists a pretty clean interface between the core and the UI (as there's no UI for command line tools at all).

2) The Configuration/Settings

These mostly exist as data. Now, here I am not sure how they are stored are passed to the slicing engine - but there are two options - one would be to create a new UI for setting this, but again, this is very likely already separate from the UI in PrusaSlicer - the UI likely just sets the parameters.

3) The 3D renderer

This is needed if you want to support plating on iOS so that you can visualize the models that you want to move around. I'm not sure how much of this is done in platform independent code or is built on top of wxWidget primitives. I haven't done nearly enough digging in the code to see how this is handled. Also, this would be an area where platform specific code might be really useful.

4) The UI

This is mostly for configuring the settings and plating. I suspect that the UI is mostly self contained and not co-mingled with the rest of the code, simply because it uses a UI framework in the first place. Even if the code and the UI is co-mingled, because the UI itself is built on an abstraction layer, it should be that much of a problem. You only need to ensure the abstraction layer works on the platform.

The abstraction layer is wxWidgets and there is a version for iOS. The iOS version has fewer primitives than the desktop version, that might be an issue - it depends on what percentage of the primitives used by PrusaSlicer has iOS version - however, there's not reason that the additional primitives couldn't be built as part of the work and then submitted upstream (as you do in Open Source).

The other option is to remove all of wxWidgets from PrusaSlicer on iOS and build a new iOS UI. I'm not sure that's really needed (especially on the Pro where mouse and keyboard are supported).

 

I don't think creating an iOS version is inherently difficult if wxWidgets is sufficiently mature on iOS. Even if it isn't, the majority of the work would be on the wxWidgets library, not on PrusaSlicer itself. Keeping the versions in sync shouldn't require a huge amount of work, unless you decide to remove wxWidgets and call native UI APIs on iOS. That's not to say that the UI would feel GOOD on iOS, it might be a bit clunky and too "desktop", especially if wxWidgets is immature on iOS. 

Posted : 17/01/2020 12:37 am
andy.j3 liked
nikolai.r
(@nikolai-r)
Noble Member

@unteins

Based on my experience it can be very painful to port something to iOS. C++ means not much if you can't compile the required lib for this destination. But this are details you can only find out once you start porting the stuff. Sometimes you're lucky.

Especially because I've never preferred wxWidgets for UI and 1:1 copy of the desktop UI to iPad is not the best choice, I would go for a complete redesign for an iPad.

Anyway, If you have already a rough idea how to implement it, and have time, then go for it. Even if we can get libslic3r to work on iOS and having a nice upgrade path, would be the first huge step. Based on that project you can still implement multiple UI interfaces on top, create multiple apps.

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 17/01/2020 1:08 am
andy.j3 liked
jonathan.g16
(@jonathan-g16)
New Member

The desire for iOS support has less to do with feature set and it being the appropriate form factor — it's that 3d printers are being used in school environments. Slicer and other apps are fine for upper and middle school kids who have access to full-featured computers, but you can bring the 3d printing experience into the lower schools and let the younger kids get hands-on with iOS support (maybe the most likely device they may use at an early age). It's mostly about being able to view and print to the machines... not necessarily creating new models, etc.

I'm looking at some of the apps mentioned here, but a basic viewer, printer app specific to the PRUSA machines would be great!

Posted : 12/02/2020 7:23 pm
applen liked
tribgarry
(@tribgarry)
New Member

oh .... how am I waiting for such a solution for the iPad. Please, if you hear, try as soon as possible, please! The iPad Pro is just made for it. 🤗 👍 

Posted : 20/02/2020 2:11 pm
rudi.roesler
(@rudi-roesler)
New Member

Please!!! 

make Prusa slicer the first slicer on iOS, this make big waves and opens new possibilities. 

hopefully  it becomes a reality!

Posted : 31/03/2020 12:16 pm
mats.l4 liked
GrandpaJoe
(@grandpajoe)
Eminent Member

@neophyl

I use Shapr3D. iPad Pro and Apple Pencil.  Works well for me. 

Joe O. 

Posted : 30/05/2020 9:30 pm
nikolai.r
(@nikolai-r)
Noble Member

@grandpajoe

Pro or Basic license?

 

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 30/05/2020 9:37 pm
BluecornNM
(@bluecornnm)
Active Member

@neophyl

All depends on perspective. $240 per year for professional quality CAD is 'cheap'. I've been using it for all of my design work, and prefer it over everything else I've tried; free or paid. 

Posted : 05/06/2020 4:04 pm
bubnikv
(@bubnikv)
Member Admin

Got PrusaSlicer running on high end Android phone, but it is quite convoluted and the software 3D rendering is very slow.
https://twitter.com/bubnikv/status/1270966793419526145

...
Posted : 11/06/2020 11:47 am
nikolai.r
(@nikolai-r)
Noble Member

@bubnikv

It's more an emulation on an Android device. UserLAnd->Debian->VNC server->VNC Client. Not really usable but anyway a cool project. 😀 

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 11/06/2020 7:02 pm
clawsar
(@clawsar)
New Member

I use Onshape and it’s great with an iPad Pro. I had been using AstroPrint and octoprint on an Ender3 to be able to make models on my iPad or even my phone in a pinch, slice, then send to the printer. I just got my Mini and am struggling with using the Prusa Slicer as it would be the only step requiring me to go get the laptop, boot it up, etc. with Prusa marketed as a “it just works” platform, I agree including iOS or web based needs to be on their roadmap. I personally hope it’s soon. 

Posted : 12/08/2020 5:16 am
Yveske
(@yveske)
Trusted Member

OSX is moving to ARM hardware and I'm guessing OSX and IOS will share a common base then.
With a little bit of luck the same software will run on both operating systems.

Having problems with bed adhesion every morning......
Posted : 12/08/2020 1:00 pm
charles.h13
(@charles-h13)
Famed Member

@yveske

I hope so.  

Posted : 12/08/2020 1:35 pm
nikolai.r
(@nikolai-r)
Noble Member
Posted by: @yveske

OSX is moving to ARM hardware and I'm guessing OSX and IOS will share a common base then.
With a little bit of luck the same software will run on both operating systems.

macOS and iOS always shared a common base. So far Apple confirmed that even with the Apple Silicon macOS and iOS will still be separate developments though. There are iOS apps which are running on macOS but not vice versa.

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 12/08/2020 5:16 pm
BluecornNM
(@bluecornnm)
Active Member

This is the notice in my developer console. 

Posted : 12/08/2020 5:21 pm
unteins
(@unteins)
New Member

@nikolai-r

That’s not exactly true.

MacOS has used completely different frameworks from iOS for most of the years. Apple has been slowly merging them together.

A complete rewrite of PrusaSlicer to use the iOS frameworks would be required to make an iPad version.

The difference now would be that the iPad version could easily be used to make the MacOS version going forward - that makes the costs of the port easier to justify.

But there still would be work. PrusaSlicer doesn’t use the native UI API - it uses a cross platform API that sits on top the of the OS APIs - last I checked that toolkit hasn’t seen much iOS development, so I don’t expect this will change much.

Posted : 12/08/2020 5:24 pm
nikolai.r
(@nikolai-r)
Noble Member

@unteins

Correct. Frameworks,UI and many other  things are different but the kernel is the same.

We're on the same page. The way from iOS app to macOS app should get easier in the future. But I don't see any change to the other way around. Maybe Apple will unify some frameworks, so you could create macOS and iOS apps much easier. But as you mentioned PS is not using native macOS frameworks, so with the ARM mac we're not really closer to the PS for iOS.

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 12/08/2020 5:42 pm
Page 2 / 2
Share:

Please Login or Register