CloudSCAD

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

CloudSCAD

tbuser
I wanted to share something I'm working on http://tonybuser.com/cloudscad

Also, anyone know how hard it would be to add the ability to generate animation frames from the command line?  That would be really useful for this.

Thanks!


Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

Elmo Mäntynen
Hey, this is just what I suggested a while ago :) Well, at least the
part of generating parts with custom parameters on thingiverse. On the
Thingiverse list iirc. Great that you've started this.

And pics from the commandline! Would be very useful.

Elmo

On 08/22/2010 12:33 PM, Tony Buser wrote:

> I wanted to share something I'm working on http://tonybuser.com/cloudscad
>
> Also, anyone know how hard it would be to add the ability to generate
> animation frames from the command line?  That would be really useful for
> this.
>
> Thanks!
>
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

kintel
Administrator
In reply to this post by tbuser
On Aug 22, 2010, at 11:33 AM, Tony Buser wrote:

> I wanted to share something I'm working on http://tonybuser.com/cloudscad
>
This is very interesting!
I've been thinking about similar things, e.g. to make OpenSCAD render on iPhones and other "thin clients".
In addition, enabling e.g. Thingiverse to render OpenSCAD files directly on their EC2 (?) nodes.

As I see it, a natural way to go could be to separate the GUI front-end from the evaluation and rendering back-end. This is already partially possible in my "visitor" branch of OpenSCAD where I'm working on back-end refactoring.

I'm interested in discussing this further - I'll check out your stuff when I'm back from vacation next week..

~/= Marius

--
We are Elektropeople for a better living.





Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

Vitaly Mankevich
Looks very interesting! I agree that pics from command line (both
single frame and animation) would open up a lot of possibilities, and
I'll second that request.

-Vit

On Sun, Aug 22, 2010 at 6:20 AM, Marius Kintel <[hidden email]> wrote:

> On Aug 22, 2010, at 11:33 AM, Tony Buser wrote:
>
>> I wanted to share something I'm working on http://tonybuser.com/cloudscad
>>
> This is very interesting!
> I've been thinking about similar things, e.g. to make OpenSCAD render on iPhones and other "thin clients".
> In addition, enabling e.g. Thingiverse to render OpenSCAD files directly on their EC2 (?) nodes.
>
> As I see it, a natural way to go could be to separate the GUI front-end from the evaluation and rendering back-end. This is already partially possible in my "visitor" branch of OpenSCAD where I'm working on back-end refactoring.
>
> I'm interested in discussing this further - I'll check out your stuff when I'm back from vacation next week..
>
> ~/= Marius
>
> --
> We are Elektropeople for a better living.
>
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

Steve Klabnik
In reply to this post by tbuser
Awesome stuff, man. Congrats.

On Sun, Aug 22, 2010 at 5:33 AM, Tony Buser <[hidden email]> wrote:

> I wanted to share something I'm working on http://tonybuser.com/cloudscad
> Also, anyone know how hard it would be to add the ability to generate
> animation frames from the command line?  That would be really useful for
> this.
> Thanks!
>
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>
>

Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

tbuser
In reply to this post by kintel
On Sun, Aug 22, 2010 at 9:20 AM, Marius Kintel <[hidden email]> wrote:
As I see it, a natural way to go could be to separate the GUI front-end from the evaluation and rendering back-end. This is already partially possible in my "visitor" branch of OpenSCAD where I'm working on back-end refactoring.

I looked around trying to figure out where you might have this visitor branch, but I can't find it anywhere?  I'm really interested in taking out the gui stuff to make this go faster.  So far CloudSCAD is great with small scripts, but I'm going to have to get creative to optimize it.  :)  Also perhaps a long running process instead of launching it each time.

By the way, I have an STL javascript 3D renderer now so I have the gui totally separated and don't need the ability to generate animation frames from the command line anymore.

Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

Giles Bathgate

> I looked around trying to figure out where you might have this visitor
> branch, but I can't find it anywhere?  
checkout kintels git project with

git clone [hidden email]:kintel/openscad.git

switch to the visitor branch using

git checkout remotes/origin/visitor

> I'm really interested in taking out the gui stuff to make this go
> faster.  

I would have thought its fairly likely that if openscad had performance
problems due to the GUI code it would be unuseable, you would have to
wait while it did the "hard stuff" for every single time you move the 3d
view. I speculate that the "hard stuff" (converting primitives
constructive solid geometry (CSG)) is done outside of the GUI code using
CGAL and will probably be just as slow with or without the un-related
GUI code "slowing it down"

> So far CloudSCAD is great with small scripts, but I'm going to have to
> get creative to optimize it.  :)  Also perhaps a long running process
> instead of launching it each time.
>
I hope you can figure out a way to optimise it, hopefully the
performance increases you come up with will benefit everybody
>
> By the way, I have an STL javascript 3D renderer now so I have the gui
> totally separated and don't need the ability to generate animation
> frames from the command line anymore.

Good luck

Regards

Giles



Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

tbuser
On Tue, Aug 24, 2010 at 5:13 PM, Giles Bathgate <[hidden email]> wrote:
git clone [hidden email]:kintel/openscad.git

switch to the visitor branch using

git checkout remotes/origin/visitor

Thanks, except I was getting a public key error.  I had to git clone git://git.kintel.net/kintel/openscad.git instead.
 
I would have thought its fairly likely that if openscad had performance
problems due to the GUI code it would be unuseable, you would have to
wait while it did the "hard stuff" for every single time you move the 3d
view. I speculate that the "hard stuff" (converting primitives
constructive solid geometry (CSG)) is done outside of the GUI code using
CGAL and will probably be just as slow with or without the un-related
GUI code "slowing it down"

Well, I haven't even looked at the openscad code yet, but I'm thinking there's probably a hit on startup. Considering every time I shell out to openscad, it's launching a new instance, I see the icon appear in my dock, it does it's thing then closes.  That is what I want to avoid.  Then again, I am developing it on a mac, I need to test it in linux.

Reply | Threaded
Open this post in threaded view
|

Re: CloudSCAD

kintel
Administrator
In reply to this post by tbuser
On Aug 24, 2010, at 22:52 PM, Tony Buser wrote:

> By the way, I have an STL javascript 3D renderer now so I have the gui totally separated and don't need the ability to generate animation frames from the command line anymore.

Cool :)
If you're interested in making it open source, we could merge all this code into the same repository.
As you already figured out through Giles, I'm playing with git and we might move OpenSCAD to a public server soonish - that would make it easier to add developers.

Regarding performance hits - the primary performance hit is evaluation using CGAL. However, all calculations are cached internally based on source code hashes of each block/primitive, so subsequent reevaluations can be really fast depending on what was changed (but will not give you anything if you restart OpenSCAD every time you change the model source code).
It might be interesting to look into ways to make this cache apply to more than one model and thus make a long-living process possible.

I've got a bit of a catch-up to do after 4 weeks off-line, but I'll eventually get around to looking closer at all this.

~/= Marius

--
We are Elektropeople for a better living.