Thanks, i will do some research on the TP codes.

2015年10月12日星期一,Robert Ellenberg <[email protected]> 写道:
> Hi Julian,
>
> As you've discovered, the trajectory planner itself can already create
arcs
> in an arbitrary plane. However, the interpreter and canon only support the
> subset that Jeff mentioned. Internally, the TP's circular arc segment is
> defined with a start point, end point, center point, and normal vector.
> Depending on the normal vector, the result is either a circular arc in the
> plane perpendicular to the normal, or a helix with the helical axis along
> the normal vector. It would be possible to support arbitrary-plane arcs in
> linuxcnc if we added interpreter / canon / plotting support, but we'd have
> to decide how to support such a thing in G-code. Here are a few options I
> can see:
>
>
>    1. Extend existing G2 / G3 with an additional mode to interpret (X Y Z)
>    as the end point, and ( I J K) as the center point of a spherical arc
(with
>    no helical component). This is nice because it wouldn't require any
>    additional parameters. Unfortunately, as Brian pointed out, it breaks
down
>    for 180 deg arcs.
>    2. Create a from-scratch G code that accepts 9 parameters (X Y Z as end
>    point, I J K as center, and 3 others for a normal). This would solve
the
>    180 deg problem (as well as the clockwise / counterclockwise problem),
but
>    will be a pain to get a valid normal direction. This would make sense
only
>    if there was an existing standard that CAM or other CNC controllers
>    supported, and we wanted to emulate it.
>    3. Add a G code to specify an arbitrary normal vector for all circular
>    arcs (i.e. generalize G17-G19). This would be nice because it
preserves the
>    current G2 / G3 behavior, and having an explicit normal direction
solves
>    the 180 deg problem. It would involve a bunch of changes (adding extra
>    modal state for the normal vector, and re-writing canon's
arc-processing
>    code to handle an arbitrary normal).
>
> I'd vote for (3) if anything because it doesn't change existing syntax,
and
> it would be easier to write G-code by hand to use it. Still, it's not
> something that can happen overnight due to the scope of the changes.  Is
> anyone else interested in this capability? It will be a few months before
I
> can devote serious time to it, but I'd be willing to take a crack at it
> eventually if there's enough demand.
>
> -Rob
> On Fri, Oct 9, 2015, 7:10 PM Jullian <[email protected]> wrote:
>
>> Thanks for the replies,
>> Now, it's sure that a generic 3D arc is not supported by g-code。
>> But in the LinuxCNC'' codes, it has the following code like:
>> typedef struct {
>>     SphericalArc xyz;
>>     PmCartesian abc;
>>     PmCartesian uvw;
>> } Arc9;
>>
>> is not these codes to implement  the generic arbitrary arc??
>>
>> 2015-10-09 21:06 GMT+08:00 Jeff Epler <[email protected]>:
>>
>> > On Fri, Oct 09, 2015 at 01:09:50PM +0800, Jullian wrote:
>> > > Thanks,Jeff,
>> > > no bug, it's my comprehension fault,
>> > >
>> > > What i wonder now is that how the LinuxCNC do a spherical 3D arc by
>> > G_Code
>> > > or by other way?
>> >
>> > As far as I know, LinuxCNC's gcode dialect does not allow specification
>> > of fully generic arcs.
>> >
>> > You can get arcs with the normal in the Z direction in G17.  In G18 or
>> > G19 you can get arbitrary mixtures of X and Y in the normal by using
>> > coordinate system rotation (G10's R value).  But right now you can't
get
>> > an arc where the normal has a Z component and an XY component.
>> >
>> > I'm not aware of any current project to change this, but it would not
be
>> > unwelcome.  One challenge is the gcode syntax: how do you specify the
>> > normal to be used?  I think many of the other layers of code are
>> > prepared to accept arbitrary arcs, though the preview plots may need
>> > additional modification.
>> >
>> > Jeff
>> >
>> >
>> >
>>
------------------------------------------------------------------------------
>> > _______________________________________________
>> > Emc-developers mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/emc-developers
>> >
>>
>>
------------------------------------------------------------------------------
>> _______________________________________________
>> Emc-developers mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>>
>
------------------------------------------------------------------------------
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
------------------------------------------------------------------------------
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to