On May 18 2013 1:50 AM, David Armstrong wrote: > On 17/05/13 19:54, EBo wrote: >> On May 17 2013 12:26 PM, Kent A. Reed wrote: >>> On 5/17/2013 1:46 PM, EBo wrote: >>>> Glad I could give you a gafaugh (or how ever it is spell it). I >>>> meant >>>> g-code -> STEP-NC. Since there is source for a demonstration >>>> parser >>>> using ISO 14649, that might be a fruitful path and what I had in >>>> mind >>>> when I made my comment. I just do not know enough about ISO 14649 >>>> to >>>> know if it is feasible. >>> Aha. I don't know enough either, but let me quote from the STEP-NC >>> DLL >>> Programming Guide I found on the StepTools site >>> >>> (http://www.steptools.com/support/stepnc_docs/stepncdll/index.html). >>> >>> [That APT is invoked in a modern-era document might tweak Dave >>> Engvall's >>> interest as well.] >>> >>> >>> ---begin quote--- >>> >>> 2.0 APT Object >>> >>> 2.1 Concept >>> The APT object is used to create AP-238 files from APT data. APT is >>> a >>> legacy language from the 1950’s that defines tool path geometries. >>> In >>> the beginning it was used in a similar way to FORTRAN except it >>> created >>> machine tool programs rather than computer programs. In recent >>> years >>> CAM >>> systems have replaced APT systems but many CAM systems still write >>> APT >>> data so it is the most widely available common denominator for tool >>> path >>> information. >>> >>> APT is the most important but not the only source of data for the >>> DLL. >>> There are functions to read several flavors of RS274D/ISO 6983 >>> files, >>> for example, see the ImportHass, ImportSiemens and ImportFanuc >>> functions, and there are functions to read STEP files to define the >>> geometries and tolerances of the workpiece, stock, fixtures and >>> cutting >>> tools, for example see the Workpiece and Rawpiece functions. >>> >>> The legacy APT programming language is state driven. Each time a >>> new >>> tool path is created the current feed, speed and other quantities >>> are >>> added to that tool path as necessary. The APT object has been >>> written >>> for APT parsers so it is also state driven. Hence, at any time >>> there >>> is >>> a current workpiece, workplan, workingstep, feed, speed and so on >>> (see >>> the GetCurrent functions). >>> >>> STEP-NC is NOT state driven. The APT object takes the state driven >>> commands of APT and converts them into a graph of STEP-NC objects >>> where >>> every quality of every object is explicitly attached to that >>> object. >>> Only the APT object has a state model in the STEP-NC DLL. The other >>> objects use navigation models in which a given argument is used as >>> the >>> starting point to find other objects. It can be argued that another >>> version of the APT object should be written for more modern >>> applications >>> that is not state driven. The process object contains some of the >>> required functionality. >>> >>> ---end quote--- >>> >>> This doesn't indicate how much work is required to salt the DLL so >>> an >>> imported RS274D (aka G-Gode) file becomes a valid and useful >>> STEP-NC >>> file but the second paragraph of the quote seems to indicate the >>> transformation you have in mind can be done. Perhaps more is said >>> elsewhere in the guide. >> I am of two minds for this. The first is that we should be able to >> write some simple test cases for a g-code to STEP-NC converter. >> Does >> anyone have access to an industrial STEP-NC capable machine to test >> the >> results? The second idea is to talk to computer language people and >> see >> if anyone would be interested in playing with this as a student >> project. >> Depending on how deep you go, it could be a full blown dissertation. >> The idea of abstracting generic state machines to OO (or other) >> paradigms is well into graduate territory. But it would not have to >> be >> that fancy, just a reinterpretation of the defined APT states to a >> non >> state machine model. But to start, if we could define just a couple >> of >> the basic motions (G00/G01, and maybe G02/G03, M00, M02, M03, M05, >> M06, >> M30). Even a subset of those can write a usable program... Just a >> though, but we would want access to a STEP-NC compliant machine to >> test. >> >> EBo -- >>... > > following the step nc discussions > here's a link to a parser for step part 21 files > thought this may be useful in further thoughts > > http://code.google.com/p/iso-14649-toolkit/wiki/ReadmeFile
Sorry I did not post this link before. Yesterday I downloaded, compiled, and ran the examples. The code is old (last updated in 2009). I am guessing that it is no longer active. I will say that I was able to get it to compile with only a couple of changes on the latest gcc-4.8.0 compiler (on a Gentoo system with a 3.7.10 kernel). If we go this rout, we should track down the authors and see about getting them involved, forking the project, taking it over, I do not know, but I will say that the project as stands looks orphaned and the code is just the parser -- not a running system. EBo -- ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers