Needed OpenSCAD features

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

Needed OpenSCAD features

Brad Pitcher
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad
Reply | Threaded
Open this post in threaded view
|

Re: Needed OpenSCAD features

I.T. Daniher
On a first pass, it sounds like most of the requested features are language specific and solved by Python. 

The PySCAD(github.com/kevinmehall/pyscad) project has stalled largely due to lack of interest and Kevin/I having a plethora of other projects on our plate.

How do you feel about using another, much more complete language with openSCAD's compiling and display engines? Would this meet your needs?

Best,
--
Ian

On Sun, Apr 24, 2011 at 15:32, Brad Pitcher <[hidden email]> wrote:
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Needed OpenSCAD features

Brad Pitcher
You're right, Ian. I had never heard of PySCAD, but I checked it out and I could easily do everything I want to with it. I always thought it was a bit strange to create a separate compiler for OpenSCAD. The library paradigm in PySCAD makes more sense to me, and thank goodness you did it in Python. Does it support all the 2d/3d primitives in OpenSCAD? The only problem I have with it is that is stalled. I get uneasy using a piece of software that may never be updated.
Cheers,
Brad

On Sun, Apr 24, 2011 at 12:41 PM, I.T. Daniher <[hidden email]> wrote:
On a first pass, it sounds like most of the requested features are language specific and solved by Python. 

The PySCAD(github.com/kevinmehall/pyscad) project has stalled largely due to lack of interest and Kevin/I having a plethora of other projects on our plate.

How do you feel about using another, much more complete language with openSCAD's compiling and display engines? Would this meet your needs?

Best,
--
Ian

On Sun, Apr 24, 2011 at 15:32, Brad Pitcher <[hidden email]> wrote:
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Needed OpenSCAD features

Brad Pitcher
You know, I don't really care how well supported it is. This absolutely blows my mind! Having the power of Python wielding the tools of OpenSCAD is just incredible.
Thank you for showing me the way, I am totally geeking out on this right now.

On Sun, Apr 24, 2011 at 9:10 PM, Brad Pitcher <[hidden email]> wrote:
You're right, Ian. I had never heard of PySCAD, but I checked it out and I could easily do everything I want to with it. I always thought it was a bit strange to create a separate compiler for OpenSCAD. The library paradigm in PySCAD makes more sense to me, and thank goodness you did it in Python. Does it support all the 2d/3d primitives in OpenSCAD? The only problem I have with it is that is stalled. I get uneasy using a piece of software that may never be updated.
Cheers,
Brad


On Sun, Apr 24, 2011 at 12:41 PM, I.T. Daniher <[hidden email]> wrote:
On a first pass, it sounds like most of the requested features are language specific and solved by Python. 

The PySCAD(github.com/kevinmehall/pyscad) project has stalled largely due to lack of interest and Kevin/I having a plethora of other projects on our plate.

How do you feel about using another, much more complete language with openSCAD's compiling and display engines? Would this meet your needs?

Best,
--
Ian

On Sun, Apr 24, 2011 at 15:32, Brad Pitcher <[hidden email]> wrote:
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



Reply | Threaded
Open this post in threaded view
|

Re: Needed OpenSCAD features

I.T. Daniher
Glad to hear you're interest has been piqued. I passed your comments along to Kevin and we may be spending some more time on development.

Please feel free to drop me a line with comments and requests!

In addition, to help guide our development efforts, go ahead and let us know what's missing and broken at https://github.com/kevinmehall/pyscad/issues.

Best,
--
Ian

On Mon, Apr 25, 2011 at 00:29, Brad Pitcher <[hidden email]> wrote:
You know, I don't really care how well supported it is. This absolutely blows my mind! Having the power of Python wielding the tools of OpenSCAD is just incredible.
Thank you for showing me the way, I am totally geeking out on this right now.


On Sun, Apr 24, 2011 at 9:10 PM, Brad Pitcher <[hidden email]> wrote:
You're right, Ian. I had never heard of PySCAD, but I checked it out and I could easily do everything I want to with it. I always thought it was a bit strange to create a separate compiler for OpenSCAD. The library paradigm in PySCAD makes more sense to me, and thank goodness you did it in Python. Does it support all the 2d/3d primitives in OpenSCAD? The only problem I have with it is that is stalled. I get uneasy using a piece of software that may never be updated.
Cheers,
Brad


On Sun, Apr 24, 2011 at 12:41 PM, I.T. Daniher <[hidden email]> wrote:
On a first pass, it sounds like most of the requested features are language specific and solved by Python. 

The PySCAD(github.com/kevinmehall/pyscad) project has stalled largely due to lack of interest and Kevin/I having a plethora of other projects on our plate.

How do you feel about using another, much more complete language with openSCAD's compiling and display engines? Would this meet your needs?

Best,
--
Ian

On Sun, Apr 24, 2011 at 15:32, Brad Pitcher <[hidden email]> wrote:
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Needed OpenSCAD features

Brad Pitcher
Will do. I'll do what I can with code too. You'll see a pull request from me soon with docstrings.
Cheers,
Brad

On Sun, Apr 24, 2011 at 10:12 PM, I.T. Daniher <[hidden email]> wrote:
Glad to hear you're interest has been piqued. I passed your comments along to Kevin and we may be spending some more time on development.

Please feel free to drop me a line with comments and requests!

In addition, to help guide our development efforts, go ahead and let us know what's missing and broken at https://github.com/kevinmehall/pyscad/issues.

Best,
--
Ian

On Mon, Apr 25, 2011 at 00:29, Brad Pitcher <[hidden email]> wrote:
You know, I don't really care how well supported it is. This absolutely blows my mind! Having the power of Python wielding the tools of OpenSCAD is just incredible.
Thank you for showing me the way, I am totally geeking out on this right now.


On Sun, Apr 24, 2011 at 9:10 PM, Brad Pitcher <[hidden email]> wrote:
You're right, Ian. I had never heard of PySCAD, but I checked it out and I could easily do everything I want to with it. I always thought it was a bit strange to create a separate compiler for OpenSCAD. The library paradigm in PySCAD makes more sense to me, and thank goodness you did it in Python. Does it support all the 2d/3d primitives in OpenSCAD? The only problem I have with it is that is stalled. I get uneasy using a piece of software that may never be updated.
Cheers,
Brad


On Sun, Apr 24, 2011 at 12:41 PM, I.T. Daniher <[hidden email]> wrote:
On a first pass, it sounds like most of the requested features are language specific and solved by Python. 

The PySCAD(github.com/kevinmehall/pyscad) project has stalled largely due to lack of interest and Kevin/I having a plethora of other projects on our plate.

How do you feel about using another, much more complete language with openSCAD's compiling and display engines? Would this meet your needs?

Best,
--
Ian

On Sun, Apr 24, 2011 at 15:32, Brad Pitcher <[hidden email]> wrote:
Hey everyone,

I hope this hasn't been discussed before, if so feel free to direct me to that discussion.
I recently made a thing (http://www.thingiverse.com/thing:8000) that was quite heavy on the programming side and I ran up against several limitations of OpenSCAD. There are several features that I think are very much needed and I just wanted to see if anyone is working on them or planning on working on them.

- Indexing strings and length function for string and arrays. This is actually already done and there is a pull request (https://github.com/openscad/openscad/pull/6). I just wanted to bring attention to it, because they are very useful features

- Mutable variables. From the wikibooks guide: "Note: Because of a deficiency in the way OpenSCAD handles variables, you should treat variables in OpenSCAD as immutable." I didn't realize this until I started working on my project and I was forced to remove some features that I wanted to include. Is anyone planning on making variables mutable, or is there some valid reason not to?

- Key/Value map objects. I think this could be done without too much trouble using a QMap as the underlying representation. I half-heartedly tried to do this myself but had a little trouble figuring out the exact Yacc syntax to use in parser.y and kept getting compilation errors in that file. If no one is working on this, I will keep working on it and figure it out. First I want to make sure it's something that is actually wanted in the project. I was thinking of following a javascript syntax: {"key1":"value1", "key2": "value2" ... This isn't strictly necessary as you can get the same functionality with two arrays, but that's an ugly implementation.

- I also tried to recursively call modules, but OpenSCAD seemed to have a problem with it. This one isn't as important, since any recursive algorithm can be implemented in a non-recursive way right?

Thanks for your time, guys.
-Brad

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad