While continuing my learning on how to use libraries, I've opened the file
washer.scad from the library NopSCADlib.
But I don't understand why I'm getting these messages?
WARNING: Can't open include file '../utils/sweep.scad'.
WARNING: Can't open include file '../utils/sweep.scad'.
The NopSCADlib library is here:
C:\Users\terry\Dropbox\3D Printer\OpenSCAD\LIBRARIES\NopSCADlib
And both core.scad and sweep.scad are in
NopSCADlib\utils\sweep.scad
BTW, what is the purpose of '//!', which I don't see in the Comments section
of the user manual?
//
// NopSCADlib Copyright Chris Palmer 2018
// nop.head@gmail.com
// hydraraptor.blogspot.com
//
// This file is part of NopSCADlib.
// etc
//
//
//! Washers, star washers, penny washers and printed washers.
//!
//! If a washer is given a child, usually a screw or a nut, then it is
placed on its top surface.
//
include <../utils/core/core.scad>
include <../utils/sweep.scad>
soft_washer_colour = grey(20);
hard_washer_colour = grey(80);
star_washer_colour = brass;
etc
http://forum.openscad.org/file/t3184/LibrariesLocation-01.jpg
Terry
--
Sent from: http://forum.openscad.org/
afaik you need to define the path more fully, e.g for my system
openscad is here
C:\Program Files\OpenSCAD\openscad.exe
Nopscad library is here
C:\Program Files\OpenSCAD\libraries\NopSCADlib
and incude modules like here
include<NopSCADlib/utils/thread.scad>
i.e. include path from openscad library.
On 13/06/2021 18:45, Terrypin wrote:
While continuing my learning on how to use libraries, I've opened the
file washer.scad from the library NopSCADlib.
But I don't understand why I'm getting these messages?
WARNING: Can't open include file '../utils/sweep.scad'.
WARNING: Can't open include file '../utils/sweep.scad'.
The NopSCADlib library is here:
C:\Users\terry\Dropbox\3D Printer\OpenSCAD\LIBRARIES\NopSCADlib
And both core.scad and sweep.scad are in
NopSCADlib\utils\sweep.scad
BTW, what is the purpose of '//!', which I don't see in the Comments
section of the user manual?
//
// NopSCADlib Copyright Chris Palmer 2018
// nop.head@gmail.com
// hydraraptor.blogspot.com
//
// This file is part of NopSCADlib.
// etc
//
//
//! Washers, star washers, penny washers and printed washers.
//!
//! If a washer is given a child, usually a screw or a nut, then it is
placed on its top surface.
//
include <../utils/core/core.scad>
include <../utils/sweep.scad>
soft_washer_colour = grey(20);
hard_washer_colour = grey(80);
star_washer_colour = brass;
etc
Sent from the OpenSCAD mailing list archive
http://forum.openscad.org/ at Nabble.com.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Thanks. I had tried that ... but forgot to change the separators '' to '/'.
So the following now works:
//include <../utils/core/core.scad>
//include <../utils/sweep.scad>
// My latest attempt now works
include</NopSCADlib/utils/sweep.scad>
include</NopSCADlib/utils/core/core.scad>
However ... I don't see why the first one doesn't fail! Its path looks
wrong: core.scad is not in \utils, it's in \core:
C:\Users\terry\Dropbox\3D
Printer\OpenSCAD\LIBRARIES\NopSCADlib\utils\core\core.scad
Yet if I change it to what seems the correct path
include</NopSCADlib/core/core.scad>
it fails, with that same message.
--
Sent from: http://forum.openscad.org/
Given how often we run into file naming and path problems, I wonder if
it would make sense to do something like this:
if the given File Name and Path (FNP) exists, then fine.
else try replacing slashes and backslashes in a variety of ways to see
if we can get FNP to exist
else try just looking for the file name in the base Library path
else <something smarter than I can imagine>
If the file name has to be modified to be found, then explain to the
user what was done and what they need to do to fix the FNP
Might reduce the number of questions about things like this.
Jon
On 6/13/2021 5:41 PM, Terrypin wrote:
Thanks. I had tried that ... but forgot to change the separators ''
to '/'.
So the following now works:
//include <../utils/core/core.scad>
//include <../utils/sweep.scad>
// My latest attempt now works
include</NopSCADlib/utils/sweep.scad>
include</NopSCADlib/utils/core/core.scad>
However ... I don't see why the first one doesn't fail! Its path
looks wrong: core.scad is not in \utils, it's in \core:
C:\Users\terry\Dropbox\3D
Printer\OpenSCAD\LIBRARIES\NopSCADlib\utils\core\core.scad
Sent from the OpenSCAD mailing list archive
http://forum.openscad.org/ at Nabble.com.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Thanks Jon. I’m guessing you posted before seeing my slightly earlier reply?
Do you/anyone have any thoughts on the puzzle I raised in that, beginning “However…”?
--
Terry
On 13 Jun 2021, at 22:49, jon jon@jonbondy.com wrote:
Given how often we run into file naming and path problems, I wonder if it would make sense to do something like this:
if the given File Name and Path (FNP) exists, then fine.
else try replacing slashes and backslashes in a variety of ways to see if we can get FNP to exist
else try just looking for the file name in the base Library path
else <something smarter than I can imagine>
If the file name has to be modified to be found, then explain to the user what was done and what they need to do to fix the FNP
Might reduce the number of questions about things like this.
Jon
On 6/13/2021 5:41 PM, Terrypin wrote:
Thanks. I had tried that ... but forgot to change the separators '' to '/'.
So the following now works:
//include <../utils/core/core.scad>
//include <../utils/sweep.scad>
// My latest attempt now works
include</NopSCADlib/utils/sweep.scad>
include</NopSCADlib/utils/core/core.scad>
However ... I don't see why the first one doesn't fail! Its path looks wrong: core.scad is not in \utils, it's in \core:
C:\Users\terry\Dropbox\3D Printer\OpenSCAD\LIBRARIES\NopSCADlib\utils\core\core.scad
Yet if I change it to what seems the correct path
include</NopSCADlib/core/core.scad>
it fails, with that same message.
Sent from the OpenSCAD mailing list archive at Nabble.com.
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
The way it is supposed to work is you put NopSCADLib anywhere you want and
put the directory it is in in the OPENSCADPATH environment variable.
Then, for a simple one file project, you simply do include
<NopSCADlib/lib.scad> and that gets you everything.
You don't open washers.scad, as it won't do anything on its own. You can
open tests/washers.scad to see all the washers but normally you would just
use them in your own code. E.g.
include <NopSCADlib/lib.scad>
washer(M3_washer); // Draws a washer.
Those relative path includes you have commented are part of the library as
all its internal paths are relative and don't need to be changed.
I can't see why paths starting with / would work at all as they would imply
NopSCADlib is at the root but you say it is in your dropbox. All paths
should use forward slashes, so they work on Windows and Linux.
//! is used to make the documentation. OpenSCAD treats it as a comment but
my Python framework scrapes it and uses it as markdown to make the
readme.md for the library and also assembly instructions for user projects.
On Sun, 13 Jun 2021 at 23:27, jon jon@jonbondy.com wrote:
Given how often we run into file naming and path problems, I wonder if it
would make sense to do something like this:
if the given File Name and Path (FNP) exists, then fine.
else try replacing slashes and backslashes in a variety of ways to see if
we can get FNP to exist
else try just looking for the file name in the base Library path
else <something smarter than I can imagine>
If the file name has to be modified to be found, then explain to the user
what was done and what they need to do to fix the FNP
Might reduce the number of questions about things like this.
Jon
On 6/13/2021 5:41 PM, Terrypin wrote:
Thanks. I had tried that ... but forgot to change the separators '' to
'/'.
So the following now works:
//include <../utils/core/core.scad>
//include <../utils/sweep.scad>
// My latest attempt now works
include</NopSCADlib/utils/sweep.scad>
include</NopSCADlib/utils/core/core.scad>
However ... I don't see why the first one doesn't fail! Its path looks
wrong: core.scad is not in \utils, it's in \core:
C:\Users\terry\Dropbox\3D
Printer\OpenSCAD\LIBRARIES\NopSCADlib\utils\core\core.scad
Sent from the OpenSCAD mailing list archive http://forum.openscad.org/
at Nabble.com.
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
Your original message went in my spam folder and the image is too small to
read. You shouldn't get an error opening vitamins/washer.scad, it should
simply do nothing. This is what it looks like on my machine.
[image: image.png]
washer.scad is in NopSCADlib/vitamins/washer.scad so ../utils/sweep.scad
should get you NopSCADlib/utils/sweep.scad.
On Mon, 14 Jun 2021 at 00:26, nop head nop.head@gmail.com wrote:
The way it is supposed to work is you put NopSCADLib anywhere you want and
put the directory it is in in the OPENSCADPATH environment variable.
Then, for a simple one file project, you simply do include
<NopSCADlib/lib.scad> and that gets you everything.
You don't open washers.scad, as it won't do anything on its own. You can
open tests/washers.scad to see all the washers but normally you would just
use them in your own code. E.g.
include <NopSCADlib/lib.scad>
washer(M3_washer); // Draws a washer.
Those relative path includes you have commented are part of the library as
all its internal paths are relative and don't need to be changed.
I can't see why paths starting with / would work at all as they would
imply NopSCADlib is at the root but you say it is in your dropbox. All
paths should use forward slashes, so they work on Windows and Linux.
//! is used to make the documentation. OpenSCAD treats it as a comment
but my Python framework scrapes it and uses it as markdown to make the
readme.md for the library and also assembly instructions for user projects.
On Sun, 13 Jun 2021 at 23:27, jon jon@jonbondy.com wrote:
Given how often we run into file naming and path problems, I wonder if it
would make sense to do something like this:
if the given File Name and Path (FNP) exists, then fine.
else try replacing slashes and backslashes in a variety of ways to see if
we can get FNP to exist
else try just looking for the file name in the base Library path
else <something smarter than I can imagine>
If the file name has to be modified to be found, then explain to the user
what was done and what they need to do to fix the FNP
Might reduce the number of questions about things like this.
Jon
On 6/13/2021 5:41 PM, Terrypin wrote:
Thanks. I had tried that ... but forgot to change the separators '' to
'/'.
So the following now works:
//include <../utils/core/core.scad>
//include <../utils/sweep.scad>
// My latest attempt now works
include</NopSCADlib/utils/sweep.scad>
include</NopSCADlib/utils/core/core.scad>
However ... I don't see why the first one doesn't fail! Its path looks
wrong: core.scad is not in \utils, it's in \core:
C:\Users\terry\Dropbox\3D
Printer\OpenSCAD\LIBRARIES\NopSCADlib\utils\core\core.scad
Sent from the OpenSCAD mailing list archive http://forum.openscad.org/
at Nabble.com.
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
Thanks, will study and reply fully later. Meanwhile posting this (from my
iPad) to ask if you’ve found the cause of several of my recent posts going
to your spam folder?
--
Sent from: http://forum.openscad.org/
No I don't know why your emails go into my spam folder. It is something to
do with the mailing list that was updated recently but gmail addresses
normally work. Gmail's spam filter doesn't often give false positives.
I can't diagnose your original problem because your screenshot is too low
resolution. As long as you have OPENSCADPATH=C:/Users/terry/Dropbox/3D
Printer/OpenSCAD/LIBRARIES it should work without any changes. I also don't
understand how it can work with paths starting with /.
What version of OpenSCAD are you using?
On Mon, 14 Jun 2021 at 08:57, Terrypin terrypingm@gmail.com wrote:
Sent from the OpenSCAD mailing list archive http://forum.openscad.org/
at Nabble.com.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Brilliant, thanks, that's the sort of concise instructions for a simple
example that I desperately needed!
I had the correct library installed correctly, as we discussed 9/6/21. And
the Environment path.
I suppose my most basic mistake was assuming that to make (say) a washer I'd
use washer.scad.
Another was the crucial omission of:
include <NopSCADlib/lib.scad>
I should have carefully studied usage.md, where on page #4 I now read:
"All the vitamins and utilities are included if you include
NopSCADlib/lib.scad."
I did glance impatiently through it a week or so ago but "vitamins"
temporariy delayed progress, although I've now googled its meaning ;-)
This works fine:
washer(M3_washer); // Draws a washer.
But what is the equivalent for an M3 bolt (or screw) please, my practical
objective?
/"Those relative path includes you have commented are part of the library as
all its internal paths are relative and don't need to be changed."/
/"I can't see why paths starting with / would work at all as they would
imply NopSCADlib is at the root but you say it is in your dropbox."/
Well, I tried it again with the same result:
include <../utils/core/core.scad>
include <../utils/sweep.scad>
// Those two give errors. My changes below do not, with or without the first
'/'
//include<NopSCADlib/utils/sweep.scad>
//include<NopSCADlib/utils/core/core.scad>
I've uploaded the file here:
https://www.dropbox.com/s/bzt7vh61l13t7nt/washer_Errors.scad?raw=1
https://www.dropbox.com/s/bzt7vh61l13t7nt/washer_Errors.scad?raw=1
One other aspect that confuses me is that there are many files in the
library with the same name but different content, such as washer.scad. As
another example, here's a screenshot showing both core.scad files. I'll
include it as a link, as you've said that non-forum subscribers have a
problem viewing large images, and smaller ones are unreadable.
https://www.dropbox.com/s/nyxzxt670878m3x/TwoCore.jpg?raw=1
Terry
--
Sent from: http://forum.openscad.org/