JustinSDK / dotSCAD

Reduce the burden of mathematics when playing OpenSCAD
https://openhome.cc/zh-tw/openscad/
GNU Lesser General Public License v3.0
784 stars 107 forks source link

dotSCAD 2.3 assumes library is used at top level #9

Closed chill1n closed 4 years ago

chill1n commented 4 years ago

Since dotSCAD 2.3 it's not possible anymore to use dotSCAD from a sub-directory, so as to have separated library namespaces. I use dotSCAD library as follows:

use <dotSCAD/some_dotscad_library_name.scad>;

Since dotSCAD 2.3 this results in errors because some files/functions cannot be found anymore, e.g. when using: use <dotSCAD/helix_extrude.scad>;

this gives: WARNING: Can't open library '_impl/_ptf_rotate_impl.scad'. WARNING: Can't open library 'comm/to2d.scad'. WARNING: Can't open library 'comm/to3d.scad'. WARNING: Can't open library 'comm/__to_ang_vect.scad'.

This can be fixed by not assuming that the dotSCAD library is stored at top level. I propose to encode the organization of the dotSCAD directories explicitly in the relative paths of the "use" lines. Making these dependencies explicit improves the readability and usability of the code.

For instance for file: ptf/ptf_rotate.scad Change use <_impl/_ptf_rotate_impl.scad>; to use <../_impl/_ptf_rotate_impl.scad>;

JustinSDK commented 4 years ago

Use relative paths now. I did some basic tests. If there is any question, please let me know.

chill1n commented 4 years ago

Thanks for the quick action. I've done some testing and can confirm that from my side everything seems to work as expected now.