nav111 / heekscnc

Automatically exported from code.google.com/p/heekscnc
Other
0 stars 0 forks source link

Parameters in the Profile Tags properties are not converted to inches correctly #244

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. create a new tag to a profile operation and position it on the sketch
2. click go to get the NC code
3.

What is the expected output? What do you see instead?
Expect a Tag to show up in the machine path.  Instead the path is not modified, 
and no tag is machined.  Also, can see in the python code that the 
kurve_funcs.add_tag() line does not have the right parameters.

What version of the product are you using? On what operating system?
HeeksCNC 0.14.0
Windows 7

Please provide any additional information below.

If I take each parameter of the tag properties and divide them by 25.4 and 
re-enter them, the tag works as expected.  Attached is an example file where I 
did divide them by 25.4 and re-entered them.  Then the tag works as expected, 
although it is not plotted correctly in the CAD drawing.  Tags affected are 
Position, Width, Height.

Original issue reported on code.google.com by filipmul...@q.com on 15 Aug 2010 at 11:45

Attachments:

GoogleCodeExporter commented 8 years ago
I think it's something in your file.  If you open the file and zoom down on the 
datum without post-processing, you'll see a very small toolpath and it has a 
tag.

If you re-postprocess, a reasonable toolpath is generated but without the tag 
and nothing I do will add the tag.  If I start with a new file and redraw the 
same figure, I can generate a tag fine.  Remember that a tag has to be 
positioned within the radius of the cutter or it will be ignored.

Original comment by shopinth...@gmail.com on 15 Aug 2010 at 1:24

GoogleCodeExporter commented 8 years ago
Are you sure you have your units settings to inches (vs mm)?  I agree that the 
file I attached has the tags, and they are in the right places in the datum.  
However, to get them there I had to rig the parameters off by a factor of 25.4. 
 I am guessing that if you reproc this file while heekscnc is set to mm units, 
the defect does not occur, and no tags will show up, since the positions of the 
tags are not within the radius of the tool (they were rigged to work with the 
defect).  I can open the file, rerun the post proc and see the tags, with the 
rigged tag params (using inch units).

The small toolpath when I open a file is a common occurence for me (current and 
past versions of Heekscnc did it).  I think it occurs because I use inch units. 
 When I rerun postprocess, the toolpath returns to the correct size.

I was able to crudely 'fix' the tabs units defect in the python code by 
dividing each param by 25.4.  See below:

def add_tag(x, y, width, angle, height):
    global tags
# Filip changed the below line to convert tags to inches 
    tag = Tag(x/25.4, y/25.4, width/25.4, angle, height/25.4)
    tags.append(tag)

This is a horrible way to fix it, since I don't think unit conversion should be 
handled here in the code, and will not work when units in Heekscnc are switched 
to mm.  With this fix, I can get tags to show up in the right place, and have 
correct width and height, when I use inch units.  So it shows that there is an 
issue with the conversion from mm to inches.

Original comment by filipmul...@q.com on 16 Aug 2010 at 3:15

GoogleCodeExporter commented 8 years ago
You're bug report and .heeks file confused me because there was a mix of units 
in the diplay units and NC output units.  

So let me just try to restate this as I understand it.  Not that I have a fix 
:-) but it might make it easier for people smarter than me to spot the problem.

1) set the display and NC units to inch.
2) Add a profile operation with a tag.
3) post-process produces no visible tag.  

Inspecting the python code shows that kurve_funcs.add_tag function is adding 
the tag not at the correct coordinate but at the metric equivalent unit.  So a 
tag at x=1,y=1 would have a line like this:

kurve_funcs.add_tag(25.4, 25.4, 0, 0.7853981634, 6.35)

Original comment by shopinth...@gmail.com on 16 Aug 2010 at 4:34

GoogleCodeExporter commented 8 years ago
I have fixed this now.
I added " / theApp.m_program->m_units" in this line of code:

            python << _T("kurve_funcs.add_tag(") << tag->m_pos[0] / theApp.m_program->m_units << _T(", ") << tag->m_pos[1] / theApp.m_program->m_units << _T(", ") << tag->m_width / theApp.m_program->m_units << _T(", ") << tag->m_angle * PI/180 << _T(", ") << tag->m_height / theApp.m_program->m_units << _T(")\n");

Original comment by danhe...@gmail.com on 16 Aug 2010 at 8:25