DP
David Phillip Oster
Sun, Jan 16, 2022 9:14 PM
I was not able to reproduce the quit without saving behavior with OpenSCAD
version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
General* [] Ask to keep changes when closing documents* was not checked, []
Close windows when quitting an app was also not checked.
I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then I
opened a new window, then hit Quit from the menu bar. I got the expected
alert saying:
- Some tabs have unsaved changes.*
Do you want to save all your changes?
(Don't Save) (Cancel) (Save All)
This is what I'd expect a Macintosh app to do. Almost. The alert seems to
think I have multiple tabs open when in fact I have multiple windows open.
If I hit (Cancel) the quit action is canceled. If I hit Don't Save then
it doesn't save and the quit action completes.
It looks like you told it not to save, then complained when it did what you
told it to do.
On Sun, Jan 16, 2022 at 4:06 AM Bob Carter caggius@gmail.com wrote:
It is easily replicated and is definitely a Mac only thing, as only a Mac
has a separate menu bar at the top of the screen shared by multiple windows.
Basically whilst distracted by my partner I hit the Quit Openscad from the
Menu Bar instead of using the close button on the title bar of the second
OpenSCAD window, .
Instantly closing all open windows is consistent with other MAC
applications.
Not checking for unsaved changes when Quit’ing seems to be the default in
OpenSCAD even for a single window with changes in it.
However most Mac applications such as Mail, will on Quit Mail save the
contents of all open windows (e.g. the 'Compose new Message” window that I
am currently using to type this note in. It will then recreate this second
window when the application is restarted.
Similarly the Brave Browser will on Quit Brave remember the open tabs and
reload them but it will not do so when it has been closed via the close
button.
So there is a case to argue that Mac needs the extra save check function
as it is possible to Quit and loose all of your design changes - but this
is totally unique to the Mac interface and it looks like I am the only one
to have fallen foul of it to date and admit to my stupidity - so I would
not put a high priority on it.
cheers
Bob.C
On 15 Jan 2022, at 23:57, MichaelAtOz oz.at.michael@gmail.com wrote:
If you can replicate it, and list the steps so someone can confirm, I'd
say that is a bug that needs fixing.
It could also be a Mac thing. I don't think my original 128K Mac will run
OpenSCAD, so I can't test.
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 10:15
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Autosave/Recovery
Not on Mac - there is the “*” in the file title - the problem arose
because I opened the second file from finder which opens it in a separate
window and not in a tab - so I had two windows open and not two tabs.
I went to OpenScad-> Quit Openscad on the active window which had no
changes expecting it to quit that window and it quit both windows
simultaneously without a save prompt for all of the changed data in the
other window….
thanks
Bob.C
On 15 Jan 2022, at 23:01, MichaelAtOz oz.at.michael@gmail.com wrote:
Do you se something like this when you F5 or F6 with unsaved changes?
Parsing design (AST generation)...
Saved backup file:
C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
Also closing with unsaved changes should get:
<image001.jpg>
Do you?
-----Original Message-----
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 09:18
To: OpenSCAD general discussion
Subject: [OpenSCAD] Autosave/Recovery
OK I have been an idiot and whilst distracted by my other half I closed
and not just the one - loosing about an hours work in Openscad.
So in hope more than anticipation I looked in my
Documents/Openscad/backups folder and
nothing has been saved there since 2020. Just checked my Privacy
does have write access to my documents folder.
Is autosave switched off in the development line, or have I
misunderstood when autosave
I was not able to reproduce the quit without saving behavior with OpenSCAD
version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
General* [] Ask to keep changes when closing documents* was not checked, *[]
Close windows when quitting an app* was also not checked.
I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then I
opened a new window, then hit *Quit* from the menu bar. I got the expected
alert saying:
* Some tabs have unsaved changes.*
Do you want to save all your changes?
(Don't Save) (Cancel) (Save All)
This is what I'd expect a Macintosh app to do. Almost. The alert seems to
think I have multiple tabs open when in fact I have multiple windows open.
If I hit (Cancel) the quit action is canceled. If I hit *Don't Save* then
it doesn't save and the quit action completes.
It looks like you told it not to save, then complained when it did what you
told it to do.
On Sun, Jan 16, 2022 at 4:06 AM Bob Carter <caggius@gmail.com> wrote:
> It is easily replicated and is definitely a Mac only thing, as only a Mac
> has a separate menu bar at the top of the screen shared by multiple windows.
>
> Basically whilst distracted by my partner I hit the Quit Openscad from the
> Menu Bar instead of using the close button on the title bar of the second
> OpenSCAD window, .
>
> Instantly closing all open windows is consistent with other MAC
> applications.
>
> Not checking for unsaved changes when Quit’ing seems to be the default in
> OpenSCAD even for a single window with changes in it.
>
> However most Mac applications such as Mail, will on Quit Mail save the
> contents of all open windows (e.g. the 'Compose new Message” window that I
> am currently using to type this note in. It will then recreate this second
> window when the application is restarted.
>
> Similarly the Brave Browser will on Quit Brave remember the open tabs and
> reload them but it will not do so when it has been closed via the close
> button.
>
> So there is a case to argue that Mac needs the extra save check function
> as it is possible to Quit and loose all of your design changes - but this
> is totally unique to the Mac interface and it looks like I am the only one
> to have fallen foul of it to date and admit to my stupidity - so I would
> not put a high priority on it.
>
> cheers
> Bob.C
>
>
>
> On 15 Jan 2022, at 23:57, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>
> If you can replicate it, and list the steps so someone can confirm, I'd
> say that is a bug that needs fixing.
> It could also be a Mac thing. I don't think my original 128K Mac will run
> OpenSCAD, so I can't test.
>
> ------------------------------
> *From:* Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
> *Sent:* Sun, 16 Jan 2022 10:15
> *To:* OpenSCAD general discussion
> *Subject:* [OpenSCAD] Re: Autosave/Recovery
>
> Not on Mac - there is the “*” in the file title - the problem arose
> because I opened the second file from finder which opens it in a separate
> window and not in a tab - so I had two windows open and not two tabs.
>
> I went to OpenScad-> Quit Openscad on the active window which had no
> changes expecting it to quit that window and it quit both windows
> simultaneously without a save prompt for all of the changed data in the
> other window….
>
> thanks
> Bob.C
>
>
>
> On 15 Jan 2022, at 23:01, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>
> Do you se something like this when you F5 or F6 with unsaved changes?
>
> Parsing design (AST generation)...
> Saved backup file:
> C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
>
> Also closing with unsaved changes should get:
>
> <image001.jpg>
>
> Do you?
>
> > -----Original Message-----
> > From: Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
> > Sent: Sun, 16 Jan 2022 09:18
> > To: OpenSCAD general discussion
> > Subject: [OpenSCAD] Autosave/Recovery
> >
> > OK I have been an idiot and whilst distracted by my other half I closed
> all open windows
> > and not just the one - loosing about an hours work in Openscad.
> >
> > So in hope more than anticipation I looked in my
> Documents/Openscad/backups folder and
> > nothing has been saved there since 2020. Just checked my Privacy
> Preferences and Openscad
> > does have write access to my documents folder.
> >
> > Is autosave switched off in the development line, or have I
> misunderstood when autosave
> > operates ? I had loaded macOS 220114 this morning….
> >
> > thanks
> > Bob.C
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> Virus-free. www.avg.com
> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
DP
David Phillip Oster
Sun, Jan 16, 2022 9:20 PM
About the: [] Ask to keep changes when closing documents in System
Preferences > General.
Unfortunately, OpenSCAD uses some kind of inadequate cross-platform
framework for its Mac app. This means you don't get true modern mac
behavior. A modern Mac app would automatically respect the *[] Ask to keep
changes when closing documents *and auto-save when closing. A modern Mac
app would have small icons on the title bar of the windows that respond as
sources for drag and drop, or respond to command-clicks by showing the path
of the document in the file system. A modern Mac app would let you compare
current and previous versions (Time Machine) of a file. An app written
using Apple's current Cocoa framework gets these features with no extra
work. I don't know when OpenSCAD's cross-platform framework will support
these built-in features.
On Sun, Jan 16, 2022 at 1:14 PM David Phillip Oster <
davidphilliposter@gmail.com> wrote:
I was not able to reproduce the quit without saving behavior with OpenSCAD
version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
General* [] Ask to keep changes when closing documents* was not checked, []
Close windows when quitting an app was also not checked.
I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then
I opened a new window, then hit Quit from the menu bar. I got the
expected alert saying:
- Some tabs have unsaved changes.*
Do you want to save all your changes?
(Don't Save) (Cancel) (Save All)
This is what I'd expect a Macintosh app to do. Almost. The alert seems to
think I have multiple tabs open when in fact I have multiple windows open.
If I hit (Cancel) the quit action is canceled. If I hit Don't Save then
it doesn't save and the quit action completes.
It looks like you told it not to save, then complained when it did what
you told it to do.
On Sun, Jan 16, 2022 at 4:06 AM Bob Carter caggius@gmail.com wrote:
It is easily replicated and is definitely a Mac only thing, as only a Mac
has a separate menu bar at the top of the screen shared by multiple windows.
Basically whilst distracted by my partner I hit the Quit Openscad from
the Menu Bar instead of using the close button on the title bar of the
second OpenSCAD window, .
Instantly closing all open windows is consistent with other MAC
applications.
Not checking for unsaved changes when Quit’ing seems to be the default in
OpenSCAD even for a single window with changes in it.
However most Mac applications such as Mail, will on Quit Mail save the
contents of all open windows (e.g. the 'Compose new Message” window that I
am currently using to type this note in. It will then recreate this second
window when the application is restarted.
Similarly the Brave Browser will on Quit Brave remember the open tabs and
reload them but it will not do so when it has been closed via the close
button.
So there is a case to argue that Mac needs the extra save check function
as it is possible to Quit and loose all of your design changes - but this
is totally unique to the Mac interface and it looks like I am the only one
to have fallen foul of it to date and admit to my stupidity - so I would
not put a high priority on it.
cheers
Bob.C
On 15 Jan 2022, at 23:57, MichaelAtOz oz.at.michael@gmail.com wrote:
If you can replicate it, and list the steps so someone can confirm, I'd
say that is a bug that needs fixing.
It could also be a Mac thing. I don't think my original 128K Mac will run
OpenSCAD, so I can't test.
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 10:15
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Autosave/Recovery
Not on Mac - there is the “*” in the file title - the problem arose
because I opened the second file from finder which opens it in a separate
window and not in a tab - so I had two windows open and not two tabs.
I went to OpenScad-> Quit Openscad on the active window which had no
changes expecting it to quit that window and it quit both windows
simultaneously without a save prompt for all of the changed data in the
other window….
thanks
Bob.C
On 15 Jan 2022, at 23:01, MichaelAtOz oz.at.michael@gmail.com wrote:
Do you se something like this when you F5 or F6 with unsaved changes?
Parsing design (AST generation)...
Saved backup file:
C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
Also closing with unsaved changes should get:
<image001.jpg>
Do you?
-----Original Message-----
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 09:18
To: OpenSCAD general discussion
Subject: [OpenSCAD] Autosave/Recovery
OK I have been an idiot and whilst distracted by my other half I closed
and not just the one - loosing about an hours work in Openscad.
So in hope more than anticipation I looked in my
Documents/Openscad/backups folder and
nothing has been saved there since 2020. Just checked my Privacy
does have write access to my documents folder.
Is autosave switched off in the development line, or have I
misunderstood when autosave
About the: *[] Ask to keep changes when closing documents* in System
Preferences > General.
Unfortunately, OpenSCAD uses some kind of inadequate cross-platform
framework for its Mac app. This means you don't get true modern mac
behavior. A modern Mac app would automatically respect the *[] Ask to keep
changes when closing documents *and auto-save when closing. A modern Mac
app would have small icons on the title bar of the windows that respond as
sources for drag and drop, or respond to command-clicks by showing the path
of the document in the file system. A modern Mac app would let you compare
current and previous versions (Time Machine) of a file. An app written
using Apple's current Cocoa framework gets these features with no extra
work. I don't know when OpenSCAD's cross-platform framework will support
these built-in features.
On Sun, Jan 16, 2022 at 1:14 PM David Phillip Oster <
davidphilliposter@gmail.com> wrote:
> I was not able to reproduce the quit without saving behavior with OpenSCAD
> version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
> General* [] Ask to keep changes when closing documents* was not checked, *[]
> Close windows when quitting an app* was also not checked.
>
> I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then
> I opened a new window, then hit *Quit* from the menu bar. I got the
> expected alert saying:
>
> * Some tabs have unsaved changes.*
>
> Do you want to save all your changes?
>
> (Don't Save) (Cancel) (Save All)
>
>
> This is what I'd expect a Macintosh app to do. Almost. The alert seems to
> think I have multiple tabs open when in fact I have multiple windows open.
>
>
> If I hit (Cancel) the quit action is canceled. If I hit *Don't Save* then
> it doesn't save and the quit action completes.
>
>
> It looks like you told it not to save, then complained when it did what
> you told it to do.
>
>
>
>
> On Sun, Jan 16, 2022 at 4:06 AM Bob Carter <caggius@gmail.com> wrote:
>
>> It is easily replicated and is definitely a Mac only thing, as only a Mac
>> has a separate menu bar at the top of the screen shared by multiple windows.
>>
>> Basically whilst distracted by my partner I hit the Quit Openscad from
>> the Menu Bar instead of using the close button on the title bar of the
>> second OpenSCAD window, .
>>
>> Instantly closing all open windows is consistent with other MAC
>> applications.
>>
>> Not checking for unsaved changes when Quit’ing seems to be the default in
>> OpenSCAD even for a single window with changes in it.
>>
>> However most Mac applications such as Mail, will on Quit Mail save the
>> contents of all open windows (e.g. the 'Compose new Message” window that I
>> am currently using to type this note in. It will then recreate this second
>> window when the application is restarted.
>>
>> Similarly the Brave Browser will on Quit Brave remember the open tabs and
>> reload them but it will not do so when it has been closed via the close
>> button.
>>
>> So there is a case to argue that Mac needs the extra save check function
>> as it is possible to Quit and loose all of your design changes - but this
>> is totally unique to the Mac interface and it looks like I am the only one
>> to have fallen foul of it to date and admit to my stupidity - so I would
>> not put a high priority on it.
>>
>> cheers
>> Bob.C
>>
>>
>>
>> On 15 Jan 2022, at 23:57, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>>
>> If you can replicate it, and list the steps so someone can confirm, I'd
>> say that is a bug that needs fixing.
>> It could also be a Mac thing. I don't think my original 128K Mac will run
>> OpenSCAD, so I can't test.
>>
>> ------------------------------
>> *From:* Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
>> *Sent:* Sun, 16 Jan 2022 10:15
>> *To:* OpenSCAD general discussion
>> *Subject:* [OpenSCAD] Re: Autosave/Recovery
>>
>> Not on Mac - there is the “*” in the file title - the problem arose
>> because I opened the second file from finder which opens it in a separate
>> window and not in a tab - so I had two windows open and not two tabs.
>>
>> I went to OpenScad-> Quit Openscad on the active window which had no
>> changes expecting it to quit that window and it quit both windows
>> simultaneously without a save prompt for all of the changed data in the
>> other window….
>>
>> thanks
>> Bob.C
>>
>>
>>
>> On 15 Jan 2022, at 23:01, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>>
>> Do you se something like this when you F5 or F6 with unsaved changes?
>>
>> Parsing design (AST generation)...
>> Saved backup file:
>> C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
>>
>> Also closing with unsaved changes should get:
>>
>> <image001.jpg>
>>
>> Do you?
>>
>> > -----Original Message-----
>> > From: Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
>> > Sent: Sun, 16 Jan 2022 09:18
>> > To: OpenSCAD general discussion
>> > Subject: [OpenSCAD] Autosave/Recovery
>> >
>> > OK I have been an idiot and whilst distracted by my other half I closed
>> all open windows
>> > and not just the one - loosing about an hours work in Openscad.
>> >
>> > So in hope more than anticipation I looked in my
>> Documents/Openscad/backups folder and
>> > nothing has been saved there since 2020. Just checked my Privacy
>> Preferences and Openscad
>> > does have write access to my documents folder.
>> >
>> > Is autosave switched off in the development line, or have I
>> misunderstood when autosave
>> > operates ? I had loaded macOS 220114 this morning….
>> >
>> > thanks
>> > Bob.C
>> > _______________________________________________
>> > OpenSCAD mailing list
>> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> Virus-free. www.avg.com
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>
BC
Bob Carter
Sun, Jan 16, 2022 9:37 PM
Odd,
I replicated it multiple times just to find out what I did before asking for help.
OpenSCAD version 2022.01.14 (git e6894b77a)
MacOS Big Sur 11.6.2
We do however have slightly different preferences set - though as far as I know these are the system defaults as I had not heard of them before your response and I can not recall ever changing them.
[] Ask to keep changes when closing documents was not checked
[] Close windows when quitting an app was checked
I unchecked both, and the quit still does not offer a save prompt but I am now seeing save files in Documents/OpenSCAD/backups for the first time since I installed 11.2.3
thanks Bob C.
On 16 Jan 2022, at 21:14, David Phillip Oster davidphilliposter@gmail.com wrote:
I was not able to reproduce the quit without saving behavior with OpenSCAD version 2021.01, and macOS 12.1, when in the Mac's System Preferences > General [] Ask to keep changes when closing documents was not checked, [] Close windows when quitting an app was also not checked.
I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then I opened a new window, then hit Quit from the menu bar. I got the expected alert saying:
Some tabs have unsaved changes.
Do you want to save all your changes?
(Don't Save) (Cancel) (Save All)
This is what I'd expect a Macintosh app to do. Almost. The alert seems to think I have multiple tabs open when in fact I have multiple windows open.
If I hit (Cancel) the quit action is canceled. If I hit Don't Save then it doesn't save and the quit action completes.
It looks like you told it not to save, then complained when it did what you told it to do.
On Sun, Jan 16, 2022 at 4:06 AM Bob Carter <caggius@gmail.com mailto:caggius@gmail.com> wrote:
It is easily replicated and is definitely a Mac only thing, as only a Mac has a separate menu bar at the top of the screen shared by multiple windows.
Basically whilst distracted by my partner I hit the Quit Openscad from the Menu Bar instead of using the close button on the title bar of the second OpenSCAD window, .
Instantly closing all open windows is consistent with other MAC applications.
Not checking for unsaved changes when Quit’ing seems to be the default in OpenSCAD even for a single window with changes in it.
However most Mac applications such as Mail, will on Quit Mail save the contents of all open windows (e.g. the 'Compose new Message” window that I am currently using to type this note in. It will then recreate this second window when the application is restarted.
Similarly the Brave Browser will on Quit Brave remember the open tabs and reload them but it will not do so when it has been closed via the close button.
So there is a case to argue that Mac needs the extra save check function as it is possible to Quit and loose all of your design changes - but this is totally unique to the Mac interface and it looks like I am the only one to have fallen foul of it to date and admit to my stupidity - so I would not put a high priority on it.
cheers
Bob.C
On 15 Jan 2022, at 23:57, MichaelAtOz <oz.at.michael@gmail.com mailto:oz.at.michael@gmail.com> wrote:
If you can replicate it, and list the steps so someone can confirm, I'd say that is a bug that needs fixing.
It could also be a Mac thing. I don't think my original 128K Mac will run OpenSCAD, so I can't test.
From: Bob Carter [mailto:caggius@gmail.com mailto:caggius@gmail.com]
Sent: Sun, 16 Jan 2022 10:15
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Autosave/Recovery
Not on Mac - there is the “*” in the file title - the problem arose because I opened the second file from finder which opens it in a separate window and not in a tab - so I had two windows open and not two tabs.
I went to OpenScad-> Quit Openscad on the active window which had no changes expecting it to quit that window and it quit both windows simultaneously without a save prompt for all of the changed data in the other window….
thanks
Bob.C
On 15 Jan 2022, at 23:01, MichaelAtOz <oz.at.michael@gmail.com mailto:oz.at.michael@gmail.com> wrote:
Do you se something like this when you F5 or F6 with unsaved changes?
Parsing design (AST generation)...
Saved backup file: C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
Also closing with unsaved changes should get:
<image001.jpg>
Do you?
-----Original Message-----
From: Bob Carter [mailto:caggius@gmail.com mailto:caggius@gmail.com]
Sent: Sun, 16 Jan 2022 09:18
To: OpenSCAD general discussion
Subject: [OpenSCAD] Autosave/Recovery
OK I have been an idiot and whilst distracted by my other half I closed all open windows
and not just the one - loosing about an hours work in Openscad.
So in hope more than anticipation I looked in my Documents/Openscad/backups folder and
nothing has been saved there since 2020. Just checked my Privacy Preferences and Openscad
does have write access to my documents folder.
Is autosave switched off in the development line, or have I misunderstood when autosave
operates ? I had loaded macOS 220114 this morning….
thanks
Bob.C
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
Odd,
I replicated it multiple times just to find out what I did before asking for help.
OpenSCAD version 2022.01.14 (git e6894b77a)
MacOS Big Sur 11.6.2
We do however have slightly different preferences set - though as far as I know these are the system defaults as I had not heard of them before your response and I can not recall ever changing them.
[] Ask to keep changes when closing documents was not checked
[] Close windows when quitting an app was checked
I unchecked both, and the quit still does not offer a save prompt but I am now seeing save files in Documents/OpenSCAD/backups for the first time since I installed 11.2.3
thanks Bob C.
> On 16 Jan 2022, at 21:14, David Phillip Oster <davidphilliposter@gmail.com> wrote:
>
> I was not able to reproduce the quit without saving behavior with OpenSCAD version 2021.01, and macOS 12.1, when in the Mac's System Preferences > General [] Ask to keep changes when closing documents was not checked, [] Close windows when quitting an app was also not checked.
>
> I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then I opened a new window, then hit Quit from the menu bar. I got the expected alert saying:
>
> Some tabs have unsaved changes.
> Do you want to save all your changes?
> (Don't Save) (Cancel) (Save All)
>
> This is what I'd expect a Macintosh app to do. Almost. The alert seems to think I have multiple tabs open when in fact I have multiple windows open.
>
> If I hit (Cancel) the quit action is canceled. If I hit Don't Save then it doesn't save and the quit action completes.
>
> It looks like you told it not to save, then complained when it did what you told it to do.
>
>
>
> On Sun, Jan 16, 2022 at 4:06 AM Bob Carter <caggius@gmail.com <mailto:caggius@gmail.com>> wrote:
> It is easily replicated and is definitely a Mac only thing, as only a Mac has a separate menu bar at the top of the screen shared by multiple windows.
>
> Basically whilst distracted by my partner I hit the Quit Openscad from the Menu Bar instead of using the close button on the title bar of the second OpenSCAD window, .
>
> Instantly closing all open windows is consistent with other MAC applications.
>
> Not checking for unsaved changes when Quit’ing seems to be the default in OpenSCAD even for a single window with changes in it.
>
> However most Mac applications such as Mail, will on Quit Mail save the contents of all open windows (e.g. the 'Compose new Message” window that I am currently using to type this note in. It will then recreate this second window when the application is restarted.
>
> Similarly the Brave Browser will on Quit Brave remember the open tabs and reload them but it will not do so when it has been closed via the close button.
>
> So there is a case to argue that Mac needs the extra save check function as it is possible to Quit and loose all of your design changes - but this is totally unique to the Mac interface and it looks like I am the only one to have fallen foul of it to date and admit to my stupidity - so I would not put a high priority on it.
>
> cheers
> Bob.C
>
>
>
>> On 15 Jan 2022, at 23:57, MichaelAtOz <oz.at.michael@gmail.com <mailto:oz.at.michael@gmail.com>> wrote:
>>
>> If you can replicate it, and list the steps so someone can confirm, I'd say that is a bug that needs fixing.
>> It could also be a Mac thing. I don't think my original 128K Mac will run OpenSCAD, so I can't test.
>>
>> From: Bob Carter [mailto:caggius@gmail.com <mailto:caggius@gmail.com>]
>> Sent: Sun, 16 Jan 2022 10:15
>> To: OpenSCAD general discussion
>> Subject: [OpenSCAD] Re: Autosave/Recovery
>>
>> Not on Mac - there is the “*” in the file title - the problem arose because I opened the second file from finder which opens it in a separate window and not in a tab - so I had two windows open and not two tabs.
>>
>> I went to OpenScad-> Quit Openscad on the active window which had no changes expecting it to quit that window and it quit both windows simultaneously without a save prompt for all of the changed data in the other window….
>>
>> thanks
>> Bob.C
>>
>>
>>
>> On 15 Jan 2022, at 23:01, MichaelAtOz <oz.at.michael@gmail.com <mailto:oz.at.michael@gmail.com>> wrote:
>>
>> Do you se something like this when you F5 or F6 with unsaved changes?
>>
>> Parsing design (AST generation)...
>> Saved backup file: C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
>>
>> Also closing with unsaved changes should get:
>>
>> <image001.jpg>
>>
>> Do you?
>>
>> > -----Original Message-----
>> > From: Bob Carter [mailto:caggius@gmail.com <mailto:caggius@gmail.com>]
>> > Sent: Sun, 16 Jan 2022 09:18
>> > To: OpenSCAD general discussion
>> > Subject: [OpenSCAD] Autosave/Recovery
>> >
>> > OK I have been an idiot and whilst distracted by my other half I closed all open windows
>> > and not just the one - loosing about an hours work in Openscad.
>> >
>> > So in hope more than anticipation I looked in my Documents/Openscad/backups folder and
>> > nothing has been saved there since 2020. Just checked my Privacy Preferences and Openscad
>> > does have write access to my documents folder.
>> >
>> > Is autosave switched off in the development line, or have I misunderstood when autosave
>> > operates ? I had loaded macOS 220114 this morning….
>> >
>> > thanks
>> > Bob.C
>> > _______________________________________________
>> > OpenSCAD mailing list
>> > To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org>
>>
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> Virus-free. www.avg.com <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> <>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
DP
David Phillip Oster
Sun, Jan 16, 2022 10:08 PM
Thank you Bob C. You've motivated me to check out the source code, see if I
can compile it, and file some bugs, where the program fails to behave like
a Macintosh app.
On Sun, Jan 16, 2022 at 1:37 PM Bob Carter caggius@gmail.com wrote:
Odd,
I replicated it multiple times just to find out what I did before asking
for help.
OpenSCAD version 2022.01.14 (git e6894b77a)
MacOS Big Sur 11.6.2
We do however have slightly different preferences set - though as far as I
know these are the system defaults as I had not heard of them before your
response and I can not recall ever changing them.
[] Ask to keep changes when closing documents was not checked
[] Close windows when quitting an app was checked
I unchecked both, and the quit still does not offer a save prompt but I am
now seeing save files in Documents/OpenSCAD/backups for the first time
since I installed 11.2.3
thanks Bob C.
On 16 Jan 2022, at 21:14, David Phillip Oster davidphilliposter@gmail.com
wrote:
I was not able to reproduce the quit without saving behavior with OpenSCAD
version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
General* [] Ask to keep changes when closing documents* was not checked, []
Close windows when quitting an app was also not checked.
I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then
I opened a new window, then hit Quit from the menu bar. I got the
expected alert saying:
- Some tabs have unsaved changes.*
Do you want to save all your changes?
(Don't Save) (Cancel) (Save All)
This is what I'd expect a Macintosh app to do. Almost. The alert seems to
think I have multiple tabs open when in fact I have multiple windows open.
If I hit (Cancel) the quit action is canceled. If I hit Don't Save then
it doesn't save and the quit action completes.
It looks like you told it not to save, then complained when it did what
you told it to do.
On Sun, Jan 16, 2022 at 4:06 AM Bob Carter caggius@gmail.com wrote:
It is easily replicated and is definitely a Mac only thing, as only a Mac
has a separate menu bar at the top of the screen shared by multiple windows.
Basically whilst distracted by my partner I hit the Quit Openscad from
the Menu Bar instead of using the close button on the title bar of the
second OpenSCAD window, .
Instantly closing all open windows is consistent with other MAC
applications.
Not checking for unsaved changes when Quit’ing seems to be the default in
OpenSCAD even for a single window with changes in it.
However most Mac applications such as Mail, will on Quit Mail save the
contents of all open windows (e.g. the 'Compose new Message” window that I
am currently using to type this note in. It will then recreate this second
window when the application is restarted.
Similarly the Brave Browser will on Quit Brave remember the open tabs and
reload them but it will not do so when it has been closed via the close
button.
So there is a case to argue that Mac needs the extra save check function
as it is possible to Quit and loose all of your design changes - but this
is totally unique to the Mac interface and it looks like I am the only one
to have fallen foul of it to date and admit to my stupidity - so I would
not put a high priority on it.
cheers
Bob.C
On 15 Jan 2022, at 23:57, MichaelAtOz oz.at.michael@gmail.com wrote:
If you can replicate it, and list the steps so someone can confirm, I'd
say that is a bug that needs fixing.
It could also be a Mac thing. I don't think my original 128K Mac will run
OpenSCAD, so I can't test.
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 10:15
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Autosave/Recovery
Not on Mac - there is the “*” in the file title - the problem arose
because I opened the second file from finder which opens it in a separate
window and not in a tab - so I had two windows open and not two tabs.
I went to OpenScad-> Quit Openscad on the active window which had no
changes expecting it to quit that window and it quit both windows
simultaneously without a save prompt for all of the changed data in the
other window….
thanks
Bob.C
On 15 Jan 2022, at 23:01, MichaelAtOz oz.at.michael@gmail.com wrote:
Do you se something like this when you F5 or F6 with unsaved changes?
Parsing design (AST generation)...
Saved backup file:
C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
Also closing with unsaved changes should get:
<image001.jpg>
Do you?
-----Original Message-----
From: Bob Carter [mailto:caggius@gmail.com caggius@gmail.com]
Sent: Sun, 16 Jan 2022 09:18
To: OpenSCAD general discussion
Subject: [OpenSCAD] Autosave/Recovery
OK I have been an idiot and whilst distracted by my other half I closed
and not just the one - loosing about an hours work in Openscad.
So in hope more than anticipation I looked in my
Documents/Openscad/backups folder and
nothing has been saved there since 2020. Just checked my Privacy
does have write access to my documents folder.
Is autosave switched off in the development line, or have I
misunderstood when autosave
Thank you Bob C. You've motivated me to check out the source code, see if I
can compile it, and file some bugs, where the program fails to behave like
a Macintosh app.
On Sun, Jan 16, 2022 at 1:37 PM Bob Carter <caggius@gmail.com> wrote:
> Odd,
> I replicated it multiple times just to find out what I did before asking
> for help.
>
> OpenSCAD version 2022.01.14 (git e6894b77a)
> MacOS Big Sur 11.6.2
>
> We do however have slightly different preferences set - though as far as I
> know these are the system defaults as I had not heard of them before your
> response and I can not recall ever changing them.
>
> [] Ask to keep changes when closing documents was not checked
> [] Close windows when quitting an app was checked
>
> I unchecked both, and the quit still does not offer a save prompt but I am
> now seeing save files in Documents/OpenSCAD/backups for the first time
> since I installed 11.2.3
>
> thanks Bob C.
>
>
> On 16 Jan 2022, at 21:14, David Phillip Oster <davidphilliposter@gmail.com>
> wrote:
>
> I was not able to reproduce the quit without saving behavior with OpenSCAD
> version 2021.01, and macOS 12.1, when in the Mac's System Preferences >
> General* [] Ask to keep changes when closing documents* was not checked, *[]
> Close windows when quitting an app* was also not checked.
>
> I opened the OpenSCAD app, and typed sphere(d=60); into the editor. Then
> I opened a new window, then hit *Quit* from the menu bar. I got the
> expected alert saying:
>
> * Some tabs have unsaved changes.*
> Do you want to save all your changes?
> (Don't Save) (Cancel) (Save All)
>
> This is what I'd expect a Macintosh app to do. Almost. The alert seems to
> think I have multiple tabs open when in fact I have multiple windows open.
>
> If I hit (Cancel) the quit action is canceled. If I hit *Don't Save* then
> it doesn't save and the quit action completes.
>
> It looks like you told it not to save, then complained when it did what
> you told it to do.
>
>
>
> On Sun, Jan 16, 2022 at 4:06 AM Bob Carter <caggius@gmail.com> wrote:
>
>> It is easily replicated and is definitely a Mac only thing, as only a Mac
>> has a separate menu bar at the top of the screen shared by multiple windows.
>>
>> Basically whilst distracted by my partner I hit the Quit Openscad from
>> the Menu Bar instead of using the close button on the title bar of the
>> second OpenSCAD window, .
>>
>> Instantly closing all open windows is consistent with other MAC
>> applications.
>>
>> Not checking for unsaved changes when Quit’ing seems to be the default in
>> OpenSCAD even for a single window with changes in it.
>>
>> However most Mac applications such as Mail, will on Quit Mail save the
>> contents of all open windows (e.g. the 'Compose new Message” window that I
>> am currently using to type this note in. It will then recreate this second
>> window when the application is restarted.
>>
>> Similarly the Brave Browser will on Quit Brave remember the open tabs and
>> reload them but it will not do so when it has been closed via the close
>> button.
>>
>> So there is a case to argue that Mac needs the extra save check function
>> as it is possible to Quit and loose all of your design changes - but this
>> is totally unique to the Mac interface and it looks like I am the only one
>> to have fallen foul of it to date and admit to my stupidity - so I would
>> not put a high priority on it.
>>
>> cheers
>> Bob.C
>>
>>
>>
>> On 15 Jan 2022, at 23:57, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>>
>> If you can replicate it, and list the steps so someone can confirm, I'd
>> say that is a bug that needs fixing.
>> It could also be a Mac thing. I don't think my original 128K Mac will run
>> OpenSCAD, so I can't test.
>>
>> ------------------------------
>> *From:* Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
>> *Sent:* Sun, 16 Jan 2022 10:15
>> *To:* OpenSCAD general discussion
>> *Subject:* [OpenSCAD] Re: Autosave/Recovery
>>
>> Not on Mac - there is the “*” in the file title - the problem arose
>> because I opened the second file from finder which opens it in a separate
>> window and not in a tab - so I had two windows open and not two tabs.
>>
>> I went to OpenScad-> Quit Openscad on the active window which had no
>> changes expecting it to quit that window and it quit both windows
>> simultaneously without a save prompt for all of the changed data in the
>> other window….
>>
>> thanks
>> Bob.C
>>
>>
>>
>> On 15 Jan 2022, at 23:01, MichaelAtOz <oz.at.michael@gmail.com> wrote:
>>
>> Do you se something like this when you F5 or F6 with unsaved changes?
>>
>> Parsing design (AST generation)...
>> Saved backup file:
>> C:/Users/MeB/Documents/OpenSCAD/backups/unsaved-backup-ncSSIhWS.scad
>>
>> Also closing with unsaved changes should get:
>>
>> <image001.jpg>
>>
>> Do you?
>>
>> > -----Original Message-----
>> > From: Bob Carter [mailto:caggius@gmail.com <caggius@gmail.com>]
>> > Sent: Sun, 16 Jan 2022 09:18
>> > To: OpenSCAD general discussion
>> > Subject: [OpenSCAD] Autosave/Recovery
>> >
>> > OK I have been an idiot and whilst distracted by my other half I closed
>> all open windows
>> > and not just the one - loosing about an hours work in Openscad.
>> >
>> > So in hope more than anticipation I looked in my
>> Documents/Openscad/backups folder and
>> > nothing has been saved there since 2020. Just checked my Privacy
>> Preferences and Openscad
>> > does have write access to my documents folder.
>> >
>> > Is autosave switched off in the development line, or have I
>> misunderstood when autosave
>> > operates ? I had loaded macOS 220114 this morning….
>> >
>> > thanks
>> > Bob.C
>> > _______________________________________________
>> > OpenSCAD mailing list
>> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> Virus-free. www.avg.com
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
AM
Adrian Mariano
Sun, Jan 16, 2022 10:20 PM
Ok, so I don't want to try to decipher the Round-Anything code, but if
you take a look at extrudePolygonWithRadius, it returns a list whose
first entry is finalPOlyhedronPoints. If you take the max x value of
points in this list, that will give you the information you want for
positioning the hole. In BOSL2 you can get the point list for almost
any object. (Some earlier code may be written to not return it.) So
you can very easily do this if you want. But the actual way to do
things in BOSL2 is to use attachments. So you ask how to make a hole
5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
edge, like this:
use <Round-Anything/polyround.scad>
include<BOSL2/std.scad>
include<BOSL2/rounding.scad>
module bh()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
[55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
radii = [for(x=radiiPoints) x[2]];
pts = getpoints(radiiPoints);
rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
diff("hole")
offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
tags("hole")
left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
}
bh();
For the gears, it sounds like you want to do something with the bottom
and top faces of the gear. It looks like possibly there's a bug in
the bevel gear attachment positions---I'm not sure. It appears
there's no way to get the point that is the actual bounding box, the
top of the teeth. But if you want the top face of the gear or the
bottom:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 ){
attach("flattop")cube(15);
attach(BOTTOM)cube(15);
}
If you really want to muck around with the numerical values yourself,
it's possible. This example puts the demo cube at the actual bounding
box top, where the teeth tips are, instead of the top flat.
gear = bevel_gear(
pitch=5, teeth=36, face_width=10,
pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
gear[0] is points, gear[1] is faces
bbox = pointlist_bounds(gear[0]);
vnf_polyhedron(gear);
up(bbox[1].z) cube(30);
On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
Adrian,
- polyRound: For example:
use <polyround.scad>
module halfWrap()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
[23,-15,5],[12,-8,20],[-4,-8,0]];
polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
%translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
}
winderThickness = 7;
halfWrap();
Now, I want to put a hole 5mm from the right (+X) edge. How do I do that? How can I determine the bounding-box for this shape?
- Gears:
Yes, my problem with BOSL2 gears is that I could not position the gear correctly. For example:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 );
How can I determine the distance that the lower face extends in the -Z direction? How can I determine the distance that the upper face extends in the +Z direction?
I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's PolyGear library which I was able to modify to provide bounding box info.
Thanks, Len
On Sun, Jan 16, 2022 at 10:26 AM Adrian Mariano avm4@cornell.edu wrote:
I guess it depends on what part of Round-Anything you're using, but if
you're using polyRound then you have the point list, so you can
compute the bounding box, and really polyRound seems like the heart of
RoundAnything. And similarly, any gear library is building a
polyhedron, so it has the point list and hence knows the bounds of its
output. In BOSL2, for example, the gear library can return the
coordinate points of the gear, from which you can easily extract the
bounds. Why do you need to know the size of the gears? If it's so
you can position other objects in the model then you don't really need
the size, you just need to be able to position objects relative to
each other, which is a different requirement.
On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
For me, the lack of a measurement tool is most apparent when using libraries such as Round-Anything.scad, or most gear-producing libraries since they do not provide bounding-box info.
On Sun, Jan 16, 2022 at 6:12 AM jon jon@jonbondy.com wrote:
I sometimes use Ruler.SCAD when I want to see how my design compares to an object of a known length. I also temporarily add a cube or cylinder of the desired length. I have to do that only occasionally. For me, this is only a minor annoyance.
On 1/16/2022 3:32 AM, edmund ronald wrote:
As you state this is clearly a doctrine issue because a reasonably accurate measurement system can be integrated in the interface without modifying the engine - I actually had to use a physical ruler to measure the projections on the screen for my last design.
Edmund
On Sun, Jan 16, 2022 at 8:31 AM Verachten Bruno gounthar@gmail.com wrote:
I'm sorry, I didn't want to rekindle the tensions between those who
want an integrated measurement system and those who don't.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Ok, so I don't want to try to decipher the Round-Anything code, but if
you take a look at extrudePolygonWithRadius, it returns a list whose
first entry is finalPOlyhedronPoints. If you take the max x value of
points in this list, that will give you the information you want for
positioning the hole. In BOSL2 you can get the point list for almost
any object. (Some earlier code may be written to not return it.) So
you can very easily do this if you want. But the actual way to do
things in BOSL2 is to use attachments. So you ask how to make a hole
5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
edge, like this:
use <Round-Anything/polyround.scad>
include<BOSL2/std.scad>
include<BOSL2/rounding.scad>
module bh()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
[55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
radii = [for(x=radiiPoints) x[2]];
pts = getpoints(radiiPoints);
rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
diff("hole")
offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
tags("hole")
left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
}
bh();
For the gears, it sounds like you want to do something with the bottom
and top faces of the gear. It looks like possibly there's a bug in
the bevel gear attachment positions---I'm not sure. It appears
there's no way to get the point that is the actual bounding box, the
top of the teeth. But if you want the top face of the gear or the
bottom:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 ){
attach("flattop")cube(15);
attach(BOTTOM)cube(15);
}
If you really want to muck around with the numerical values yourself,
it's possible. This example puts the demo cube at the actual bounding
box top, where the teeth tips are, instead of the top flat.
gear = bevel_gear(
pitch=5, teeth=36, face_width=10,
pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
gear[0] is points, gear[1] is faces
bbox = pointlist_bounds(gear[0]);
vnf_polyhedron(gear);
up(bbox[1].z) cube(30);
On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
<lenstruttmann@gmail.com> wrote:
>
> Adrian,
>
> 1) polyRound: For example:
>
> use <polyround.scad>
>
> module halfWrap()
> {
> radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
> [23,-15,5],[12,-8,20],[-4,-8,0]];
> polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
>
> %translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
> }
>
> winderThickness = 7;
>
> halfWrap();
>
> Now, I want to put a hole 5mm from the right (+X) edge. How do I do that? How can I determine the bounding-box for this shape?
>
> 2) Gears:
>
> Yes, my problem with BOSL2 gears is that I could not position the gear correctly. For example:
>
> include <BOSL2/std.scad>
> include <BOSL2/gears.scad>
>
> bevel_gear(
> pitch=5, teeth=36, face_width=10, shaft_diam=5,
> pitch_angle=45, spiral_angle=0 );
>
>
> How can I determine the distance that the lower face extends in the -Z direction? How can I determine the distance that the upper face extends in the +Z direction?
>
> I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's PolyGear library which I was able to modify to provide bounding box info.
>
> Thanks, Len
>
>
> On Sun, Jan 16, 2022 at 10:26 AM Adrian Mariano <avm4@cornell.edu> wrote:
>>
>> I guess it depends on what part of Round-Anything you're using, but if
>> you're using polyRound then you have the point list, so you can
>> compute the bounding box, and really polyRound seems like the heart of
>> RoundAnything. And similarly, any gear library is building a
>> polyhedron, so it has the point list and hence knows the bounds of its
>> output. In BOSL2, for example, the gear library can return the
>> coordinate points of the gear, from which you can easily extract the
>> bounds. Why do you need to know the size of the gears? If it's so
>> you can position other objects in the model then you don't really need
>> the size, you just need to be able to position objects relative to
>> each other, which is a different requirement.
>>
>> On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
>> <lenstruttmann@gmail.com> wrote:
>> >
>> > For me, the lack of a measurement tool is most apparent when using libraries such as Round-Anything.scad, or most gear-producing libraries since they do not provide bounding-box info.
>> >
>> > On Sun, Jan 16, 2022 at 6:12 AM jon <jon@jonbondy.com> wrote:
>> >>
>> >> I sometimes use Ruler.SCAD when I want to see how my design compares to an object of a known length. I also temporarily add a cube or cylinder of the desired length. I have to do that only occasionally. For me, this is only a minor annoyance.
>> >>
>> >> On 1/16/2022 3:32 AM, edmund ronald wrote:
>> >>
>> >> As you state this is clearly a doctrine issue because a reasonably accurate measurement system can be integrated in the interface without modifying the engine - I actually had to use a physical ruler to measure the projections on the screen for my last design.
>> >>
>> >> Edmund
>> >>
>> >> On Sun, Jan 16, 2022 at 8:31 AM Verachten Bruno <gounthar@gmail.com> wrote:
>> >>>
>> >>> I'm sorry, I didn't want to rekindle the tensions between those who
>> >>> want an integrated measurement system and those who don't.
>> >>
>> >> _______________________________________________
>> >> OpenSCAD mailing list
>> >> To unsubscribe send an email to discuss-leave@lists.openscad.org
>> >
>> > _______________________________________________
>> > OpenSCAD mailing list
>> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
ER
edmund ronald
Sun, Jan 16, 2022 10:34 PM
Jordan,
I think we're on the same page here. And we've all witnessed user
frustration with TeX/Latex - about once every ten pages one ends up having
to brute force it somehow, and that requires several tries and reprints for
something to end up in the right place: a compile is needed to do the
layout. In the same way with OpenSCAD there is an occasional case where one
really needs to know where some point will render in space, one needs to
render and then measure and check ...
Edmund
On Sunday, January 16, 2022, Jordan Brown openscad@jordan.maileater.net
wrote:
On 1/16/2022 11:19 AM, edmund ronald wrote:
I think what is happening here is similar to what happened to TeX. Knuth
designed a wonderful typesetting language, but he did not wish to provide
for interactivity. In practice, interactivity is very useful for layouts,
but it proved really hard to backfit any decent interactive environments to
TeX, between the "interactive" and the "programming" advocates, and LaTeX
layout still makes people cry from frustration today, and in practice a lot
of people prefer to go for a Wysiwyg system.
I'd say that the enormous majority go for WYSIWYG, though they often
back-fill pseudo-programming onto it using styles. (I can support that
assertion with one word: Word.)
And yes, there are strong similarities. WYSIWYG and drawing programs are
about shoving your work around until it looks the way you want. TeX and
OpenSCAD are about writing rules that say how your work should be processed
to produce the final result.
This is a common mental disconnect when people come to OpenSCAD from other
environments. They say "I want to move that cube from here to there", and
they don't understand that the cube's location is not a simple thing and
may have been derived through some complex process... and even the fact
that it is a cube may have been derived through a complex process.
It's also sort of like the difference between a "draw" program and a
"paint" program, that because "draw" programs work with shapes they can do
things like re-stack or rearrange the shapes that a "paint" program can't
do... and at the same time they can't easily do things like erase half of a
circle.
Jordan,
I think we're on the same page here. And we've all witnessed user
frustration with TeX/Latex - about once every ten pages one ends up having
to brute force it somehow, and that requires several tries and reprints for
something to end up in the right place: a compile is needed to do the
layout. In the same way with OpenSCAD there is an occasional case where one
really needs to know where some point will render in space, one needs to
render and then measure and check ...
Edmund
On Sunday, January 16, 2022, Jordan Brown <openscad@jordan.maileater.net>
wrote:
> On 1/16/2022 11:19 AM, edmund ronald wrote:
>
> I think what is happening here is similar to what happened to TeX. Knuth
> designed a wonderful typesetting language, but he did not wish to provide
> for interactivity. In practice, interactivity is very useful for layouts,
> but it proved really hard to backfit any decent interactive environments to
> TeX, between the "interactive" and the "programming" advocates, and LaTeX
> layout still makes people cry from frustration today, and in practice a lot
> of people prefer to go for a Wysiwyg system.
>
>
> I'd say that the enormous majority go for WYSIWYG, though they often
> back-fill pseudo-programming onto it using styles. (I can support that
> assertion with one word: Word.)
>
> And yes, there are strong similarities. WYSIWYG and drawing programs are
> about shoving your work around until it looks the way you want. TeX and
> OpenSCAD are about writing rules that say how your work should be processed
> to produce the final result.
>
> This is a common mental disconnect when people come to OpenSCAD from other
> environments. They say "I want to move that cube from here to there", and
> they don't understand that the cube's location is not a simple thing and
> may have been derived through some complex process... and even the fact
> that it *is* a cube may have been derived through a complex process.
>
> It's also sort of like the difference between a "draw" program and a
> "paint" program, that because "draw" programs work with shapes they can do
> things like re-stack or rearrange the shapes that a "paint" program can't
> do... and at the same time they can't easily do things like erase half of a
> circle.
>
LM
Leonard Martin Struttmann
Sun, Jan 16, 2022 10:35 PM
Adrian,
Thank you so much for these tips. These are not obvious to us new users
who just want to make a part without needing to learn what a VNF structure
is (BTW, what is a VNF structure?), what pointlist_bounds() does, etc.
I'll start playing with your suggestions as soon as I can (I'm renovating
my basement right now :-) )
Again, thank you so much. These should help a lot.
Len
On Sun, Jan 16, 2022 at 4:20 PM Adrian Mariano avm4@cornell.edu wrote:
Ok, so I don't want to try to decipher the Round-Anything code, but if
you take a look at extrudePolygonWithRadius, it returns a list whose
first entry is finalPOlyhedronPoints. If you take the max x value of
points in this list, that will give you the information you want for
positioning the hole. In BOSL2 you can get the point list for almost
any object. (Some earlier code may be written to not return it.) So
you can very easily do this if you want. But the actual way to do
things in BOSL2 is to use attachments. So you ask how to make a hole
5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
edge, like this:
use <Round-Anything/polyround.scad>
include<BOSL2/std.scad>
include<BOSL2/rounding.scad>
module bh()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
[55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
radii = [for(x=radiiPoints) x[2]];
pts = getpoints(radiiPoints);
rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
diff("hole")
offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
tags("hole")
left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
}
bh();
For the gears, it sounds like you want to do something with the bottom
and top faces of the gear. It looks like possibly there's a bug in
the bevel gear attachment positions---I'm not sure. It appears
there's no way to get the point that is the actual bounding box, the
top of the teeth. But if you want the top face of the gear or the
bottom:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 ){
attach("flattop")cube(15);
attach(BOTTOM)cube(15);
}
If you really want to muck around with the numerical values yourself,
it's possible. This example puts the demo cube at the actual bounding
box top, where the teeth tips are, instead of the top flat.
gear = bevel_gear(
pitch=5, teeth=36, face_width=10,
pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
gear[0] is points, gear[1] is faces
bbox = pointlist_bounds(gear[0]);
vnf_polyhedron(gear);
up(bbox[1].z) cube(30);
On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
Adrian,
- polyRound: For example:
use <polyround.scad>
module halfWrap()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
[23,-15,5],[12,-8,20],[-4,-8,0]];
polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
%translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
}
winderThickness = 7;
halfWrap();
Now, I want to put a hole 5mm from the right (+X) edge. How do I do
that? How can I determine the bounding-box for this shape?
- Gears:
Yes, my problem with BOSL2 gears is that I could not position the gear
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 );
How can I determine the distance that the lower face extends in the -Z
direction? How can I determine the distance that the upper face extends in
the +Z direction?
I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's
PolyGear library which I was able to modify to provide bounding box info.
I guess it depends on what part of Round-Anything you're using, but if
you're using polyRound then you have the point list, so you can
compute the bounding box, and really polyRound seems like the heart of
RoundAnything. And similarly, any gear library is building a
polyhedron, so it has the point list and hence knows the bounds of its
output. In BOSL2, for example, the gear library can return the
coordinate points of the gear, from which you can easily extract the
bounds. Why do you need to know the size of the gears? If it's so
you can position other objects in the model then you don't really need
the size, you just need to be able to position objects relative to
each other, which is a different requirement.
On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
For me, the lack of a measurement tool is most apparent when using
libraries such as Round-Anything.scad, or most gear-producing libraries
since they do not provide bounding-box info.
I sometimes use Ruler.SCAD when I want to see how my design compares
to an object of a known length. I also temporarily add a cube or cylinder
of the desired length. I have to do that only occasionally. For me, this
is only a minor annoyance.
On 1/16/2022 3:32 AM, edmund ronald wrote:
As you state this is clearly a doctrine issue because a reasonably
accurate measurement system can be integrated in the interface without
modifying the engine - I actually had to use a physical ruler to measure
the projections on the screen for my last design.
I'm sorry, I didn't want to rekindle the tensions between those who
want an integrated measurement system and those who don't.
Adrian,
Thank you so much for these tips. These are not obvious to us new users
who just want to make a part without needing to learn what a VNF structure
is (BTW, what is a VNF structure?), what pointlist_bounds() does, etc.
I'll start playing with your suggestions as soon as I can (I'm renovating
my basement right now :-) )
Again, thank you so much. These should help a lot.
Len
On Sun, Jan 16, 2022 at 4:20 PM Adrian Mariano <avm4@cornell.edu> wrote:
> Ok, so I don't want to try to decipher the Round-Anything code, but if
> you take a look at extrudePolygonWithRadius, it returns a list whose
> first entry is finalPOlyhedronPoints. If you take the max x value of
> points in this list, that will give you the information you want for
> positioning the hole. In BOSL2 you can get the point list for almost
> any object. (Some earlier code may be written to not return it.) So
> you can very easily do this if you want. But the actual way to do
> things in BOSL2 is to use attachments. So you ask how to make a hole
> 5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
> edge, like this:
>
> use <Round-Anything/polyround.scad>
>
> include<BOSL2/std.scad>
> include<BOSL2/rounding.scad>
>
> module bh()
> {
> radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
> [55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
> radii = [for(x=radiiPoints) x[2]];
> pts = getpoints(radiiPoints);
> rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
> diff("hole")
> offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
> tags("hole")
> left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
> }
>
> bh();
>
> For the gears, it sounds like you want to do something with the bottom
> and top faces of the gear. It looks like possibly there's a bug in
> the bevel gear attachment positions---I'm not sure. It appears
> there's no way to get the point that is the actual bounding box, the
> top of the teeth. But if you want the top face of the gear or the
> bottom:
>
> include <BOSL2/std.scad>
> include <BOSL2/gears.scad>
>
> bevel_gear(
> pitch=5, teeth=36, face_width=10, shaft_diam=5,
> pitch_angle=45, spiral_angle=0 ){
> attach("flattop")cube(15);
> attach(BOTTOM)cube(15);
> }
>
> If you really want to muck around with the numerical values yourself,
> it's possible. This example puts the demo cube at the actual bounding
> box top, where the teeth tips are, instead of the top flat.
>
> gear = bevel_gear(
> pitch=5, teeth=36, face_width=10,
> pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
> gear[0] is points, gear[1] is faces
>
> bbox = pointlist_bounds(gear[0]);
>
> vnf_polyhedron(gear);
> up(bbox[1].z) cube(30);
>
> On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
> <lenstruttmann@gmail.com> wrote:
> >
> > Adrian,
> >
> > 1) polyRound: For example:
> >
> > use <polyround.scad>
> >
> > module halfWrap()
> > {
> > radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
> > [23,-15,5],[12,-8,20],[-4,-8,0]];
> > polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
> >
> > %translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
> > }
> >
> > winderThickness = 7;
> >
> > halfWrap();
> >
> > Now, I want to put a hole 5mm from the right (+X) edge. How do I do
> that? How can I determine the bounding-box for this shape?
> >
> > 2) Gears:
> >
> > Yes, my problem with BOSL2 gears is that I could not position the gear
> correctly. For example:
> >
> > include <BOSL2/std.scad>
> > include <BOSL2/gears.scad>
> >
> > bevel_gear(
> > pitch=5, teeth=36, face_width=10, shaft_diam=5,
> > pitch_angle=45, spiral_angle=0 );
> >
> >
> > How can I determine the distance that the lower face extends in the -Z
> direction? How can I determine the distance that the upper face extends in
> the +Z direction?
> >
> > I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's
> PolyGear library which I was able to modify to provide bounding box info.
> >
> > Thanks, Len
> >
> >
> > On Sun, Jan 16, 2022 at 10:26 AM Adrian Mariano <avm4@cornell.edu>
> wrote:
> >>
> >> I guess it depends on what part of Round-Anything you're using, but if
> >> you're using polyRound then you have the point list, so you can
> >> compute the bounding box, and really polyRound seems like the heart of
> >> RoundAnything. And similarly, any gear library is building a
> >> polyhedron, so it has the point list and hence knows the bounds of its
> >> output. In BOSL2, for example, the gear library can return the
> >> coordinate points of the gear, from which you can easily extract the
> >> bounds. Why do you need to know the size of the gears? If it's so
> >> you can position other objects in the model then you don't really need
> >> the size, you just need to be able to position objects relative to
> >> each other, which is a different requirement.
> >>
> >> On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
> >> <lenstruttmann@gmail.com> wrote:
> >> >
> >> > For me, the lack of a measurement tool is most apparent when using
> libraries such as Round-Anything.scad, or most gear-producing libraries
> since they do not provide bounding-box info.
> >> >
> >> > On Sun, Jan 16, 2022 at 6:12 AM jon <jon@jonbondy.com> wrote:
> >> >>
> >> >> I sometimes use Ruler.SCAD when I want to see how my design compares
> to an object of a known length. I also temporarily add a cube or cylinder
> of the desired length. I have to do that only occasionally. For me, this
> is only a minor annoyance.
> >> >>
> >> >> On 1/16/2022 3:32 AM, edmund ronald wrote:
> >> >>
> >> >> As you state this is clearly a doctrine issue because a reasonably
> accurate measurement system can be integrated in the interface without
> modifying the engine - I actually had to use a physical ruler to measure
> the projections on the screen for my last design.
> >> >>
> >> >> Edmund
> >> >>
> >> >> On Sun, Jan 16, 2022 at 8:31 AM Verachten Bruno <gounthar@gmail.com>
> wrote:
> >> >>>
> >> >>> I'm sorry, I didn't want to rekindle the tensions between those who
> >> >>> want an integrated measurement system and those who don't.
> >> >>
> >> >> _______________________________________________
> >> >> OpenSCAD mailing list
> >> >> To unsubscribe send an email to discuss-leave@lists.openscad.org
> >> >
> >> > _______________________________________________
> >> > OpenSCAD mailing list
> >> > To unsubscribe send an email to discuss-leave@lists.openscad.org
> >> _______________________________________________
> >> OpenSCAD mailing list
> >> To unsubscribe send an email to discuss-leave@lists.openscad.org
> >
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to discuss-leave@lists.openscad.org
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
AM
Adrian Mariano
Sun, Jan 16, 2022 10:51 PM
Ha. For me the massive frustration is Word. If I am forced to use
Word I know to budget double the time for all the time wasted trying
to get Word to do things that are easy in LaTeX. Figures won't
renumber correctly. They'll number out of order. All sorts of stuff
just doesn't seem to work. It's so frustrating, and when you get
done, the output looks far inferior to the output produced by LaTeX.
Anytime someone asks me to use word I push back and see if I can
supply a pdf instead so I can stay away from that time sink.
On Sun, Jan 16, 2022 at 5:35 PM edmund ronald edmundronald@gmail.com wrote:
Jordan,
I think we're on the same page here. And we've all witnessed user frustration with TeX/Latex - about once every ten pages one ends up having to brute force it somehow, and that requires several tries and reprints for something to end up in the right place: a compile is needed to do the layout. In the same way with OpenSCAD there is an occasional case where one really needs to know where some point will render in space, one needs to render and then measure and check ...
Edmund
On Sunday, January 16, 2022, Jordan Brown openscad@jordan.maileater.net wrote:
On 1/16/2022 11:19 AM, edmund ronald wrote:
I think what is happening here is similar to what happened to TeX. Knuth designed a wonderful typesetting language, but he did not wish to provide for interactivity. In practice, interactivity is very useful for layouts, but it proved really hard to backfit any decent interactive environments to TeX, between the "interactive" and the "programming" advocates, and LaTeX layout still makes people cry from frustration today, and in practice a lot of people prefer to go for a Wysiwyg system.
I'd say that the enormous majority go for WYSIWYG, though they often back-fill pseudo-programming onto it using styles. (I can support that assertion with one word: Word.)
And yes, there are strong similarities. WYSIWYG and drawing programs are about shoving your work around until it looks the way you want. TeX and OpenSCAD are about writing rules that say how your work should be processed to produce the final result.
This is a common mental disconnect when people come to OpenSCAD from other environments. They say "I want to move that cube from here to there", and they don't understand that the cube's location is not a simple thing and may have been derived through some complex process... and even the fact that it is a cube may have been derived through a complex process.
It's also sort of like the difference between a "draw" program and a "paint" program, that because "draw" programs work with shapes they can do things like re-stack or rearrange the shapes that a "paint" program can't do... and at the same time they can't easily do things like erase half of a circle.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Ha. For me the massive frustration is Word. If I am forced to use
Word I know to budget double the time for all the time wasted trying
to get Word to do things that are easy in LaTeX. Figures won't
renumber correctly. They'll number out of order. All sorts of stuff
just doesn't seem to work. It's so frustrating, and when you get
done, the output looks far inferior to the output produced by LaTeX.
Anytime someone asks me to use word I push back and see if I can
supply a pdf instead so I can stay away from that time sink.
On Sun, Jan 16, 2022 at 5:35 PM edmund ronald <edmundronald@gmail.com> wrote:
>
> Jordan,
>
> I think we're on the same page here. And we've all witnessed user frustration with TeX/Latex - about once every ten pages one ends up having to brute force it somehow, and that requires several tries and reprints for something to end up in the right place: a compile is needed to do the layout. In the same way with OpenSCAD there is an occasional case where one really needs to know where some point will render in space, one needs to render and then measure and check ...
>
> Edmund
>
> On Sunday, January 16, 2022, Jordan Brown <openscad@jordan.maileater.net> wrote:
>>
>> On 1/16/2022 11:19 AM, edmund ronald wrote:
>>
>> I think what is happening here is similar to what happened to TeX. Knuth designed a wonderful typesetting language, but he did not wish to provide for interactivity. In practice, interactivity is very useful for layouts, but it proved really hard to backfit any decent interactive environments to TeX, between the "interactive" and the "programming" advocates, and LaTeX layout still makes people cry from frustration today, and in practice a lot of people prefer to go for a Wysiwyg system.
>>
>>
>> I'd say that the enormous majority go for WYSIWYG, though they often back-fill pseudo-programming onto it using styles. (I can support that assertion with one word: Word.)
>>
>> And yes, there are strong similarities. WYSIWYG and drawing programs are about shoving your work around until it looks the way you want. TeX and OpenSCAD are about writing rules that say how your work should be processed to produce the final result.
>>
>> This is a common mental disconnect when people come to OpenSCAD from other environments. They say "I want to move that cube from here to there", and they don't understand that the cube's location is not a simple thing and may have been derived through some complex process... and even the fact that it *is* a cube may have been derived through a complex process.
>>
>> It's also sort of like the difference between a "draw" program and a "paint" program, that because "draw" programs work with shapes they can do things like re-stack or rearrange the shapes that a "paint" program can't do... and at the same time they can't easily do things like erase half of a circle.
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
AM
Adrian Mariano
Sun, Jan 16, 2022 11:06 PM
There is an attachments tutorial for BOSL2 that you might want to look
at. See https://github.com/revarbat/BOSL2/wiki/Tutorials You'll note
that the VNF tutorial hasn't been written yet.
A VNF structure is a "vertices 'n' faces" structure that stores the
data needed to call polyhedron(). It's the equivalent of having a
list of points to define a polygon. But my point is actually not
that you should learn what a VNF is, because I think all the things
you want to do can and should be done with attachments. I'm just
saying that if you really want to know dimensions, you can get them
from the VNF structure. (You could easily extract the max z
coordinate yourself without using pointlist_bounds if you didn't know
about it.) But I don't think it's the right question. You don't
really care what the dimensions are. You want to put a hole 5 units
from the right. And BOSL2 will do that operation directly, without
you having to know the dimensions of anything, or where the "right"
is. You don't really need to use VNFs unless you're making your own
polyhedron directly, something which I really don't recommend.
On Sun, Jan 16, 2022 at 5:36 PM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
Adrian,
Thank you so much for these tips. These are not obvious to us new users who just want to make a part without needing to learn what a VNF structure is (BTW, what is a VNF structure?), what pointlist_bounds() does, etc. I'll start playing with your suggestions as soon as I can (I'm renovating my basement right now :-) )
Again, thank you so much. These should help a lot.
Len
On Sun, Jan 16, 2022 at 4:20 PM Adrian Mariano avm4@cornell.edu wrote:
Ok, so I don't want to try to decipher the Round-Anything code, but if
you take a look at extrudePolygonWithRadius, it returns a list whose
first entry is finalPOlyhedronPoints. If you take the max x value of
points in this list, that will give you the information you want for
positioning the hole. In BOSL2 you can get the point list for almost
any object. (Some earlier code may be written to not return it.) So
you can very easily do this if you want. But the actual way to do
things in BOSL2 is to use attachments. So you ask how to make a hole
5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
edge, like this:
use <Round-Anything/polyround.scad>
include<BOSL2/std.scad>
include<BOSL2/rounding.scad>
module bh()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
[55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
radii = [for(x=radiiPoints) x[2]];
pts = getpoints(radiiPoints);
rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
diff("hole")
offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
tags("hole")
left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
}
bh();
For the gears, it sounds like you want to do something with the bottom
and top faces of the gear. It looks like possibly there's a bug in
the bevel gear attachment positions---I'm not sure. It appears
there's no way to get the point that is the actual bounding box, the
top of the teeth. But if you want the top face of the gear or the
bottom:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 ){
attach("flattop")cube(15);
attach(BOTTOM)cube(15);
}
If you really want to muck around with the numerical values yourself,
it's possible. This example puts the demo cube at the actual bounding
box top, where the teeth tips are, instead of the top flat.
gear = bevel_gear(
pitch=5, teeth=36, face_width=10,
pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
gear[0] is points, gear[1] is faces
bbox = pointlist_bounds(gear[0]);
vnf_polyhedron(gear);
up(bbox[1].z) cube(30);
On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
Adrian,
- polyRound: For example:
use <polyround.scad>
module halfWrap()
{
radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
[23,-15,5],[12,-8,20],[-4,-8,0]];
polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
%translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
}
winderThickness = 7;
halfWrap();
Now, I want to put a hole 5mm from the right (+X) edge. How do I do that? How can I determine the bounding-box for this shape?
- Gears:
Yes, my problem with BOSL2 gears is that I could not position the gear correctly. For example:
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
bevel_gear(
pitch=5, teeth=36, face_width=10, shaft_diam=5,
pitch_angle=45, spiral_angle=0 );
How can I determine the distance that the lower face extends in the -Z direction? How can I determine the distance that the upper face extends in the +Z direction?
I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's PolyGear library which I was able to modify to provide bounding box info.
Thanks, Len
On Sun, Jan 16, 2022 at 10:26 AM Adrian Mariano avm4@cornell.edu wrote:
I guess it depends on what part of Round-Anything you're using, but if
you're using polyRound then you have the point list, so you can
compute the bounding box, and really polyRound seems like the heart of
RoundAnything. And similarly, any gear library is building a
polyhedron, so it has the point list and hence knows the bounds of its
output. In BOSL2, for example, the gear library can return the
coordinate points of the gear, from which you can easily extract the
bounds. Why do you need to know the size of the gears? If it's so
you can position other objects in the model then you don't really need
the size, you just need to be able to position objects relative to
each other, which is a different requirement.
On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:
For me, the lack of a measurement tool is most apparent when using libraries such as Round-Anything.scad, or most gear-producing libraries since they do not provide bounding-box info.
On Sun, Jan 16, 2022 at 6:12 AM jon jon@jonbondy.com wrote:
I sometimes use Ruler.SCAD when I want to see how my design compares to an object of a known length. I also temporarily add a cube or cylinder of the desired length. I have to do that only occasionally. For me, this is only a minor annoyance.
On 1/16/2022 3:32 AM, edmund ronald wrote:
As you state this is clearly a doctrine issue because a reasonably accurate measurement system can be integrated in the interface without modifying the engine - I actually had to use a physical ruler to measure the projections on the screen for my last design.
Edmund
On Sun, Jan 16, 2022 at 8:31 AM Verachten Bruno gounthar@gmail.com wrote:
I'm sorry, I didn't want to rekindle the tensions between those who
want an integrated measurement system and those who don't.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
There is an attachments tutorial for BOSL2 that you might want to look
at. See https://github.com/revarbat/BOSL2/wiki/Tutorials You'll note
that the VNF tutorial hasn't been written yet.
A VNF structure is a "vertices 'n' faces" structure that stores the
data needed to call polyhedron(). It's the equivalent of having a
list of points to define a polygon. But my point is actually not
that you should learn what a VNF is, because I think all the things
you want to do can and should be done with attachments. I'm just
saying that if you *really* want to know dimensions, you can get them
from the VNF structure. (You could easily extract the max z
coordinate yourself without using pointlist_bounds if you didn't know
about it.) But I don't think it's the right question. You don't
*really* care what the dimensions are. You want to put a hole 5 units
from the right. And BOSL2 will do that operation directly, without
you having to know the dimensions of anything, or where the "right"
is. You don't really need to use VNFs unless you're making your own
polyhedron directly, something which I really don't recommend.
On Sun, Jan 16, 2022 at 5:36 PM Leonard Martin Struttmann
<lenstruttmann@gmail.com> wrote:
>
> Adrian,
>
> Thank you so much for these tips. These are not obvious to us new users who just want to make a part without needing to learn what a VNF structure is (BTW, what is a VNF structure?), what pointlist_bounds() does, etc. I'll start playing with your suggestions as soon as I can (I'm renovating my basement right now :-) )
>
> Again, thank you so much. These should help a lot.
>
> Len
>
> On Sun, Jan 16, 2022 at 4:20 PM Adrian Mariano <avm4@cornell.edu> wrote:
>>
>> Ok, so I don't want to try to decipher the Round-Anything code, but if
>> you take a look at extrudePolygonWithRadius, it returns a list whose
>> first entry is finalPOlyhedronPoints. If you take the max x value of
>> points in this list, that will give you the information you want for
>> positioning the hole. In BOSL2 you can get the point list for almost
>> any object. (Some earlier code may be written to not return it.) So
>> you can very easily do this if you want. But the actual way to do
>> things in BOSL2 is to use attachments. So you ask how to make a hole
>> 5mm from the right edge. You tell BOSL2 to put a hole 5mm from the
>> edge, like this:
>>
>> use <Round-Anything/polyround.scad>
>>
>> include<BOSL2/std.scad>
>> include<BOSL2/rounding.scad>
>>
>> module bh()
>> {
>> radiiPoints=[[-4,8,0],[12,8,20],[23,15,13],
>> [55,0,13],[23,-15,5],[12,-8,20],[-4,-8,0]];
>> radii = [for(x=radiiPoints) x[2]];
>> pts = getpoints(radiiPoints);
>> rounded = round_corners(pts, radius=radii,$fs=1,$fa=2);
>> diff("hole")
>> offset_sweep(rounded, top=os_circle(r=3), bottom=os_circle(r=3))
>> tags("hole")
>> left(5)position(RIGHT)cylinder(r=2, h=20,anchor=RIGHT);
>> }
>>
>> bh();
>>
>> For the gears, it sounds like you want to do something with the bottom
>> and top faces of the gear. It looks like possibly there's a bug in
>> the bevel gear attachment positions---I'm not sure. It appears
>> there's no way to get the point that is the actual bounding box, the
>> top of the teeth. But if you want the top face of the gear or the
>> bottom:
>>
>> include <BOSL2/std.scad>
>> include <BOSL2/gears.scad>
>>
>> bevel_gear(
>> pitch=5, teeth=36, face_width=10, shaft_diam=5,
>> pitch_angle=45, spiral_angle=0 ){
>> attach("flattop")cube(15);
>> attach(BOTTOM)cube(15);
>> }
>>
>> If you really want to muck around with the numerical values yourself,
>> it's possible. This example puts the demo cube at the actual bounding
>> box top, where the teeth tips are, instead of the top flat.
>>
>> gear = bevel_gear(
>> pitch=5, teeth=36, face_width=10,
>> pitch_angle=45, spiral_angle=0 ); // gear is a VNF structure,
>> gear[0] is points, gear[1] is faces
>>
>> bbox = pointlist_bounds(gear[0]);
>>
>> vnf_polyhedron(gear);
>> up(bbox[1].z) cube(30);
>>
>> On Sun, Jan 16, 2022 at 1:58 PM Leonard Martin Struttmann
>> <lenstruttmann@gmail.com> wrote:
>> >
>> > Adrian,
>> >
>> > 1) polyRound: For example:
>> >
>> > use <polyround.scad>
>> >
>> > module halfWrap()
>> > {
>> > radiiPoints=[[-4,8,0],[12,8,20],[23,15,20], [55,0,13],
>> > [23,-15,5],[12,-8,20],[-4,-8,0]];
>> > polyRoundExtrude(radiiPoints, winderThickness,3,3,fn=8);
>> >
>> > %translate([0,0,0.3])polygon(getpoints(radiiPoints));//transparent
>> > }
>> >
>> > winderThickness = 7;
>> >
>> > halfWrap();
>> >
>> > Now, I want to put a hole 5mm from the right (+X) edge. How do I do that? How can I determine the bounding-box for this shape?
>> >
>> > 2) Gears:
>> >
>> > Yes, my problem with BOSL2 gears is that I could not position the gear correctly. For example:
>> >
>> > include <BOSL2/std.scad>
>> > include <BOSL2/gears.scad>
>> >
>> > bevel_gear(
>> > pitch=5, teeth=36, face_width=10, shaft_diam=5,
>> > pitch_angle=45, spiral_angle=0 );
>> >
>> >
>> > How can I determine the distance that the lower face extends in the -Z direction? How can I determine the distance that the upper face extends in the +Z direction?
>> >
>> > I finally gave up on using BOSL2 gears in favor of Dario Pellegrini's PolyGear library which I was able to modify to provide bounding box info.
>> >
>> > Thanks, Len
>> >
>> >
>> > On Sun, Jan 16, 2022 at 10:26 AM Adrian Mariano <avm4@cornell.edu> wrote:
>> >>
>> >> I guess it depends on what part of Round-Anything you're using, but if
>> >> you're using polyRound then you have the point list, so you can
>> >> compute the bounding box, and really polyRound seems like the heart of
>> >> RoundAnything. And similarly, any gear library is building a
>> >> polyhedron, so it has the point list and hence knows the bounds of its
>> >> output. In BOSL2, for example, the gear library can return the
>> >> coordinate points of the gear, from which you can easily extract the
>> >> bounds. Why do you need to know the size of the gears? If it's so
>> >> you can position other objects in the model then you don't really need
>> >> the size, you just need to be able to position objects relative to
>> >> each other, which is a different requirement.
>> >>
>> >> On Sun, Jan 16, 2022 at 10:46 AM Leonard Martin Struttmann
>> >> <lenstruttmann@gmail.com> wrote:
>> >> >
>> >> > For me, the lack of a measurement tool is most apparent when using libraries such as Round-Anything.scad, or most gear-producing libraries since they do not provide bounding-box info.
>> >> >
>> >> > On Sun, Jan 16, 2022 at 6:12 AM jon <jon@jonbondy.com> wrote:
>> >> >>
>> >> >> I sometimes use Ruler.SCAD when I want to see how my design compares to an object of a known length. I also temporarily add a cube or cylinder of the desired length. I have to do that only occasionally. For me, this is only a minor annoyance.
>> >> >>
>> >> >> On 1/16/2022 3:32 AM, edmund ronald wrote:
>> >> >>
>> >> >> As you state this is clearly a doctrine issue because a reasonably accurate measurement system can be integrated in the interface without modifying the engine - I actually had to use a physical ruler to measure the projections on the screen for my last design.
>> >> >>
>> >> >> Edmund
>> >> >>
>> >> >> On Sun, Jan 16, 2022 at 8:31 AM Verachten Bruno <gounthar@gmail.com> wrote:
>> >> >>>
>> >> >>> I'm sorry, I didn't want to rekindle the tensions between those who
>> >> >>> want an integrated measurement system and those who don't.
>> >> >>
>> >> >> _______________________________________________
>> >> >> OpenSCAD mailing list
>> >> >> To unsubscribe send an email to discuss-leave@lists.openscad.org
>> >> >
>> >> > _______________________________________________
>> >> > OpenSCAD mailing list
>> >> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>> >> _______________________________________________
>> >> OpenSCAD mailing list
>> >> To unsubscribe send an email to discuss-leave@lists.openscad.org
>> >
>> > _______________________________________________
>> > OpenSCAD mailing list
>> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
ER
edmund ronald
Sun, Jan 16, 2022 11:30 PM
You are so right - every time I used Word for science work the experience
was horrible. For writing I used it a lot, and it was ok. However, every
time I used Latex, I got superior results, and it went so fast, and then
BANG! somewhere something would be in the wrong place and that one problem
would chew up half a day, and I would have to locate a Latex expert to help
me. When I learnt TeX back in 1983 or so, I had to hack the dvi driver for
the self-made laser printer in our lab, and I had no access to a bitmap
display and so problem solving that SINGLE PROBLEM meant endless loops of
compile and print. Which is exactly the experience with OpenSCAD,
wonderfully rendered objects, and then hours of pain to get one dimensional
parameter right.
Edmund
On Sun, Jan 16, 2022 at 11:52 PM Adrian Mariano avm4@cornell.edu wrote:
Ha. For me the massive frustration is Word. If I am forced to use
Word I know to budget double the time for all the time wasted trying
to get Word to do things that are easy in LaTeX. Figures won't
renumber correctly. They'll number out of order. All sorts of stuff
just doesn't seem to work. It's so frustrating, and when you get
done, the output looks far inferior to the output produced by LaTeX.
Anytime someone asks me to use word I push back and see if I can
supply a pdf instead so I can stay away from that time sink.
On Sun, Jan 16, 2022 at 5:35 PM edmund ronald edmundronald@gmail.com
wrote:
Jordan,
I think we're on the same page here. And we've all witnessed user
frustration with TeX/Latex - about once every ten pages one ends up having
to brute force it somehow, and that requires several tries and reprints for
something to end up in the right place: a compile is needed to do the
layout. In the same way with OpenSCAD there is an occasional case where one
really needs to know where some point will render in space, one needs to
render and then measure and check ...
On 1/16/2022 11:19 AM, edmund ronald wrote:
I think what is happening here is similar to what happened to TeX.
Knuth designed a wonderful typesetting language, but he did not wish to
provide for interactivity. In practice, interactivity is very useful for
layouts, but it proved really hard to backfit any decent interactive
environments to TeX, between the "interactive" and the "programming"
advocates, and LaTeX layout still makes people cry from frustration today,
and in practice a lot of people prefer to go for a Wysiwyg system.
I'd say that the enormous majority go for WYSIWYG, though they often
back-fill pseudo-programming onto it using styles. (I can support that
assertion with one word: Word.)
And yes, there are strong similarities. WYSIWYG and drawing programs
are about shoving your work around until it looks the way you want. TeX
and OpenSCAD are about writing rules that say how your work should be
processed to produce the final result.
This is a common mental disconnect when people come to OpenSCAD from
other environments. They say "I want to move that cube from here to
there", and they don't understand that the cube's location is not a simple
thing and may have been derived through some complex process... and even
the fact that it is a cube may have been derived through a complex
process.
It's also sort of like the difference between a "draw" program and a
"paint" program, that because "draw" programs work with shapes they can do
things like re-stack or rearrange the shapes that a "paint" program can't
do... and at the same time they can't easily do things like erase half of a
circle.
You are so right - every time I used Word for science work the experience
was horrible. For writing I used it a lot, and it was ok. However, every
time I used Latex, I got superior results, and it went so fast, and then
BANG! somewhere something would be in the wrong place and that one problem
would chew up half a day, and I would have to locate a Latex expert to help
me. When I learnt TeX back in 1983 or so, I had to hack the dvi driver for
the self-made laser printer in our lab, and I had no access to a bitmap
display and so problem solving that SINGLE PROBLEM meant endless loops of
compile and print. Which is exactly the experience with OpenSCAD,
wonderfully rendered objects, and then hours of pain to get one dimensional
parameter right.
Edmund
On Sun, Jan 16, 2022 at 11:52 PM Adrian Mariano <avm4@cornell.edu> wrote:
> Ha. For me the massive frustration is Word. If I am forced to use
> Word I know to budget double the time for all the time wasted trying
> to get Word to do things that are easy in LaTeX. Figures won't
> renumber correctly. They'll number out of order. All sorts of stuff
> just doesn't seem to work. It's so frustrating, and when you get
> done, the output looks far inferior to the output produced by LaTeX.
> Anytime someone asks me to use word I push back and see if I can
> supply a pdf instead so I can stay away from that time sink.
>
> On Sun, Jan 16, 2022 at 5:35 PM edmund ronald <edmundronald@gmail.com>
> wrote:
> >
> > Jordan,
> >
> > I think we're on the same page here. And we've all witnessed user
> frustration with TeX/Latex - about once every ten pages one ends up having
> to brute force it somehow, and that requires several tries and reprints for
> something to end up in the right place: a compile is needed to do the
> layout. In the same way with OpenSCAD there is an occasional case where one
> really needs to know where some point will render in space, one needs to
> render and then measure and check ...
> >
> > Edmund
> >
> > On Sunday, January 16, 2022, Jordan Brown <openscad@jordan.maileater.net>
> wrote:
> >>
> >> On 1/16/2022 11:19 AM, edmund ronald wrote:
> >>
> >> I think what is happening here is similar to what happened to TeX.
> Knuth designed a wonderful typesetting language, but he did not wish to
> provide for interactivity. In practice, interactivity is very useful for
> layouts, but it proved really hard to backfit any decent interactive
> environments to TeX, between the "interactive" and the "programming"
> advocates, and LaTeX layout still makes people cry from frustration today,
> and in practice a lot of people prefer to go for a Wysiwyg system.
> >>
> >>
> >> I'd say that the enormous majority go for WYSIWYG, though they often
> back-fill pseudo-programming onto it using styles. (I can support that
> assertion with one word: Word.)
> >>
> >> And yes, there are strong similarities. WYSIWYG and drawing programs
> are about shoving your work around until it looks the way you want. TeX
> and OpenSCAD are about writing rules that say how your work should be
> processed to produce the final result.
> >>
> >> This is a common mental disconnect when people come to OpenSCAD from
> other environments. They say "I want to move that cube from here to
> there", and they don't understand that the cube's location is not a simple
> thing and may have been derived through some complex process... and even
> the fact that it *is* a cube may have been derived through a complex
> process.
> >>
> >> It's also sort of like the difference between a "draw" program and a
> "paint" program, that because "draw" programs work with shapes they can do
> things like re-stack or rearrange the shapes that a "paint" program can't
> do... and at the same time they can't easily do things like erase half of a
> circle.
> >
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to discuss-leave@lists.openscad.org
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>