/// <summary> /// Suppresses a pattern by the given name /// </summary> /// <param name="pattern"></param> /// <param name="status"></param> /// <exception cref="Exception"></exception> public void SuppressPattern(string pattern, bool status) { OccurrencePattern occPattern = null; try { occPattern = _adoc._adef.OccurrencePatterns[pattern]; } catch { throw new Exception("Could not find pattern " + pattern); } int count = occPattern.OccurrencePatternElements.Count; for (int i = 1; i <= count; i++) { OccurrencePatternElement occelement = occPattern.OccurrencePatternElements[i]; ComponentOccurrencesEnumerator occenum = occelement.Occurrences; foreach (ComponentOccurrence occ in occenum) { if (status) { occ.BOMStructure = BOMStructureEnum.kReferenceBOMStructure; occ.Suppress(); } else { occ.Unsuppress(); occ.BOMStructure = BOMStructureEnum.kDefaultBOMStructure; } } //next } }
public InventorPattern(OccurrencePattern pattern) { _pattern = pattern; }
/// <summary> /// Gets the <paramref name="occurrencePattern" />'s <see cref="FieldMetadata" /> for the <paramref name="field" />. /// </summary> /// <param name="occurrencePattern">The occurrence pattern instance the metadata should be returned for.</param> /// <param name="field">The field the metadata should be returned for.</param> public static FieldMetadata GetFieldMetadata(OccurrencePattern occurrencePattern, FieldInfo field) { Requires.NotNull(occurrencePattern, () => occurrencePattern); Requires.NotNull(field, () => field); var fieldMetadata = occurrencePattern.Metadata.Fields.SingleOrDefault(f => f.FieldInfo == field); Requires.That(fieldMetadata != null, () => field, "The occurrence pattern does not declare the given field."); return fieldMetadata; }