GB
Glenn Butcher
Wed, Mar 11, 2026 3:06 PM
I'm using the 3MF file format to populate a viewer for others to
navigate a model for collaboration in restoring an old railroad car.
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script, cool beans. What I'd like to
have is a name() modifier that would attach a parameter=specified string
to a module call so that string could be used to name the mesh loaded
into the 3MF file. Absent that, even just using the module name that
produced the mesh would work. With mesh names, viewers could toggle
visibility on/off for the things they'd want to inspect.
Thought I'd float this boat here for comment before cluttering the
issues list.
Thanks,
Glenn Butcher
I'm using the 3MF file format to populate a viewer for others to
navigate a model for collaboration in restoring an old railroad car.
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script, cool beans. What I'd like to
have is a name() modifier that would attach a parameter=specified string
to a module call so that string could be used to name the mesh loaded
into the 3MF file. Absent that, even just using the module name that
produced the mesh would work. With mesh names, viewers could toggle
visibility on/off for the things they'd want to inspect.
Thought I'd float this boat here for comment before cluttering the
issues list.
Thanks,
Glenn Butcher
CC
Cory Cross
Wed, Mar 11, 2026 3:21 PM
On 3/11/26 8:06 AM, Glenn Butcher via Discuss wrote:
I'm using the 3MF file format to populate a viewer for others to
navigate a model for collaboration in restoring an old railroad car.
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script, cool beans. What I'd like to
have is a name() modifier that would attach a parameter=specified
string to a module call so that string could be used to name the mesh
loaded into the 3MF file. Absent that, even just using the module
name that produced the mesh would work. With mesh names, viewers
could toggle visibility on/off for the things they'd want to inspect.
On 3/11/26 8:06 AM, Glenn Butcher via Discuss wrote:
> I'm using the 3MF file format to populate a viewer for others to
> navigate a model for collaboration in restoring an old railroad car.
> Current OpenSCAD appears to save models to 3MF as individual meshes of
> the module calls in the top-level script, cool beans. What I'd like to
> have is a name() modifier that would attach a parameter=specified
> string to a module call so that string could be used to name the mesh
> loaded into the 3MF file. Absent that, even just using the module
> name that produced the mesh would work. With mesh names, viewers
> could toggle visibility on/off for the things they'd want to inspect.
https://github.com/openscad/openscad/issues/1608
GB
Glenn Butcher
Wed, Mar 11, 2026 4:44 PM
Well, that's a burgeoning discussion...
Two things:
-
In 3MF, the name is an attribute in the <object> (mesh) tag, as
opposed to an entry in the separate <metadata> section. Right now,
OpenSCAD assigns a string from the export dialog box appended with a
sequence number to each <object name=...>
-
I don't think 'name' would have the magnitude of problems associated
with 'color', surface vs. volume and all that. All rendered objects
could get names, and union and intersection operations would easily
resolve to the name of the union, or the name of the subtracted-from
object.
On 3/11/2026 9:21 AM, Cory Cross via Discuss wrote:
On 3/11/26 8:06 AM, Glenn Butcher via Discuss wrote:
I'm using the 3MF file format to populate a viewer for others to
navigate a model for collaboration in restoring an old railroad car.
Current OpenSCAD appears to save models to 3MF as individual meshes
of the module calls in the top-level script, cool beans. What I'd
like to have is a name() modifier that would attach a
parameter=specified string to a module call so that string could be
used to name the mesh loaded into the 3MF file. Absent that, even
just using the module name that produced the mesh would work. With
mesh names, viewers could toggle visibility on/off for the things
they'd want to inspect.
https://github.com/openscad/openscad/issues/1608
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Well, that's a burgeoning discussion...
Two things:
1. In 3MF, the name is an attribute in the <object> (mesh) tag, as
opposed to an entry in the separate <metadata> section. Right now,
OpenSCAD assigns a string from the export dialog box appended with a
sequence number to each <object name=...>
2. I don't think 'name' would have the magnitude of problems associated
with 'color', surface vs. volume and all that. All rendered objects
could get names, and union and intersection operations would easily
resolve to the name of the union, or the name of the subtracted-from
object.
On 3/11/2026 9:21 AM, Cory Cross via Discuss wrote:
> On 3/11/26 8:06 AM, Glenn Butcher via Discuss wrote:
>> I'm using the 3MF file format to populate a viewer for others to
>> navigate a model for collaboration in restoring an old railroad car.
>> Current OpenSCAD appears to save models to 3MF as individual meshes
>> of the module calls in the top-level script, cool beans. What I'd
>> like to have is a name() modifier that would attach a
>> parameter=specified string to a module call so that string could be
>> used to name the mesh loaded into the 3MF file. Absent that, even
>> just using the module name that produced the mesh would work. With
>> mesh names, viewers could toggle visibility on/off for the things
>> they'd want to inspect.
>
> https://github.com/openscad/openscad/issues/1608
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
CC
Cory Cross
Wed, Mar 11, 2026 4:48 PM
On 3/11/26 9:44 AM, Glenn Butcher via Discuss wrote:
Well, that's a burgeoning discussion...
Two things: ...
People won't look to the list for random discussions, so if it's worth
considering, I suggest adding it to the gh Issue.
On 3/11/26 9:44 AM, Glenn Butcher via Discuss wrote:
> Well, that's a burgeoning discussion...
>
> Two things: ...
People won't look to the list for random discussions, so if it's worth
considering, I suggest adding it to the gh Issue.
JB
Jordan Brown
Wed, Mar 11, 2026 11:25 PM
On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script,
Only in the experimental and not-likely-to-survive-in-its-current-form
"lazy union" mode.
In the default, non-experimental, supported mode, it always emits one mesh.
If you use lazy-union mode, you should assume that your work will need
to be revisited at some point in the future.
(That's true of using any experimental feature, but while most features
are likely to survive, lazy-union is known to not be a good answer.)
On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
> Current OpenSCAD appears to save models to 3MF as individual meshes of
> the module calls in the top-level script,
Only in the experimental and not-likely-to-survive-in-its-current-form
"lazy union" mode.
In the default, non-experimental, supported mode, it always emits one mesh.
If you use lazy-union mode, you should assume that your work will need
to be revisited at some point in the future.
(That's true of using any experimental feature, but while most features
are likely to survive, lazy-union is known to not be a good answer.)
GB
Glenn Butcher
Thu, Mar 12, 2026 4:35 AM
Dang. Now I need to find a viewer that supports multiple files...
On March 11, 2026 5:25:18 PM MDT, Jordan Brown openscad@jordan.maileater.net wrote:
On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script,
Only in the experimental and not-likely-to-survive-in-its-current-form
"lazy union" mode.
In the default, non-experimental, supported mode, it always emits one mesh.
If you use lazy-union mode, you should assume that your work will need
to be revisited at some point in the future.
(That's true of using any experimental feature, but while most features
are likely to survive, lazy-union is known to not be a good answer.)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Dang. Now I need to find a viewer that supports multiple files...
On March 11, 2026 5:25:18 PM MDT, Jordan Brown <openscad@jordan.maileater.net> wrote:
>On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
>> Current OpenSCAD appears to save models to 3MF as individual meshes of
>> the module calls in the top-level script,
>
>Only in the experimental and not-likely-to-survive-in-its-current-form
>"lazy union" mode.
>
>In the default, non-experimental, supported mode, it always emits one mesh.
>
>If you use lazy-union mode, you should assume that your work will need
>to be revisited at some point in the future.
>
>(That's true of using any experimental feature, but while most features
>are likely to survive, lazy-union is known to not be a good answer.)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
GB
Glenn Butcher
Thu, Mar 12, 2026 5:05 AM
After some cogitationI have another solution (separate 3mfs from openscad, combine them in another program I wrote with descriptive names), but i do want to point out that single- part 3d printing isn't the only CAD use case.
On March 11, 2026 5:25:18 PM MDT, Jordan Brown openscad@jordan.maileater.net wrote:
On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
Current OpenSCAD appears to save models to 3MF as individual meshes of
the module calls in the top-level script,
Only in the experimental and not-likely-to-survive-in-its-current-form
"lazy union" mode.
In the default, non-experimental, supported mode, it always emits one mesh.
If you use lazy-union mode, you should assume that your work will need
to be revisited at some point in the future.
(That's true of using any experimental feature, but while most features
are likely to survive, lazy-union is known to not be a good answer.)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
After some cogitationI have another solution (separate 3mfs from openscad, combine them in another program I wrote with descriptive names), but i do want to point out that single- part 3d printing isn't the only CAD use case.
On March 11, 2026 5:25:18 PM MDT, Jordan Brown <openscad@jordan.maileater.net> wrote:
>On 3/11/2026 8:06 AM, Glenn Butcher via Discuss wrote:
>> Current OpenSCAD appears to save models to 3MF as individual meshes of
>> the module calls in the top-level script,
>
>Only in the experimental and not-likely-to-survive-in-its-current-form
>"lazy union" mode.
>
>In the default, non-experimental, supported mode, it always emits one mesh.
>
>If you use lazy-union mode, you should assume that your work will need
>to be revisited at some point in the future.
>
>(That's true of using any experimental feature, but while most features
>are likely to survive, lazy-union is known to not be a good answer.)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
JB
Jordan Brown
Thu, Mar 12, 2026 6:51 AM
but i do want to point out that single- part 3d printing isn't the only CAD use case.
Of course. Lazy Union just isn’t likely to be the ultimate solution.
> but i do want to point out that single- part 3d printing isn't the only CAD use case.
Of course. Lazy Union just isn’t likely to be the ultimate solution.
GB
Glenn Butcher
Thu, Mar 12, 2026 2:19 PM
Here's my use case:
When I build a large model, I'll construct parts and assemblies in individual openscad scripts, which get printed. I also make an integration script, which <use>s the part/assembly scripts to place them in their intended positions to render the complete model. I don't print this, but I've recently found it useful to give to other participants to plan work.
I'm using o3dv to make a viewer website for them to do their regarding, would like to put a single 3mf file with all the individual meshes from the integration script in the viewer, where it has a mesh list and tools to toggle their visibility. So, the lazy- union export to 3mf behavior of one mesh for each individual render is needed. Giving the individual meshes descriptive names instead of "OpenSCAD Model #" would also be helpful.
Thanks,
Glenn Butcher
On March 12, 2026 12:51:33 AM MDT, Jordan Brown openscad@jordan.maileater.net wrote:
but i do want to point out that single- part 3d printing isn't the only CAD use case.
Of course. Lazy Union just isn’t likely to be the ultimate solution.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Here's my use case:
When I build a large model, I'll construct parts and assemblies in individual openscad scripts, which get printed. I also make an integration script, which <use>s the part/assembly scripts to place them in their intended positions to render the complete model. I don't print this, but I've recently found it useful to give to other participants to plan work.
I'm using o3dv to make a viewer website for them to do their regarding, would like to put a single 3mf file with all the individual meshes from the integration script in the viewer, where it has a mesh list and tools to toggle their visibility. So, the lazy- union export to 3mf behavior of one mesh for each individual render is needed. Giving the individual meshes descriptive names instead of "OpenSCAD Model #" would also be helpful.
Thanks,
Glenn Butcher
On March 12, 2026 12:51:33 AM MDT, Jordan Brown <openscad@jordan.maileater.net> wrote:
>
>> but i do want to point out that single- part 3d printing isn't the only CAD use case.
>
>Of course. Lazy Union just isn’t likely to be the ultimate solution.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
LM
Leonard Martin Struttmann
Thu, Mar 12, 2026 2:25 PM
I have used Prusaslicer to do something similar. Also, is this something
that FreeCad could do?
On Thu, Mar 12, 2026 at 7:19 AM Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
Here's my use case:
When I build a large model, I'll construct parts and assemblies in
individual openscad scripts, which get printed. I also make an integration
script, which <use>s the part/assembly scripts to place them in their
intended positions to render the complete model. I don't print this, but
I've recently found it useful to give to other participants to plan work.
I'm using o3dv to make a viewer website for them to do their regarding,
would like to put a single 3mf file with all the individual meshes from the
integration script in the viewer, where it has a mesh list and tools to
toggle their visibility. So, the lazy- union export to 3mf behavior of one
mesh for each individual render is needed. Giving the individual meshes
descriptive names instead of "OpenSCAD Model #" would also be helpful.
Thanks,
Glenn Butcher
On March 12, 2026 12:51:33 AM MDT, Jordan Brown <
openscad@jordan.maileater.net> wrote:
but i do want to point out that single- part 3d printing isn't the only CAD use case.
Of course. Lazy Union just isn’t likely to be the ultimate solution.
--
I have used Prusaslicer to do something similar. Also, is this something
that FreeCad could do?
On Thu, Mar 12, 2026 at 7:19 AM Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
> Here's my use case:
>
> When I build a large model, I'll construct parts and assemblies in
> individual openscad scripts, which get printed. I also make an integration
> script, which <use>s the part/assembly scripts to place them in their
> intended positions to render the complete model. I don't print this, but
> I've recently found it useful to give to other participants to plan work.
>
> I'm using o3dv to make a viewer website for them to do their regarding,
> would like to put a single 3mf file with all the individual meshes from the
> integration script in the viewer, where it has a mesh list and tools to
> toggle their visibility. So, the lazy- union export to 3mf behavior of one
> mesh for each individual render is needed. Giving the individual meshes
> descriptive names instead of "OpenSCAD Model #" would also be helpful.
>
> Thanks,
> Glenn Butcher
>
>
> On March 12, 2026 12:51:33 AM MDT, Jordan Brown <
> openscad@jordan.maileater.net> wrote:
>
>>
>>
>>> but i do want to point out that single- part 3d printing isn't the only CAD use case.
>>>
>>
>> Of course. Lazy Union just isn’t likely to be the ultimate solution.
>>
>> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org