SectionStyle helps define the attributes to use when drawing a section
Constructors
public SectionStyle(SectionStyle other)
Create a new SetionStyle that is a copy of another SectionStyle
Parameters:
| other (SectionStyle) |
Properties
Fill color to apply to the background. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
How the background should be filled
Fill print color to apply to the background. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
Color to apply for the boundary curves. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
Plot width of the boundary curves. values less than -1 (-10 is default): plot weight is determined by the object's attributes -1: do not plot 0: use default weight defined by the print dialog positive values are thicknesses in millimeters to print to NOTE: if a linetype is assigned to this section style that has a physical width (not pixels), then this value is ignored and the linetype value is used
Print color to apply for the boundary curves. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
Should the boundary for this section be displayed
Scale applied to the boundary wire thickness
ComponentStatus
Gets or sets the component status of the model component.
Returns ModelComponentType.SectionStyle.
Overrides: ModelComponent.ComponentType
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
HasUserData
Gets true if this class has any custom information attached to it through UserData.
Hatch pattern to use when drawing a fill pattern
Color to apply for the hatch pattern. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
Plot width of the hatch pattern curves. values less than -1 (-10 is default): plot weight is determined by the object's attributes -1: do not plot 0: use default weight defined by the print dialog positive values are thicknesses in millimeters to print to
Print color to apply for the hatch pattern. Default is Color.Empty which means get the color from the source where this section style came from (object attributes or layer)
Rotation to apply to the hatch patterh
Exceptions:
| InvalidOperationException | When setting the ID failed. This usually happened because the instance ID is already locked. |
IdIsLocked
Returns a value indicating whether the component ID is already locked.
Exceptions:
| InvalidOperationException | When setting the Index failed. This usually happens because the instance Index is already locked. |
IndexIsLocked
Returns a value indicating whether the component Index is already locked.
InstanceDefinitionModelSerialNumber
When a component is in a model as part of the information required for a linked instance definition, this value identifies the linked instance definition reference model.
Remarks: Reference components are not saved in .3dm archives. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
Returns true if a section style is use by an object, layer, or instance definition.
IsComponentStatusLocked
The component status itself can be locked. This returns an indication.
IsDeleted
true if the component is deleted. Deleted components are kept by the document for undo purposes.
IsDocumentControlled
If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException.
IsReference
Gets a value indicting whether this component is a referenced component. Referenced components are part of referenced documents.
IsSystemComponent
True if this model component is a system constant.
An incomplete list of system constant model components is below:
- ON_ModelComponent::Unset
- ON_InstanceDefinition::Empty
- ON_Linetype::Unset
- ON_Linetype::Continuous
- ON_Linetype::ByLayer
- ON_Linetype::ByParent
- ON_Layer::Unset
- ON_Layer::Default
- ON_TextStyle::Unset
- ON_TextStyle::Default
- ON_TextStyle::ByLayer
- ON_TextStyle::ByParent
- ON_DimStyle::Unset
- ON_DimStyle::Default
- ON_DimStyle::DefaultInchDecimal
- ON_DimStyle::DefaultInchFractional
- ON_DimStyle::DefaultFootInchArchitecture
- ON_DimStyle::DefaultMillimeterSmall
- ON_DimStyle::DefaultMillimeterLarge
- ON_DimStyle::DefaultMillimeterArchitecture
ModelSerialNumber
A value identifying the model that manages this component.
Remarks: If the component is being managed by a model, this value identifies the model. In Rhino, this value is the document runtime serial number. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
Exceptions:
| InvalidOperationException | When setting the Name failed. This usually happens because the instance Name is already locked. |
NameIsLocked
Returns a value indicating whether the component Name is already locked.
ReferenceModelSerialNumber
When a component is in a model for reference, this value identifies the reference model.
Remarks: Reference components are not saved in .3dm archives. Typically this value is set and locked by the code that adds a component to a model. This value is not saved in .3dm archives.
Rule to determine when to generate a hatch pattern and fill
UserData
List of custom information that is attached to this class.
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
Methods
ClearId
public void ClearId()
Resets the HasId property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the ID is locked. |
ClearIndex
public void ClearIndex()
Resets the HasIndex property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the index is locked. |
ClearName
public void ClearName()
Resets the HasName property of the model component to false, if possible.
Exceptions:
| InvalidOperationException | If the name is locked. |
ConstructConstObject
Assigns a parent object and a sub-object index to this.
DataCRC
Increments the Cyclic Redundancy Check value by this instance.
Parameters:
| currentRemainder (uint) | The current remainder value. |
Returns: The updated remainder value.
Dispose
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
Dispose
For derived class implementers.
This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.
You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.
Also, you must call the base virtual method within your overriding method.
Parameters:
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
EnsurePrivateCopy
public void EnsurePrivateCopy()
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
Get an optional custom linetype associated with this section style. If null, then the linetype will come from the parent attributes or layer
GetObjectData
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
Parameters:
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
Parameters:
| log (out string) | A textual log. This out parameter is assigned during this call. |
Returns: true if this object is valid; false otherwise.
LockId
public void LockId()
Locks the component Id property.
LockIndex
public void LockIndex()
Locks the component Index property.
LockName
public void LockName()
Locks the component Name property.
NonConstOperation
protected virtual void NonConstOperation()
For derived classes implementers.
Defines the necessary implementation to free the instance from being constant.
OnSwitchToNonConst
protected virtual void OnSwitchToNonConst()
Is called when a non-constant operation first occurs.
public static bool ReadFromFile(string filename, out SectionStyle[] sectionStyles, out HatchPattern[] hatchPatterns)
Reads linetypes from a Rhino .3dm file.
Parameters:
| filename (string) | The path to the file to read. |
| sectionStyles (out SectionStyle[]) | An array of section styles, or an empty array if the file had no section styles. |
| hatchPatterns (out HatchPattern[]) | An array of hatch patterns reference by the section styles, or an empty array if the file has no section styles or if none of the sections styles uses a hatch pattern. The section style's HatchIndex property references hatch patterns in this array. |
Returns: True if the file was read successfully, false otherwise.
public void RemoveBoundaryLinetype()
Parameters:
| linetype (Linetype) |
ToJSON
Create a JSON string representation of this object
Parameters:
| options (SerializationOptions) |
ToString
Returns the name of the model component type, and then its name and index.
Remarks: This is provided as a visual aid. Do not rely on this for serialization.
Overrides: Object.ToString