protected override void Process(IFCAnyHandle ifcMaterialProfile) { base.Process(ifcMaterialProfile); IFCAnyHandle ifcMaterial = IFCImportHandleUtil.GetOptionalInstanceAttribute(ifcMaterialProfile, "Material"); if (!IFCAnyHandleUtil.IsNullOrHasNoValue(ifcMaterial)) { Material = IFCMaterial.ProcessIFCMaterial(ifcMaterial); } IFCAnyHandle profileHnd = IFCImportHandleUtil.GetRequiredInstanceAttribute(ifcMaterialProfile, "Profile", true); if (profileHnd != null) { Profile = IFCProfileDef.ProcessIFCProfileDef(profileHnd); } Name = IFCImportHandleUtil.GetOptionalStringAttribute(ifcMaterialProfile, "Name", null); Description = IFCImportHandleUtil.GetOptionalStringAttribute(ifcMaterialProfile, "Description", null); double prio = IFCImportHandleUtil.GetOptionalRealAttribute(ifcMaterialProfile, "Priority", -1); if (prio >= 0) { Priority = prio; } Category = IFCImportHandleUtil.GetOptionalStringAttribute(ifcMaterialProfile, "Category", null); return; }
override protected void Process(IFCAnyHandle ifcDerivedProfileDef) { base.Process(ifcDerivedProfileDef); IFCAnyHandle ifcParentProfile = IFCImportHandleUtil.GetRequiredInstanceAttribute(ifcDerivedProfileDef, "ParentProfile", true); ParentProfile = IFCProfileDef.ProcessIFCProfileDef(ifcParentProfile); IFCAnyHandle ifcOperator = IFCImportHandleUtil.GetRequiredInstanceAttribute(ifcDerivedProfileDef, "Operator", true); Operator = IFCCartesianTransformOperator.ProcessIFCCartesianTransformOperator(ifcOperator); Label = IFCAnyHandleUtil.GetStringAttribute(ifcDerivedProfileDef, "Label"); }
override protected void Process(IFCAnyHandle ifcSurface) { base.Process(ifcSurface); IFCAnyHandle sweptCurve = IFCImportHandleUtil.GetRequiredInstanceAttribute(ifcSurface, "SweptCurve", true); SweptCurve = IFCProfileDef.ProcessIFCProfileDef(sweptCurve); IFCAnyHandle position = IFCImportHandleUtil.GetOptionalInstanceAttribute(ifcSurface, "Position"); if (IFCAnyHandleUtil.IsNullOrHasNoValue(position)) { Position = Transform.Identity; } else { Position = IFCLocation.ProcessIFCAxis2Placement(position); } }
override protected void Process(IFCAnyHandle solid) { base.Process(solid); IFCAnyHandle sweptArea = IFCImportHandleUtil.GetRequiredInstanceAttribute(solid, "SweptArea", true); SweptArea = IFCProfileDef.ProcessIFCProfileDef(sweptArea); IFCAnyHandle location = IFCImportHandleUtil.GetRequiredInstanceAttribute(solid, "Position", false); if (location != null) { Position = IFCLocation.ProcessIFCAxis2Placement(location); } else { Position = Transform.Identity; } }