Using the huge NopSCADLib effectively

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

Using the huge NopSCADLib effectively

Terrypin
I thought that this example showed how delightfully simple it is to access ANY module from the huge NopSCADLib library. IOW, enter that single include and a module (such as 'screw') with its appropriate parameters.

https://www.dropbox.com/s/g8dvbq7iwfvdwgz/NopSCADLib-UsageTests-1.jpg?raw=1




Promisingly, this indeed proved correct for the three other examples I went on to identify yesterday:
M3_grub_screw
M3_pan_screw
M3_dome_screw

All those, and the original M3_cap_screw example that Nophead gave me work fine.

However, I'm presumably not using the right part of the extensive documentation, as those three took me a long time to find. Is there anywhere showing an example of every module, its parameters and typical result please?

For example, even staying within the realm of screws/bolts/threads, where can I find find line 5 equivalents for ANY module? For example, an M4 countersunk self-tapping screw (not a bolt)? An M8 pan head nut and bolt? Etc. There's a daunting amount of material in the library and I'm keen to use it effectively!

Hopefully it's not still a navigational/addressing issue? As my screenshot shows, while NopSCADLib is in
C:\Users\terry\Dropbox\3D Printer\OpenSCAD\LIBRARIES\,
my projects {'loaded designs' as OpenSCAD calls them) are in various locations within C:\Users\terry\Dropbox\3D Printer.


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Using the huge NopSCADLib effectively

nophead
The readme on github has a section for each file of the library showing all the available functions, modules and objects, their parameters and descriptions. It shows a picture of all the objects and has a link to the code that draws them, which is a simple example of code to use the modules. It also shows all the module invocations for all the objects drawn.

I don't think there is such a thing as a M4 self-tapping screw is there? I think self tappers use imperial screw gauges.

There isn't an M8 pan screw but there is an M6 pan screw. There is also a link to screws.scad, where all the objects are defined https://github.com/nophead/NopSCADlib/blob/master/vitamins/screws.scad#L93, so you should be able to work out how to make an M8 pan screw by defining a new object.

There is no distinction between screws and bolts as it depends on how you use them, not what they are. For example if you screw into a solid metal then it is a machine screw but if you put a nut on it it can be called a bolt, so everything is a screw in the library.



On Tue, 15 Jun 2021 at 15:26, Terrypin <[hidden email]> wrote:
I thought that this example showed how delightfully simple it is to access ANY module from the huge NopSCADLib library. IOW, enter that single include and a module (such as 'screw') with its appropriate parameters.

https://www.dropbox.com/s/g8dvbq7iwfvdwgz/NopSCADLib-UsageTests-1.jpg?raw=1




Promisingly, this indeed proved correct for the three other examples I went on to identify yesterday:
M3_grub_screw
M3_pan_screw
M3_dome_screw

All those, and the original M3_cap_screw example that Nophead gave me work fine.

However, I'm presumably not using the right part of the extensive documentation, as those three took me a long time to find. Is there anywhere showing an example of every module, its parameters and typical result please?

For example, even staying within the realm of screws/bolts/threads, where can I find find line 5 equivalents for ANY module? For example, an M4 countersunk self-tapping screw (not a bolt)? An M8 pan head nut and bolt? Etc. There's a daunting amount of material in the library and I'm keen to use it effectively!

Hopefully it's not still a navigational/addressing issue? As my screenshot shows, while NopSCADLib is in
C:\Users\terry\Dropbox\3D Printer\OpenSCAD\LIBRARIES\,
my projects {'loaded designs' as OpenSCAD calls them) are in various locations within C:\Users\terry\Dropbox\3D Printer.


Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Using the huge NopSCADLib effectively

Terrypin
The readme on github has a section for each file of the library showing all the available functions, modules and objects, their parameters and descriptions. It shows a picture of all the objects and has a link to the code that draws them, which is a simple example of code to use the modules. It also shows all the module invocations for all the objects drawn.

Thanks, I'll try to find that, despite my inexperience in navigating github.

I don't think there is such a thing as a M4 self-tapping screw is there? I think self tappers use imperial screw gauges.

I'm sure imperial are more prevalent but there are plenty of metrics. 25 pages of them at Farnell for example:
https://uk.farnell.com/c/fasteners-mechanical/fasteners-fixings/screws-bolts/self-tapping-screws?thread-size-metric=m3

But by 'M4' I was really simply thinking 'just under 4.0 mm'.

There isn't an M8 pan screw but there is an M6 pan screw. There is also a
link to screws.scad, where all the objects are defined

https://github.com/nophead/NopSCADlib/blob/master/vitamins/screws.scad#L93,
so you should be able to work out how to make an M8 pan screw by defining a new object.

I had loaded that yesterday, but apart from finding it dauntingly complicated, it gave 36 errors on its 135 lines. I'll study it again if that's the only comprehensive source.

Loaded design 'C:/Users/terry/Dropbox/3D Printer/OpenSCAD/LIBRARIES/NopSCADlib/vitamins/screws.scad'.
Used file cache size: 12 files
Compiling design (CSG Tree generation)...
WARNING: Ignoring unknown function 'inch' in file nuts.scad, line 50
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 70
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 71
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 72
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 73
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 74
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 75
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 76
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 78
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 79
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 80
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 81
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 82
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 84
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 85
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 86
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 87
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 89
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 90
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 91
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 92
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 93
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 94
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 96
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 97
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 98
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 99
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 100
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 102
WARNING: Ignoring unknown variable 'hs_grub' in file screws.scad, line 104
WARNING: Ignoring unknown variable 'hs_grub' in file screws.scad, line 105
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 107
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 108
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 109
WARNING: Ignoring unknown variable 'hs_cs' in file screws.scad, line 110
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 111
Compiling design (CSG Products generation)...
Geometries in cache: 0
Geometry cache size in bytes: 0
CGAL Polyhedrons in cache: 0
CGAL cache size in bytes: 0
Compiling design (CSG Products normalization)...
Normalized tree has 1 elements!
Compile and preview finished.
Total rendering time: 0:00:00.134

There is no distinction between screws and bolts as it depends on how you use them, not what they are. For example if you screw into a solid metal then it is a machine screw but if you put a nut on it it can be called a bolt, so everything is a screw in the library.

By 'screw' I usually mean the DIY variety, not a 'machine screw' or bolt.. IOW a wood or plastic screw, or often a self-tapping screw, e.g for aluminium or plastic like PTA.



Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Using the huge NopSCADLib effectively

nophead


On Tue, 15 Jun 2021 at 18:52, Terrypin <[hidden email]> wrote:
The readme on github has a section for each file of the library showing all the available functions, modules and objects, their parameters and descriptions. It shows a picture of all the objects and has a link to the code that draws them, which is a simple example of code to use the modules. It also shows all the module invocations for all the objects drawn.

Thanks, I'll try to find that, despite my inexperience in navigating github.

It is simply the long readme on the project landing page, i.e. https://github.com/nophead/NopSCADlib. If you scroll down past the picture there is a table of contents that lets you jump to any section, but it is all on that one very long page. It is automatically generated from the markdown comments in the code.



I don't think there is such a thing as a M4 self-tapping screw is there? I think self tappers use imperial screw gauges.

I'm sure imperial are more prevalent but there are plenty of metrics. 25 pages of them at Farnell for example:
https://uk.farnell.com/c/fasteners-mechanical/fasteners-fixings/screws-bolts/self-tapping-screws?thread-size-metric=m3

I stand corrected. I didn't know they were referred to as M3, etc, when they are not machine threads.  I have never bought any. The few I have used have been imperial I think.



But by 'M4' I was really simply thinking 'just under 4.0 mm'.

I don't model the threads on anything but the machine screws as I haven't investigated the details. Wood screws are just pointed cylinders at the moment.
 


There isn't an M8 pan screw but there is an M6 pan screw. There is also a
link to screws.scad, where all the objects are defined

https://github.com/nophead/NopSCADlib/blob/master/vitamins/screws.scad#L93,
so you should be able to work out how to make an M8 pan screw by defining a new object.

I had loaded that yesterday, but apart from finding it dauntingly complicated, it gave 36 errors on its 135 lines. I'll study it again if that's the only comprehensive source.

Loaded design 'C:/Users/terry/Dropbox/3D Printer/OpenSCAD/LIBRARIES/NopSCADlib/vitamins/screws.scad'.
Used file cache size: 12 files
Compiling design (CSG Tree generation)...
WARNING: Ignoring unknown function 'inch' in file nuts.scad, line 50
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 70
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 71
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 72
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 73
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 74
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 75
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 76
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 78
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 79
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 80
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 81
WARNING: Ignoring unknown variable 'hs_cs_cap' in file screws.scad, line 82
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 84
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 85
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 86
WARNING: Ignoring unknown variable 'hs_dome' in file screws.scad, line 87
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 89
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 90
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 91
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 92
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 93
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 94
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 96
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 97
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 98
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 99
WARNING: Ignoring unknown variable 'hs_hex' in file screws.scad, line 100
WARNING: Ignoring unknown variable 'hs_cap' in file screws.scad, line 102
WARNING: Ignoring unknown variable 'hs_grub' in file screws.scad, line 104
WARNING: Ignoring unknown variable 'hs_grub' in file screws.scad, line 105
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 107
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 108
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 109
WARNING: Ignoring unknown variable 'hs_cs' in file screws.scad, line 110
WARNING: Ignoring unknown variable 'hs_pan' in file screws.scad, line 111
Compiling design (CSG Products generation)...
Geometries in cache: 0
Geometry cache size in bytes: 0
CGAL Polyhedrons in cache: 0
CGAL cache size in bytes: 0
Compiling design (CSG Products normalization)...
Normalized tree has 1 elements!
Compile and preview finished.
Total rendering time: 0:00:00.134


It isn't a file intended to be compiled on its own, only the files in the test folder will actually compile and draw something.

To add a new screw you don't need to edit the library. Just copy the line that is the M6 version and change the dimensions by finding an online drawing or measuring one. You can put it on your own file somewhere above where you pass it to screw().
 
There is no distinction between screws and bolts as it depends on how you use them, not what they are. For example if you screw into a solid metal then it is a machine screw but if you put a nut on it it can be called a bolt, so everything is a screw in the library.

By 'screw' I usually mean the DIY variety, not a 'machine screw' or bolt.. IOW a wood or plastic screw, or often a self-tapping screw, e.g for aluminium or plastic like PTA.



Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Using the huge NopSCADLib effectively

Terrypin
Thanks for that helpful follow-up.

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]