Trying out heekscad for my pop-up card project

I ran across some links on reprap blogs about tutorials regarding heekscad. I’ve had my eye on this application for a while, and have been wanting to contribute to the development, but life has sort of getting in the way of that.

Anyway.. Here’s the link to the reprap site that has some links to some tutorials..
http://repraplogphase.blogspot.com/2010/04/heekscad-my-favorate-open-source-cadcam.html
One of the comments on the post caught my eye that I thought was sort of cool.  Was this Sketch Solve Parametric Sketcher.  The commenter provide a youtube link:http://www.youtube.com/watch?v=nibjuxCbUag

At this point, want I want to attempt is see if I can layout a popup cube on a 45 and see if i can export it to DXF and them import it into the software for Pazzles inpiration.    Now if this works the cool thing about this is think I should be able to resize this and redraw with very little manipulation…  That’s the theory anyway… Time for me to watch a video…
Ok… I think this sketch solver thing offers some interesting potential.
I’m having some issues with the solver… It’s doing some weird things.  I just downloaded a fresh copy of the source and am recompiling.

In the mean time I was  looking doing some surfing and supposedly the pazzle can hand dxf according to http://www.de-signsmadebyme.com.au/page8.htm

Ok… It would be nice in if they would mention in the video to make sure autosolve constraints in digitising are turned on… They sort of forget to mention that…

Here is some information on that http://code.google.com/p/heekscad/wiki/GeometricConstraints

Ok… I’m don’t have time to finish this but at this is very interesting to me.  I believe I can generate a standard parametric shape for a pop-up which is an interesting paper engineering application for heekcad.
So… what does that mean?  Basically you should be able to generate a generic shape, a pop up rectangle, and fix the length and width on a couple of components and everything should redraw… This will be an interesting paper engineering use for heekscad.

Anyway.. out of time… Got to go. First I need to generate some DXF output and see if I can get it to load in the Pazzles inspiration.

This entry was posted in HeeksCad, pop-up card stuff. Bookmark the permalink.

3 Responses to Trying out heekscad for my pop-up card project

  1. Jo says:

    Found your website whilst Googling for the problem I encounter when trying to compile HeeksCAD on OS X.

    Linking results in:
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:31: error: forward declaration of ‘struct ocl::weave2::VertexProps’

    Though your HeeksCAD post is over a year old, I hope you can help me out on this or maybe give a clue where better to look for an answer.

    Regards,
    Jo

    Details
    ———
    Intel iMac OS X 10.5.8
    Macports 2.0.4
    boost 1.4.9
    OpenCascade i386 t.3.0
    gcc 4.4
    HeeksCAD latest revision #786, patched src/common/numeric.cpp
    #include instead of (idea from http://gnuradio.org/redmine/issues/117)
    CMake and make results (yes I hesitated to put all this in a comments entry, but as I am uncertain on the key problem I thought it an acceptable entry 🙂

    Last login: Fri Apr 6 09:45:01 on ttys000
    iMac-van-Jo:~ johan$ cd /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src
    iMac-van-Jo:src johan$ svnversion
    svn: E200030: callback requested query abort
    svn: E200030: callback requested query abort
    #
    # opnieuw uitgecheckt (met svnX)
    #
    iMac-van-Jo:src johan$ svnversion
    Unversioned directory

    iMac-van-Jo:src johan$ cmake .
    — The C compiler identification is GNU
    — The CXX compiler identification is GNU
    — Checking whether C compiler has -isysroot
    — Checking whether C compiler has -isysroot – yes
    — Checking whether C compiler supports OSX deployment target flag
    — Checking whether C compiler supports OSX deployment target flag – yes
    — Check for working C compiler: /opt/local/bin/gcc
    — Check for working C compiler: /opt/local/bin/gcc — works
    — Detecting C compiler ABI info
    — Detecting C compiler ABI info – done
    — Checking whether CXX compiler has -isysroot
    — Checking whether CXX compiler has -isysroot – yes
    — Checking whether CXX compiler supports OSX deployment target flag
    — Checking whether CXX compiler supports OSX deployment target flag – yes
    — Check for working CXX compiler: /opt/local/bin/c++
    — Check for working CXX compiler: /opt/local/bin/c++ — works
    — Detecting CXX compiler ABI info
    — Detecting CXX compiler ABI info – done
    — Note: will NOT build pure c++ library
    — Note: will NOT build ocl cutting simulation
    — Note: will NOT build ocl documentation
    — setting gcc options: -Wall -Werror -Wno-deprecated -pedantic-errors
    — Number of processors on this system 0
    — running get_revision.py to generate revision.h
    get_revision.py: got revision: 786
    — Boost version: 1.49.0
    — Found the following Boost libraries:
    — python
    — found Boost: 1_49
    — boost-incude dirs are: /opt/local/include
    — boost-python lib is: /opt/local/lib/libboost_python-mt.dylib
    — boost_LIBRARY_DIRS is: /opt/local/lib
    — Boost_LIBRARIES is: /opt/local/lib/libboost_python-mt.dylib
    — Try OpenMP C flag = [-fopenmp]
    — Performing Test OpenMP_FLAG_DETECTED
    — Performing Test OpenMP_FLAG_DETECTED – Success
    — Try OpenMP CXX flag = [-fopenmp]
    — Performing Test OpenMP_FLAG_DETECTED
    — Performing Test OpenMP_FLAG_DETECTED – Success
    — Found OpenMP: -fopenmp
    — found OpenMP, compiling with flags: -fopenmp
    — configuring src/cutters
    — configuring src/geo
    — configuring src/algo
    — configuring src/voronoi
    — configuring src/dropcutter
    — configuring src/common
    — linking python binary ocl.so with boost: /opt/local/lib/libboost_python-mt.dylib
    — Python libraries will be installed to: /Library/Python/2.5/site-packages
    — Configuring done
    — Generating done
    — Build files have been written to: /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src
    iMac-van-Jo:src johan$ make
    Scanning dependencies of target ocl_common
    [ 2%] Building CXX object common/CMakeFiles/ocl_common.dir/numeric.o
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/numeric.cpp: In function ‘double ocl::xyVectorToDiangle(double, double)’:
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/numeric.cpp:51: error: ‘isnan’ was not declared in this scope
    make[2]: *** [common/CMakeFiles/ocl_common.dir/numeric.o] Error 1
    make[1]: *** [common/CMakeFiles/ocl_common.dir/all] Error 2
    make: *** [all] Error 2
    #
    # patch src/common/numeric.cpp
    #
    iMac-van-Jo:src johan$ make
    [ 2%] Building CXX object common/CMakeFiles/ocl_common.dir/numeric.o
    [ 5%] Building CXX object common/CMakeFiles/ocl_common.dir/lineclfilter.o
    Linking CXX static library libocl_common.a
    [ 5%] Built target ocl_common
    Scanning dependencies of target ocl_cutters
    [ 7%] Building CXX object cutters/CMakeFiles/ocl_cutters.dir/ballcutter.o
    In file included from /opt/local/include/boost/graph/graph_traits.hpp:23,
    from /opt/local/include/boost/graph/adjacency_list.hpp:33,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:26,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:23,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/interval.h:26,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/fiber.h:27,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/millingcutter.h:29,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/ballcutter.h:28,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/ballcutter.cpp:23:
    /opt/local/include/boost/pending/property.hpp: In instantiation of ‘boost::property’:
    /opt/local/include/boost/pending/detail/property.hpp:94: instantiated from ‘boost::detail::build_property_tag_value_alist<boost::property >’
    /opt/local/include/boost/pending/property.hpp:63: instantiated from ‘boost::property_value<boost::property, boost::vertex_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:450: instantiated from ‘boost::graph_detail::retagged_bundle<boost::property, boost::vertex_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:463: instantiated from ‘boost::graph_detail::normal_property’
    /opt/local/include/boost/graph/properties.hpp:472: instantiated from ‘boost::graph_detail::vertex_prop’
    /opt/local/include/boost/graph/adjacency_list.hpp:378: instantiated from ‘boost::adjacency_list’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:89: instantiated from ‘ocl::HEDIGraph’
    /opt/local/include/boost/graph/graph_traits.hpp:30: instantiated from ‘boost::graph_traits<ocl::HEDIGraph >’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:47: instantiated from here
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:31: error: forward declaration of ‘struct ocl::weave2::VertexProps’
    /opt/local/include/boost/pending/property.hpp: In instantiation of ‘boost::property’:
    /opt/local/include/boost/pending/detail/property.hpp:94: instantiated from ‘boost::detail::build_property_tag_value_alist<boost::property >’
    /opt/local/include/boost/pending/property.hpp:63: instantiated from ‘boost::property_value<boost::property, boost::edge_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:450: instantiated from ‘boost::graph_detail::retagged_bundle<boost::property, boost::edge_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:463: instantiated from ‘boost::graph_detail::normal_property’
    /opt/local/include/boost/graph/properties.hpp:476: instantiated from ‘boost::graph_detail::edge_prop’
    /opt/local/include/boost/graph/adjacency_list.hpp:381: instantiated from ‘boost::adjacency_list’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:89: instantiated from ‘ocl::HEDIGraph’
    /opt/local/include/boost/graph/graph_traits.hpp:30: instantiated from ‘boost::graph_traits<ocl::HEDIGraph >’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:47: instantiated from here
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:32: error: forward declaration of ‘struct ocl::weave2::EdgeProps’
    make[2]: *** [cutters/CMakeFiles/ocl_cutters.dir/ballcutter.o] Error 1
    make[1]: *** [cutters/CMakeFiles/ocl_cutters.dir/all] Error 2
    make: *** [all] Error 2
    iMac-van-Jo:src johan$ wijz

  2. Jo says:

    Found your website whilst Googling for the issue I encounter trying to compile HeeksCAD on OS X.

    Linking results in:
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:31: error: forward declaration of ‘struct ocl::weave2::VertexProps’

    Though your HeeksCAD post is over a year old, I hope you can help me out on this or maybe give a clue where better to look for an answer.

    Regards,
    Jo

    Details
    ———
    Intel iMac OS X 10.5.8
    Macports 2.0.4
    boost 1.4.9
    OpenCascade i386 t.3.0
    gcc 4.4
    HeeksCAD latest revision #786, patched src/common/numeric.cpp
    #include instead of (idea from http://gnuradio.org/redmine/issues/117)
    CMake and make results (yes I hesitated to put all this in a comments entry, but as I am uncertain on the key problem I thought it an acceptable entry 🙂

    Last login: Fri Apr 6 09:45:01 on ttys000
    iMac-van-Jo:~ johan$ cd /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src
    iMac-van-Jo:src johan$ svnversion
    svn: E200030: callback requested query abort
    svn: E200030: callback requested query abort
    #
    # opnieuw uitgecheckt (met svnX)
    #
    iMac-van-Jo:src johan$ svnversion
    Unversioned directory

    iMac-van-Jo:src johan$ cmake .
    — The C compiler identification is GNU
    — The CXX compiler identification is GNU
    — Checking whether C compiler has -isysroot
    — Checking whether C compiler has -isysroot – yes
    — Checking whether C compiler supports OSX deployment target flag
    — Checking whether C compiler supports OSX deployment target flag – yes
    — Check for working C compiler: /opt/local/bin/gcc
    — Check for working C compiler: /opt/local/bin/gcc — works
    — Detecting C compiler ABI info
    — Detecting C compiler ABI info – done
    — Checking whether CXX compiler has -isysroot
    — Checking whether CXX compiler has -isysroot – yes
    — Checking whether CXX compiler supports OSX deployment target flag
    — Checking whether CXX compiler supports OSX deployment target flag – yes
    — Check for working CXX compiler: /opt/local/bin/c++
    — Check for working CXX compiler: /opt/local/bin/c++ — works
    — Detecting CXX compiler ABI info
    — Detecting CXX compiler ABI info – done
    — Note: will NOT build pure c++ library
    — Note: will NOT build ocl cutting simulation
    — Note: will NOT build ocl documentation
    — setting gcc options: -Wall -Werror -Wno-deprecated -pedantic-errors
    — Number of processors on this system 0
    — running get_revision.py to generate revision.h
    get_revision.py: got revision: 786
    — Boost version: 1.49.0
    — Found the following Boost libraries:
    — python
    — found Boost: 1_49
    — boost-incude dirs are: /opt/local/include
    — boost-python lib is: /opt/local/lib/libboost_python-mt.dylib
    — boost_LIBRARY_DIRS is: /opt/local/lib
    — Boost_LIBRARIES is: /opt/local/lib/libboost_python-mt.dylib
    — Try OpenMP C flag = [-fopenmp]
    — Performing Test OpenMP_FLAG_DETECTED
    — Performing Test OpenMP_FLAG_DETECTED – Success
    — Try OpenMP CXX flag = [-fopenmp]
    — Performing Test OpenMP_FLAG_DETECTED
    — Performing Test OpenMP_FLAG_DETECTED – Success
    — Found OpenMP: -fopenmp
    — found OpenMP, compiling with flags: -fopenmp
    — configuring src/cutters
    — configuring src/geo
    — configuring src/algo
    — configuring src/voronoi
    — configuring src/dropcutter
    — configuring src/common
    — linking python binary ocl.so with boost: /opt/local/lib/libboost_python-mt.dylib
    — Python libraries will be installed to: /Library/Python/2.5/site-packages
    — Configuring done
    — Generating done
    — Build files have been written to: /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src
    iMac-van-Jo:src johan$ make
    Scanning dependencies of target ocl_common
    [ 2%] Building CXX object common/CMakeFiles/ocl_common.dir/numeric.o
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/numeric.cpp: In function ‘double ocl::xyVectorToDiangle(double, double)’:
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/numeric.cpp:51: error: ‘isnan’ was not declared in this scope
    make[2]: *** [common/CMakeFiles/ocl_common.dir/numeric.o] Error 1
    make[1]: *** [common/CMakeFiles/ocl_common.dir/all] Error 2
    make: *** [all] Error 2
    #
    # patch src/common/numeric.cpp
    #
    iMac-van-Jo:src johan$ make
    [ 2%] Building CXX object common/CMakeFiles/ocl_common.dir/numeric.o
    [ 5%] Building CXX object common/CMakeFiles/ocl_common.dir/lineclfilter.o
    Linking CXX static library libocl_common.a
    [ 5%] Built target ocl_common
    Scanning dependencies of target ocl_cutters
    [ 7%] Building CXX object cutters/CMakeFiles/ocl_cutters.dir/ballcutter.o
    In file included from /opt/local/include/boost/graph/graph_traits.hpp:23,
    from /opt/local/include/boost/graph/adjacency_list.hpp:33,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:26,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:23,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/interval.h:26,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/fiber.h:27,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/millingcutter.h:29,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/ballcutter.h:28,
    from /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/cutters/ballcutter.cpp:23:
    /opt/local/include/boost/pending/property.hpp: In instantiation of ‘boost::property’:
    /opt/local/include/boost/pending/detail/property.hpp:94: instantiated from ‘boost::detail::build_property_tag_value_alist<boost::property >’
    /opt/local/include/boost/pending/property.hpp:63: instantiated from ‘boost::property_value<boost::property, boost::vertex_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:450: instantiated from ‘boost::graph_detail::retagged_bundle<boost::property, boost::vertex_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:463: instantiated from ‘boost::graph_detail::normal_property’
    /opt/local/include/boost/graph/properties.hpp:472: instantiated from ‘boost::graph_detail::vertex_prop’
    /opt/local/include/boost/graph/adjacency_list.hpp:378: instantiated from ‘boost::adjacency_list’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:89: instantiated from ‘ocl::HEDIGraph’
    /opt/local/include/boost/graph/graph_traits.hpp:30: instantiated from ‘boost::graph_traits<ocl::HEDIGraph >’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:47: instantiated from here
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:31: error: forward declaration of ‘struct ocl::weave2::VertexProps’
    /opt/local/include/boost/pending/property.hpp: In instantiation of ‘boost::property’:
    /opt/local/include/boost/pending/detail/property.hpp:94: instantiated from ‘boost::detail::build_property_tag_value_alist<boost::property >’
    /opt/local/include/boost/pending/property.hpp:63: instantiated from ‘boost::property_value<boost::property, boost::edge_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:450: instantiated from ‘boost::graph_detail::retagged_bundle<boost::property, boost::edge_bundle_t>’
    /opt/local/include/boost/graph/properties.hpp:463: instantiated from ‘boost::graph_detail::normal_property’
    /opt/local/include/boost/graph/properties.hpp:476: instantiated from ‘boost::graph_detail::edge_prop’
    /opt/local/include/boost/graph/adjacency_list.hpp:381: instantiated from ‘boost::adjacency_list’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/common/halfedgediagram.hpp:89: instantiated from ‘ocl::HEDIGraph’
    /opt/local/include/boost/graph/graph_traits.hpp:30: instantiated from ‘boost::graph_traits<ocl::HEDIGraph >’
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:47: instantiated from here
    /opt/local/include/boost/pending/property.hpp:35: error: ‘boost::property::m_value’ has incomplete type
    /Users/johan/Documents/Programmeren/svn/OpenCAMLib/src/algo/weave2_typedef.h:32: error: forward declaration of ‘struct ocl::weave2::EdgeProps’
    make[2]: *** [cutters/CMakeFiles/ocl_cutters.dir/ballcutter.o] Error 1
    make[1]: *** [cutters/CMakeFiles/ocl_cutters.dir/all] Error 2
    make: *** [all] Error 2
    iMac-van-Jo:src johan$ wijz

  3. admin says:

    I’ve sort-of abadoned heekcad since freecad has added a constraint solver…

    I know one of your fellow countrymen Ries who is maintain Librecad
    http://librecad.org/cms/home.html had a heck of time trying to get heekscad to run in OS-X. There was some problems getting the WX-widgets components to compiler correctly.. Although I think the issue was different than what your experiencing. I think Dan Heeks primarily runs in windows so I’m not sure if he would be the guy to talk to. I was talking to ries on the #cam on the freenode IRC and he thought there was someone running heekscad on OS-X but he did have his name. My suggestion, would be to contact sliptonic on #heekcad or.. check out his site sliptonic.com He may be able to hook you up with a fellow OS-X user

Leave a Reply

Your email address will not be published. Required fields are marked *