GithubHelp home page GithubHelp logo

tbinias / heekscnc Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 17.96 MB

Automatically exported from code.google.com/p/heekscnc

License: Other

CMake 1.42% Inno Setup 1.41% Shell 0.69% Python 46.35% C++ 50.08% Batchfile 0.02% C 0.04%

heekscnc's Introduction

HeeksCNC
========

This file describes how to build and install HeeksCNC under Unix systems.

0. Requirements
---------------

To build HeeksCNC, you need to install these requirements (with develoment files)
  * HeeksCAD
  * OpenCASCADE or OCE (OpenCASCADE Community Edition)
  * wxWidgets 2.8

1. Preparation
--------------

Create a build directory (e.g. build/ in sources root directory):
  mkdir build
  cd build

2. Configure build
------------------

If you want a default prefix (/usr/local) and a "Release" type, simply run:
  cmake ..

If you want to change install prefix (e.g. /usr):
  cmake -DCMAKE_INSTALL_PREFIX=/usr ..

If you want to debug HeeksCNC and its install:
  cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$PWD/install ..

Important note: HeeksCNC's prefix should be the same as HeeksCAD to work correctly

3. Build
--------

After a successful CMake configuration, you can build using:
  make

If you want more output (ie. to debug):
  make VERBOSE=1

4. Install
----------

Using default or system-wide prefix:
  sudo make install

Please note that if you installed it in /usr/local, you may need to run:
  sudo ldconfig

If you choose a user-writable prefix, superuser privileges are not needed:
  make install

5. Run
------

HeeksCNC is used through HeeksCAD interface.
HeeksCNC requires additional python modules at runtime:
 - python module built by libarea
 - python module built by opencamlib

X. One-liner snippets
---------------------
Default:
  mkdir build && cd build && cmake .. && make

Debug:
  mkdir debug && cd debug && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$PWD/install .. && make && make install
  LD_LIBRARY_PATH=install/lib install/bin/heekscad

heekscnc's People

Contributors

anubisg1 avatar cradek avatar danielfalck avatar jonpry avatar

Watchers

 avatar

heekscnc's Issues

NC Code window, graphics, interactive

When the user clicks on a block of text in the NC Code window, the relevant
drawing items will be highlighted.
When the user clicks on some drawing items belonging to the NC Code item,
the relevant NC Code block will be selected.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:53

simbackplot.py

remove any existing references to solid sim from HeeksCNC source code.
make a simbackplot.py, deriving from backplot.py which makes a nccode.xml
with extra information about moving parts required for a solid simulation.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:40

backplot slow

reading in the xml file and making it into an NCCode object is too slow.

maybe it's something to do with appending to the text control?

Original issue reported on code.google.com by [email protected] on 5 Feb 2009 at 1:14

Remove Python - kurve.pyd

Make Geoff's geometry into a stand-alone Python pyd file called kurve.pyd
The program will need to define kurves with language like:
k1 = kurve.new(0, 0)
kurve.add_line(k1, 10, 0)
kurve.add_arc(k1, "acw", 20, 20, 10, 10)

It will then need functions like
kurve.offset(k1, k2, 2.0)
kurve.copy(k1, k2)
num_spans = kurve.num_spans(k1)
sp, x, y, i, j = kurve.get_span(k1, i) first is i == 1

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:26

Make a Machining Toolbar

Make a "machining" toolbar.
We can keep the toolbars on the "Program" window and the "Output" window,
for now.

Original issue reported on code.google.com by [email protected] on 10 Feb 2009 at 5:36

shouldn't need to name folder "HeeksCNC"

It shouldn't matter what name you name the folder HeeksCNC.
Also, it shouldn't matter where you put it on your computer.
HeeksCAD knows where it is, when it loads the dynamic library.
When it loads the dynamic library, it should pass the folder it is in to
the OnStartUp function.

Original issue reported on code.google.com by [email protected] on 10 Feb 2009 at 6:11

Add "machine" tree item

Add a "machine" icon under the "program" icon in the tree view.

This will have the python module name of the machine "nc.iso" for example.

Also, it will have the name of the output file "output\test.tap"

Original issue reported on code.google.com by [email protected] on 14 Jan 2009 at 10:16

NC Code Window - Save button

The NC Code window will have a "Save" button.
This will save the NC code file and then reload it using backplot to make
the nc-code object.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:13

Clicking on toolpath should go to NC code

In Ubuntu, clicking on the toolpath in the graphics window, highlights the
correct NC code in the output window, but if the line of code is not in the
window, you can't see it.

It should scroll so you can see the code.

Original issue reported on code.google.com by [email protected] on 26 Feb 2009 at 9:21

zero length arcs from kurve

What steps will reproduce the problem?
1. using kurve to generate outside profile
2.
3.

What is the expected output? What do you see instead?
I'm getting several zero length arcs that end up being cut as inside loops
into the (simulated) part.

What version of the product are you using? On what operating system?
r 289 ubuntu 8.04

Please provide any additional information below.
I will attach file

Original issue reported on code.google.com by [email protected] on 21 Feb 2009 at 9:55

Attachments:

Remove Python - NC Code window

The output window will be changed to be a NC Code window.
It will show the current NC-Code object as multi-coloured text.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:52

Remove Python - ShellEx post.py

When the user presses post-process, a post.py file should be written and
called with ShellExecute, or whatever the wx equivalent is.
This post.py will be able to create the NC code when run from Python,
independant from HeeksCNC.
Running post.py will then create the NC file.

backplot.py should then be called to make nccode.xml

HeeksCNC will then create a NC-Code tree item from nccode.xml

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:33

Pocketing, moving between paths

Where a pocketing area splits into two ( like in an hour-glass shape ), the
tool must get from one region to the other by travelling along a
neighbouring contour.
Currently, it just goes in a straight line from one contour to the next,
this can cut through the part!

Original issue reported on code.google.com by [email protected] on 9 Feb 2009 at 9:49

Profile operation - optional start and end points

There are already optional start and end roll-on and roll-off points,

But what's needed, too, is optional start and end points, so you can cut a
small section of a sketch, or start in a different place.

Original issue reported on code.google.com by [email protected] on 26 Feb 2009 at 10:29

adaptive roughing tree icon

Add a tree icon to do adaptive roughing.

This will use the actp library from http://code.google.com/p/libactp/

Original issue reported on code.google.com by [email protected] on 30 Jan 2009 at 9:39

Remove Python - program window tools

The program window's tools will be simplified.
There will be no destinction between "run" and "post".
There will be one "G0" button which will ShellExecute post.py.
It will then ShellExecute backplot.py.
It will then tell the call the function which clears out the program's
nc-code object and makes a new one from the nccode.xml, made by backplot.py.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:03

"G0" shows old toolpath

If something fails in the post processing script, it doesn't tell you.

When post-processing starts, it should delete the old output file.
When back-plotting starts, it should delete the old backplot file.

Original issue reported on code.google.com by [email protected] on 7 Feb 2009 at 9:32

VoxelCut solid simulation

Remove Python from Voxelcut, instead make it able to read an xml file into
a CNCCode structure. This will be a copy of the CNCCode class used in
HCNCCode for the tree view.
HeeksCNC will be able to ShellExecute Voxelcut with a given xml file.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:44

NC Code window - Open button

The NC Code window will have an "Open" button which will allow the user to
open an NC code file.
When the user opens an NC code file, it will actually call the function
that calls backplot.py and clears the program's nc-code object and makes a
new one from the nccode.xml file generated.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:11

Allow sketches with islands to be pocketed

Currently sketches with islands are classed as "bad", and pocketing refuses
to do them.

Add a new order "WithIslands" or something, in GetSketchOrder(), and allow
pocketing, but don't allow profile operations yet.

Original issue reported on code.google.com by [email protected] on 27 Feb 2009 at 2:16

py script tree operation

There should be a simple Python script operation.
It will simply have a title and contain text that gets added to the main
Python script.

Original issue reported on code.google.com by [email protected] on 9 Feb 2009 at 9:19

Zig Zag operation

Add an object type to do zig zag machining

properties are:

list of solids to cut
tool ( diameter and corner radius )
direction ( x or y )
double minx, maxx, miny, maxy,
z0, z1, dx, dy

It will write pycam code, like this
        pg = DropCutter(c, model)
        pathlist = pg.GenerateToolPath(x0, x1, y0, y1, z0, z1, dx, dy, 0)

Original issue reported on code.google.com by [email protected] on 17 Jan 2009 at 8:24

Zigzag - Toroidal Cutter

Setting the tool type to Toroidal Cutter, causes this to be output:

c = ToroidalCutter(1.500000, Point(0,0,7))

and I get this error

  File "/home/dan/Desktop/HeeksCAD/HeeksCNC/post.py", line 20, in <module>
    c = ToroidalCutter(1.500000, Point(0,0,7))
NameError: name 'ToroidalCutter' is not defined

Original issue reported on code.google.com by [email protected] on 27 Feb 2009 at 11:59

Object oriented "machine" class

We need to make a machine class.
There will be a current machine.

machine will be used to derive all the post processor machines.

It will also be able to be derived to divert moves, a dropcut_machine maybe?

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:22

User type option

There should be an option for user type:

1. Tree Program editor
   Enable "Operations" icon in tree
     editing the tree, recreates the python script
   Read only "Program" window
     pressing "Post-process" creates the NC code ( and backplots it )
   Read only "Output" window
   Disable all buttons on "Output" window

2. Script Program editor
   No "Operations" icon in tree
   Enable "Program" window
     pressing "Post-process" creates the NC code ( and backplots it )
   Read only "Output" window
   Disable all buttons on "Output" window

3. NC Program editor
   No "Operations" icon in tree
   Clear and disable "Program" window
   Editable "Output" window
   Enable all buttons on "Output" window ( add a "Refresh graphics" button,
to do backplotting )

On changing user mode, this will set the default to be this option and "New
File" will be done automatically ( this may ask the user to save the file )

New file will set the option to the default.

On opening a file, the user type option should be set just for this
session, depending on what data is in the program ( if "Operations" exists,
set to "tree editor", else if python script exists, set to "script editor",
else if nc code exists, set to "NC editor", else use default option. )

Original issue reported on code.google.com by [email protected] on 31 Jan 2009 at 3:39

NCCode object

An NC-Code object is needed.
This will be created by calling backplot.py, which will will make
nccode.xml, which will be used to create an NC-Code object.
This xml file will be the same format that the NC-Code object is saved as
in the heeks file.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:36

"Cut selected sketches" button

There will be a "Cut selected sketches" button, which will add the relevant
text to the program. It will first show the user a dialog with options like
tool diameter, clearance height, final depth, rapid down to depth,
feed-rates, spindle speed.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:05

"Edits will be overwritten" message

If the user edits the Python program, they should be told that these
changes will be overwritten again, if they press the "Py" button.
Sam thing applies to the NC code and the "G0" button.

Original issue reported on code.google.com by [email protected] on 18 Jan 2009 at 5:31

German decimal point

In Ubuntu, on a German computer.
Make a rectangle.
Press "Pocket"
Press "Py"

The script contains lines like
 final_depth = float(-0,2)

but it should be
 final_depth = float(-0.2)

It should be a '.' instead of a ','

Original issue reported on code.google.com by [email protected] on 20 Feb 2009 at 7:03

Add Profile entity

A Profile is a graphical entity representing Geoff's Kurve.

This needs a tool bar button, and a conversion tool to create one from
lines and arcs.

Make sure ID numbers are generated correctly.

Make sure it saves and loads from xml file.

Original issue reported on code.google.com by [email protected] on 21 Oct 2008 at 9:23

Area clearance button

There will be a button added to the program window's tool bar that will add
all the relevant text to the program to perform an area clearance of the
selected sketches.
It will show a dialog with things like tool diameter, clearance height,
final depth, maximum step-down, step-over, rapid-down-stop-before-hitting
distance, feedrates, spindle speed.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:09

backplot.py

backplot.py needs to be written
This will be a class that can be derived from.
It will make "nccode.xml" by reading the NC code file.
It will probably be best to use an existing Pyhton parser to help with this.

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 8:49

wiki page for how to use HeeksCNC

It should describe how to use the different operations.
It can probably link to the .png files in the source code HeeksCNC/bitmaps.

Original issue reported on code.google.com by [email protected] on 11 Feb 2009 at 12:20

Drop Cutter machine.

Remove Anders' drop cutter code and put it in a Python module.

Make a python class derived from machine.
There will be a function
attach_start("somefile.stl", 0.1, 1)
This will remember the current machine and replace it with a
drop_cutter_machine.

Any subsequent feed, rapid moves, will be redirected to here, split and
made relative to the stl file height and then passed on to the original
machine.

there will be a function
attach_end()
to set the current machine back to the original machine

Original issue reported on code.google.com by [email protected] on 10 Jan 2009 at 9:27

Multiple programs

There should not be allowed multiple programs.

If the user selects the program, "Copy" is availabe. It shouldn't be available.

Original issue reported on code.google.com by [email protected] on 13 Jan 2009 at 10:31

Pocketing, nested pockets

There should be options for "nested pockets", which can be done "pocket at
a time" or "level at a time"

The area module should have a pocket_offset which takes this option, aswell
as normal offset options, and returns a list of sorted areas

Original issue reported on code.google.com by [email protected] on 9 Feb 2009 at 9:55

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.