public bool BatchMode { get; set; } true means you cannot ask questions during reading. (no dialogs, no "getters", etc.)
public bool ImportMode { get; set; } true means we are merging whatever is being read into an existing document. This means you need to consider things like:
If the information being read is in a different unit system, it should be scaled if UseScaleGeometry is true.
There can be existing layers, fonts, materials, dimension styles, hatch patterns, and so on with the same name as items being read from the file.
public bool ImportReferenceMode { get; set; } true means we are reading information for a work session reference model or a linked instance definition.
public bool InsertMode { get; set; } true means we are reading information that will be used to create an instance definition or some other type of "inserting" that is supported by Rhino's "Insert" command.
If a file is being read to create an instance definition, then this value will be the serial number of the instance definition being created. Otherwise, this value will be 0;
public bool NewMode { get; set; } true means we are reading template information in something like a OnFileNew event.
public bool OpenMode { get; set; } true means we are reading the information into an empty document. This means you need to consider things like:
- Setting the unit system (if the file has a unit system)
- Creating a default layer if one is not there.
- Setting up appropriate views when you're finished reading.
public Guid ReferenceModelGrandParentLayerId { get; } Information that ultimately is part of a worksession reference model or linked instance definition model is being read, all layers are added as sub-layers of a grand-parent layer.When the information being read is destined for the active model, no grandparent layer is used. Value is Guid.Empty if no grandparent layer is in use.
public bool ScaleGeometry { get; set; } true: If ImportMode is true and the geometry in the file being read has a unit system different from the model's unit system, then apply the unit conversion scale to the file's geometry before adding it to the model.
false: Do not scale. Once case where this happens is when an instance definition is read from a file and the model space instance references have been scaled. In case the instance definition geometry cannot be scaled or the net result is that the size of the instance reference object is scaled by the square of the scale factor.
public bool UseScaleGeometry { get; set; } If this parameter is true, then no questions are asked when unit conversion scaling is optional and the setting specified by ScaleGeometry is used.
[CLSCompliant(false)]
public uint WorkSessionReferenceModelSerialNumber { get; } If a worksession reference model is being read, then a value >= 1000 will be returned. Otherwise, this value will be 0;