Class StaticInitializer
- Namespace
- Hi.NcParsers.Initializers
- Assembly
- HiMech.dll
Merges a fixed Initialization JSON snippet into the init-block
JSON. Used to seed brand-default sections (e.g. G54, G80)
before any source NC syntax is processed.
public class StaticInitializer : INcInitializer, IMakeXmlSource
- Inheritance
-
StaticInitializer
- Implements
- Inherited Members
- Extension Methods
Constructors
StaticInitializer()
Creates an empty StaticInitializer.
public StaticInitializer()
StaticInitializer(XElement)
Creates a StaticInitializer from an XML source element,
reading the embedded JSON from the Initialization child element.
public StaticInitializer(XElement src)
Parameters
srcXElement
Properties
Default
An empty StaticInitializer with no preset sections.
public static StaticInitializer Default { get; }
Property Value
HeidenhainDefault
Heidenhain default: no coordinate offset active (datum tables used on demand).
public static StaticInitializer HeidenhainDefault { get; }
Property Value
Initialization
JSON sections to merge into the init-block JSON during Initialize(JsonObject, List<INcDependency>).
public JsonObject Initialization { get; set; }
Property Value
IsoDefault
ISO/Fanuc default: G54 active, canned-cycle cancelled (G80).
public static StaticInitializer IsoDefault { get; }
Property Value
Name
Display/registration name of the initializer.
public string Name { get; }
Property Value
SiemensDefault
Siemens default: no settable work offset active (G500) and
canned-cycle cancelled (the shared G80 inactive sentinel —
Sinumerik has no G80 vocabulary, the marker is internal).
G500 is the Siemens factory default of G group 8
(Programming Manual Fundamentals 03/2010 §16.3, SAG column):
unlike Fanuc's implicit G54, a Sinumerik activates no settable
frame until the program commands one — a program that never
writes G54-G599 machines in the machine frame.
Group 1's factory default (G1, not G0) is
deliberately NOT seeded: no brand initializer seeds a motion
term — first-block motion semantics are owned uniformly by the
motion syntaxes' absent-state rules.
public static StaticInitializer SiemensDefault { get; }
Property Value
XName
XML element name used to register and serialize this initializer.
public static string XName { get; }
Property Value
Methods
Initialize(JsonObject, List<INcDependency>)
Writes initial sections into jsonObject, optionally
using values resolved from ncDependencyList.
public void Initialize(JsonObject jsonObject, List<INcDependency> ncDependencyList)
Parameters
jsonObjectJsonObjectncDependencyListList<INcDependency>
MakeXmlSource(string, string, bool)
Creates an XML representation of the object. This method may also generate additional resources such as related files.
public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)
Parameters
baseDirectorystringThe base directory for resolving relative paths
relFilestringThe relative file path for the XML source
exhibitionOnlyboolif true, the extended file creation is suppressed.
Returns
- XElement
An XML element representing the object's state
Remarks
For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
The baseDirectory is typically the folder at the nearest configuration file folder.
Since the folder can be moving with the configuration file.
Reg(XFactory)
Registers this type's deserializer with the given XFactory
(or Default when factory is
null). Idempotent.
public static void Reg(XFactory factory = null)
Parameters
factoryXFactory