Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

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

Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

grit
Hi!

What do you think of breaking OpenSCAD source into three parts, namely
Model, View and Controller as per Wikipedia article:
  https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
<https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller>   ?

I can see some immediate advantages :
1. We can have several models executing in parallel on multiprocessor and
multi core machines.
2. We can queue finished computed models for viewing later on some device
with a screen - all we need is the vertices for the view.
3. The code will be easier to find: e.g. in folder
view->search->replace->replace.cpp have all functionality regarding that
single menu item to replace code. Compare that with the current structure,
where all code is in one place in folder src.
4. The controller will on behalf of the user execute changes in the model
and display it by using the view.
5. We can break the big mainwin.cc into several sub-controllers to do the
work confined to a small responsibility for a particular sub-controller.
6. I think Qt:s Signal and Slots can co-exist with the controllers - we just
need to assign certain responsibilities for the sub-controllers.
7. Your advantages...

Off course there will be some disadvantages as well:
8. The code will be in limbo for a long time when some of the code is well
structured and some is as the old structure.
9. It takes time to break up code that may have several responsibilities
now.
10. It is boring to rewrite something that just works.
11. Your disadvantages...

//Best regards Henrik



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

kintel
Administrator
MVC is mainly a UI paradigm and OpenSCAD does largely follow this with a few exceptions; e.g. there is view logic in the PolySet class, the controller is very heavy, there isn't 100% separation between pure model (AST) and operations on the model etc.
I believe all of this can be refactored piece by piece; the main challenge will be testing that the result is correct, as we don't have any automated UI testing.

In short: Worth trying, but perhaps think about a testing strategy first.

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

William Adams-2
I would be thrilled to have more control of things in the controller / customizer angle.

In particular, direct support for units, so that a user could plug in a dimension with units and have the display update to an object of that size along with textual displays of the current dimensions, then if the units displayed are changed, the displayed numbers are recalculated so as to display the dimensions for the current object in the selected units.

William


On Mon, Mar 11, 2019 at 11:49 AM Marius Kintel <[hidden email]> wrote:
MVC is mainly a UI paradigm and OpenSCAD does largely follow this with a few exceptions; e.g. there is view logic in the PolySet class, the controller is very heavy, there isn't 100% separation between pure model (AST) and operations on the model etc.
I believe all of this can be refactored piece by piece; the main challenge will be testing that the result is correct, as we don't have any automated UI testing.

In short: Worth trying, but perhaps think about a testing strategy first.

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

grit
William Adams-2 wrote

> I would be thrilled to have more control of things in the controller /
> customizer angle.
>
> In particular, direct support for units, so that a user could plug in a
> dimension with units and have the display update to an object of that size
> along with textual displays of the current dimensions, then if the units
> displayed are changed, the displayed numbers are recalculated so as to
> display the dimensions for the current object in the selected units.
>
> William

That is really exiting and doable for many OpenSCAD models. I think of an
example
that may not display correctly though: if you have drawn a shape of a heart
with
exact radii and scale the object by entering new units, the radii may not
follow the
change in dimension as expected; thus if the appearance of the object is
good
enough -  then fine; but if the exact radii is needed, then you may have to
try and test
a few times to get the right size.
 


> On Mon, Mar 11, 2019 at 11:49 AM Marius Kintel &lt;

> marius@

> &gt; wrote:
>
>> MVC is mainly a UI paradigm and OpenSCAD does largely follow this with a
>> few exceptions; e.g. there is view logic in the PolySet class, the
>> controller is very heavy, there isn't 100% separation between pure model
>> (AST) and operations on the model etc.
>> I believe all of this can be refactored piece by piece; the main
>> challenge
>> will be testing that the result is correct, as we don't have any
>> automated
>> UI testing.
>>
>> In short: Worth trying, but perhaps think about a testing strategy first.
>>
>>  -Marius

Good that OpenSCAD seems to follow the paradigm (it is there but not
explicit with  
controller in class names etc). All right... didn't think of the automated
UI testing.
Well a folder structure could at least make it easier to find the right
files for newcomers
 so my suggestion with the paradigm could just be to set up a structure of
folders in
,for example, three levels for all files in src.

//Henrik



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

William Adams-2
Is it possible to control the application window size and placement of OpenCAD when it's launched?

Or to turn on/off various interface options such as the text editor and customizer?

On Tue, Mar 12, 2019 at 3:42 PM grit <[hidden email]> wrote:
William Adams-2 wrote
> I would be thrilled to have more control of things in the controller /
> customizer angle.
>
> In particular, direct support for units, so that a user could plug in a
> dimension with units and have the display update to an object of that size
> along with textual displays of the current dimensions, then if the units
> displayed are changed, the displayed numbers are recalculated so as to
> display the dimensions for the current object in the selected units.
>
> William

That is really exiting and doable for many OpenSCAD models. I think of an
example
that may not display correctly though: if you have drawn a shape of a heart
with
exact radii and scale the object by entering new units, the radii may not
follow the
change in dimension as expected; thus if the appearance of the object is
good
enough -  then fine; but if the exact radii is needed, then you may have to
try and test
a few times to get the right size.



> On Mon, Mar 11, 2019 at 11:49 AM Marius Kintel &lt;

> marius@

> &gt; wrote:
>
>> MVC is mainly a UI paradigm and OpenSCAD does largely follow this with a
>> few exceptions; e.g. there is view logic in the PolySet class, the
>> controller is very heavy, there isn't 100% separation between pure model
>> (AST) and operations on the model etc.
>> I believe all of this can be refactored piece by piece; the main
>> challenge
>> will be testing that the result is correct, as we don't have any
>> automated
>> UI testing.
>>
>> In short: Worth trying, but perhaps think about a testing strategy first.
>>
>>  -Marius

Good that OpenSCAD seems to follow the paradigm (it is there but not
explicit with 
controller in class names etc). All right... didn't think of the automated
UI testing.
Well a folder structure could at least make it easier to find the right
files for newcomers
 so my suggestion with the paradigm could just be to set up a structure of
folders in
,for example, three levels for all files in src.

//Henrik



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

MichaelAtOz
Administrator
William Adams-2 wrote
> Is it possible to control the application window size and placement of
> OpenCAD when it's launched?
>
> Or to turn on/off various interface options such as the text editor and
> customizer?

ATM* on Windows all that is in the registry, the same will be somewhere on
other platforms.
*-there is an issue proposing to move it to n .ini file.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\OpenSCAD]

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD]
"recentFileList"=hex(7):43,00EDIT...
"lastOpenDirName"="C:/Users/EDIT...

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\3dview]
"colorscheme"="Cornfield"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\advanced]
"openCSGLimit"="1000000000"
"undockableWindows"="true"
"mdi"="true"
"enable_opencsg_opengl1x"="true"
"cgalCacheSize"="2147483647"
"polysetCacheSize"="2147483647"
"reorderWindows"="true"
"forceGoldfeather"="true"
"opencsg_show_warning"="false"
"enableSoundNotification"="true"
"localization"="true"
"enableParameterCheck"="false"
"cgalCacheSizeMB"="2047"
"polysetCacheSizeMB"="2047"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\design]
"autoReload"="false"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\editor]
"fontsize"=dword:0000000a
"ctrlmousewheelzoom"="false"
"editortype"="QScintilla Editor"
"syntaxhighlight"="Visual Studio"
"fontfamily"="Courier New"
"backspaceUnindents"="true"
"showWhitespacesSize"="9"
"lineWrap"="Char"
"lineWrapVisualizationEnd"="Text"
"indentationWidth"="2"
"tabWidth"="2"
"lineWrapIndentationStyle"="Same"
"lineWrapVisualizationBegin"="Border"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\feature]
"concat"="true"
"text"="true"
"lc-for-c"="true"
"lc-else"="true"
"lc-each"="true"
"svg-import"="true"
"customizer"="true"
"echo"="true"
"assert"="true"
"amf-import"="true"
"thread-traversal"="true"
"input-driver"="true"
"3mf-import"="true"
"3mf-export"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver]

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver\axis]
"translateX"="+1"
"translateY"="-2"
"translateZ"="-3"
"rotateX"="+4"
"rotateY"="-5"
"rotateZ"="-6"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver\button]
"1"="viewActionResetView"
"2"="viewActionViewAll"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\launcher]
"showOnStartup"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\view]
"orthogonalProjection"="true"
"showCrosshairs"="false"
"showAxes"="true"
"hideEditor"="false"
"showEdges"="false"
"hideConsole"="false"
"hideToolbar"="false"
"showScaleProportional"="true"
"hideCustomizer"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window]
"size"="@Size(1484 1051)"
"position"="@Point(86 2)"
"state"=hex:40,00,42,00,79,00,74,00,65,00,41,00,72,00,72,00,61,00,79,00,28,00,\
 
00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,fd,00,00,00,00,00,00,00,03,\
 
00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,a6,00,00,00,00,00,03,00,f2,00,\
 
fc,00,02,00,00,00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,14,00,00,00,65,\
 
00,00,00,64,00,00,00,69,00,00,00,74,00,00,00,6f,00,00,00,72,00,00,00,44,00,\
 
00,00,6f,00,00,00,63,00,00,00,6b,00,01,00,00,00,00,00,00,00,12,00,00,00,00,\
 
00,03,00,f2,00,00,00,00,00,00,00,6d,00,00,00,ff,00,ff,00,ff,00,00,00,00,00,\
 
00,00,01,00,00,00,00,00,01,00,43,00,00,00,00,00,00,00,00,00,fc,00,02,00,00,\
 
00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,1a,00,00,00,70,00,00,00,61,00,\
 
00,00,72,00,00,00,61,00,00,00,6d,00,00,00,65,00,00,00,74,00,00,00,65,00,00,\
 
00,72,00,00,00,44,00,00,00,6f,00,00,00,63,00,00,00,6b,00,00,00,00,00,00,00,\
 
00,00,12,00,00,00,00,00,00,00,8a,00,00,00,00,00,00,00,8a,00,00,00,ff,00,ff,\
 
00,ff,00,00,00,00,00,00,00,03,00,00,00,00,00,03,00,22,00,00,00,00,00,01,00,\
 
60,00,fc,00,01,00,00,00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,16,00,00,\
 
00,63,00,00,00,6f,00,00,00,6e,00,00,00,73,00,00,00,6f,00,00,00,6c,00,00,00,\
 
65,00,00,00,44,00,00,00,6f,00,00,00,63,00,00,00,6b,00,01,00,00,00,00,00,02,\
 
00,aa,00,00,00,00,00,03,00,22,00,00,00,00,00,00,00,48,00,00,00,ff,00,ff,00,\
 
ff,00,00,00,00,00,03,00,22,00,00,00,00,00,02,00,8e,00,00,00,00,00,00,00,01,\
 
00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,02,00,\
  fc,00,00,00,00,00,00,00,00,00,29,00

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes]
"size"=dword:00000002

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes\1]
"entry"=dword:00000188

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes\2]
"entry"=dword:0000018a

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes]
"size"=dword:00000002

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes\1]
"entry"=dword:00000176

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes\2]
"entry"=dword:0000009d





-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”   Fight it! http://www.ourfairdeal.org/   time is running out!
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Admin - email* me if you need anything,
or if I've done something stupid...
* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work.
Obviously inclusion of works of previous authors is not included in the above.


The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out!
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

William Adams-2
Oh. Darn. No option to use some options passed in when the application is started / called?

William

On Wed, Mar 13, 2019 at 5:17 PM MichaelAtOz <[hidden email]> wrote:
William Adams-2 wrote
> Is it possible to control the application window size and placement of
> OpenCAD when it's launched?
>
> Or to turn on/off various interface options such as the text editor and
> customizer?

ATM* on Windows all that is in the registry, the same will be somewhere on
other platforms.
*-there is an issue proposing to move it to n .ini file.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\OpenSCAD]

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD]
"recentFileList"=hex(7):43,00EDIT...
"lastOpenDirName"="C:/Users/EDIT...

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\3dview]
"colorscheme"="Cornfield"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\advanced]
"openCSGLimit"="1000000000"
"undockableWindows"="true"
"mdi"="true"
"enable_opencsg_opengl1x"="true"
"cgalCacheSize"="2147483647"
"polysetCacheSize"="2147483647"
"reorderWindows"="true"
"forceGoldfeather"="true"
"opencsg_show_warning"="false"
"enableSoundNotification"="true"
"localization"="true"
"enableParameterCheck"="false"
"cgalCacheSizeMB"="2047"
"polysetCacheSizeMB"="2047"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\design]
"autoReload"="false"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\editor]
"fontsize"=dword:0000000a
"ctrlmousewheelzoom"="false"
"editortype"="QScintilla Editor"
"syntaxhighlight"="Visual Studio"
"fontfamily"="Courier New"
"backspaceUnindents"="true"
"showWhitespacesSize"="9"
"lineWrap"="Char"
"lineWrapVisualizationEnd"="Text"
"indentationWidth"="2"
"tabWidth"="2"
"lineWrapIndentationStyle"="Same"
"lineWrapVisualizationBegin"="Border"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\feature]
"concat"="true"
"text"="true"
"lc-for-c"="true"
"lc-else"="true"
"lc-each"="true"
"svg-import"="true"
"customizer"="true"
"echo"="true"
"assert"="true"
"amf-import"="true"
"thread-traversal"="true"
"input-driver"="true"
"3mf-import"="true"
"3mf-export"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver]

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver\axis]
"translateX"="+1"
"translateY"="-2"
"translateZ"="-3"
"rotateX"="+4"
"rotateY"="-5"
"rotateZ"="-6"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\InputDriver\button]
"1"="viewActionResetView"
"2"="viewActionViewAll"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\launcher]
"showOnStartup"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\view]
"orthogonalProjection"="true"
"showCrosshairs"="false"
"showAxes"="true"
"hideEditor"="false"
"showEdges"="false"
"hideConsole"="false"
"hideToolbar"="false"
"showScaleProportional"="true"
"hideCustomizer"="true"

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window]
"size"="@Size(1484 1051)"
"position"="@Point(86 2)"
"state"=hex:40,00,42,00,79,00,74,00,65,00,41,00,72,00,72,00,61,00,79,00,28,00,\

00,00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,fd,00,00,00,00,00,00,00,03,\

00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,a6,00,00,00,00,00,03,00,f2,00,\

fc,00,02,00,00,00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,14,00,00,00,65,\

00,00,00,64,00,00,00,69,00,00,00,74,00,00,00,6f,00,00,00,72,00,00,00,44,00,\

00,00,6f,00,00,00,63,00,00,00,6b,00,01,00,00,00,00,00,00,00,12,00,00,00,00,\

00,03,00,f2,00,00,00,00,00,00,00,6d,00,00,00,ff,00,ff,00,ff,00,00,00,00,00,\

00,00,01,00,00,00,00,00,01,00,43,00,00,00,00,00,00,00,00,00,fc,00,02,00,00,\

00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,1a,00,00,00,70,00,00,00,61,00,\

00,00,72,00,00,00,61,00,00,00,6d,00,00,00,65,00,00,00,74,00,00,00,65,00,00,\

00,72,00,00,00,44,00,00,00,6f,00,00,00,63,00,00,00,6b,00,00,00,00,00,00,00,\

00,00,12,00,00,00,00,00,00,00,8a,00,00,00,00,00,00,00,8a,00,00,00,ff,00,ff,\

00,ff,00,00,00,00,00,00,00,03,00,00,00,00,00,03,00,22,00,00,00,00,00,01,00,\

60,00,fc,00,01,00,00,00,00,00,00,00,01,00,fb,00,00,00,00,00,00,00,16,00,00,\

00,63,00,00,00,6f,00,00,00,6e,00,00,00,73,00,00,00,6f,00,00,00,6c,00,00,00,\

65,00,00,00,44,00,00,00,6f,00,00,00,63,00,00,00,6b,00,01,00,00,00,00,00,02,\

00,aa,00,00,00,00,00,03,00,22,00,00,00,00,00,00,00,48,00,00,00,ff,00,ff,00,\

ff,00,00,00,00,00,03,00,22,00,00,00,00,00,02,00,8e,00,00,00,00,00,00,00,01,\

00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,02,00,\
  fc,00,00,00,00,00,00,00,00,00,29,00

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes]
"size"=dword:00000002

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes\1]
"entry"=dword:00000188

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter1sizes\2]
"entry"=dword:0000018a

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes]
"size"=dword:00000002

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes\1]
"entry"=dword:00000176

[HKEY_CURRENT_USER\Software\OpenSCAD\OpenSCAD\window\splitter2sizes\2]
"entry"=dword:0000009d





-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”   Fight it! http://www.ourfairdeal.org/   time is running out!
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

MichaelAtOz
Administrator
William Adams-2 wrote
> Oh. Darn. No option to use some options passed in when the application is
> started / called?

No.
If you're on Windows you could modify the Registry in a batch file like so:
https://stackoverflow.com/questions/13809856/run-reg-command-in-cmd-bat-file?noredirect=1&lq=1
(I've not done this myself, yet) [make a backup!]



-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”   Fight it! http://www.ourfairdeal.org/   time is running out!
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Admin - email* me if you need anything,
or if I've done something stupid...
* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work.
Obviously inclusion of works of previous authors is not included in the above.


The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out!
Reply | Threaded
Open this post in threaded view
|

Re: Splitting OpenSCAD into three parts - Model - View - Controller in the long run?

William Adams-2
That's a bit too risky for distributing an application as a solution.

Wonder if there's some scripting tool which could do this.

William

On Thu, Mar 14, 2019 at 6:05 PM MichaelAtOz <[hidden email]> wrote:
William Adams-2 wrote
> Oh. Darn. No option to use some options passed in when the application is
> started / called?

No.
If you're on Windows you could modify the Registry in a batch file like so:
https://stackoverflow.com/questions/13809856/run-reg-command-in-cmd-bat-file?noredirect=1&lq=1
(I've not done this myself, yet) [make a backup!]



-----
Admin - email* me if you need anything, or if I've done something stupid...

* click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”   Fight it! http://www.ourfairdeal.org/   time is running out!
--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org