Giter VIP home page Giter VIP logo

puzzlebox's Introduction

Puzzle Box

Makes OpenSCAD file for a puzzle box

Has been tested on linux, you probably need libpopt-dev

As you will see from the Makefile, you will need popt development library. You also need gcc supporting _GNU_SOURCE for strdupa() and asprintf()

And, for the avoidance of doubt, obviously, this is normally built using "make"

When built, use --help for options, or see https://www.me.uk/puzzlebox

On macOS, this requires gcc, so "brew install gcc", then should make with no problem.

(c) Copyright 2019 Adrian Kennard. See LICENSE file (GPL)

puzzlebox's People

Contributors

dfredell avatar revk avatar rkarlsba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

puzzlebox's Issues

Running with `f` option enabled causes object OpenSCAD to throw error

The error shown by OpenSCAD is as follows:

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e_below != SHalfedge_handle() File: /mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_3/SNC_FM_decorator.h Line: 426

This is triggered on Part 3 (top center of the first image below) and causes the piece to not have the maze inside of it.

image

It is a bit odd though, the issue only occurs on the Render step, but not on the Preview step. When viewed as a Preview, the maze is properly generated.

image

Initials Do Not Work

If JW was entered into field I or E they are not created on the generated model. Only a single J is created. If 2020 JW is entered into I the text is also displayed backwards (0202 J). Something is wrong

Won't build on a mac - several issues

Dora:PuzzleBox roy$ make
indent puzzlebox.c
Error@523: Unterminated literal
make: [puzzlebox] Error 1 (ignored)
cc -O -o puzzlebox puzzlebox.c -lpopt -lm -g -D_GNU_SOURCE
puzzlebox.c:3:2: error: expected identifier or '('
2018 Adrian Kennard www.me.uk @ TheRealRevK
^
puzzlebox.c:46:2: error: expected expression
,should be less than clearance, can be - ve
^
puzzlebox.c:46:3: error: use of undeclared identifier 'should'
,should be less than clearance, can be - ve
^
puzzlebox.c:120:73: error: use of undeclared identifier 'nubzclearance'; did you mean 'nubrclearance'?
{"nub-z-clearance", 'Z', POPT_ARG_DOUBLE | POPT_ARGFLAG_SHOW_DEFAULT, &nubzclearance, 0, "Extra clearance on height of nub", "mm"},
^~~~~~~~~~~~~
nubrclearance
puzzlebox.c:44:10: note: 'nubrclearance' declared here
double nubrclearance = 0.1;
^
puzzlebox.c:132:3: error: use of undeclared identifier 'command'
command - line options
^
puzzlebox.c:132:13: error: use of undeclared identifier 'line'; did you mean 'link'?
command - line options
^~~~
link
/usr/include/unistd.h:463:6: note: 'link' declared here
int link(const char *, const char *);
^
puzzlebox.c:151:10: warning: implicit declaration of function 'strdupa' is invalid in C99 [-Wimplicit-function-declaration]
path = strdupa(path);
^
puzzlebox.c:151:8: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
path = strdupa(path);
^ ~~~~~~~~~~~~~
puzzlebox.c:383:22: warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
char p = strdupa((char **)optionsTable[o].arg),
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
puzzlebox.c:433:36: error: function definition is not allowed here
void cuttext (double s, char *t){
^
puzzlebox.c:448:27: error: function definition is not allowed here
int box (int part){
^
puzzlebox.c:1219:2: warning: implicit declaration of function 'box' is invalid in C99 [-Wimplicit-function-declaration]
box(part);
^
4 warnings and 8 errors generated.
make: *** [puzzlebox] Error 1
Dora:PuzzleBox roy$

Difference in Initials depth

This code generates initials with a depth of 0.2mm but the website version generates them with a depth of 0.6mm.

Brittle nubs

I have noticed that when printing, that the nubs are quite brittle if the pieces are forced. Kids are not very gentle. I have printed another model and the nubs are stronger and dont break as much. Is there a way to increase the nub size/strength.

Here is a link to the model that i printed with re-inforced nubs:
https://www.thingiverse.com/thing:2607374

Overhang angle too flat

The first overhang angle is too flat to be printed nicely.
My printer can print anything above 40°, the angle should be increased a little:
image

edit: puzzlebox-4m-3N-3H-10b-22c-50h-1B6-0G4-1w2-2t-3z-1M--1X-0p7-0g4-7s-2r-1R333333-e-Z-1T-0y1-0Z2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.