private DocumentRange GetDocumentRange(INumericValue firstValue, INumericValue lastValue) { var startOffset = firstValue.GetDocumentStartOffset(); var endOffset = lastValue.GetDocumentEndOffset(); return(new DocumentRange(startOffset, endOffset)); }
public IEditableValueViewModel VisitNumericValue(INumericValue numericValue) { return(InitDefaults(numericValue, new EditableNumericValueViewModel() { NumValue = numericValue.NumValue.ToString() })); }
public async Task <IFormattedValue> VisitDirectUshortFormatter(IUshortsFormatter formatter) { INumericValue numericValue = _typesContainer.Resolve <INumericValue>(); numericValue.NumValue = _ushortsPayload[0]; return(numericValue); }
private DocumentRange GetDocumentRange(INumericValue firstValue, INumericValue lastValue) { var startOffset = firstValue.GetDocumentStartOffset(); var endOffset = lastValue.GetDocumentEndOffset(); return(OldMsBuildWorkarounds.CreateDocumentRange(startOffset, endOffset)); }
public IFormattedValueViewModel VisitNumericValue(INumericValue numericValue) { return(InitDefaults(numericValue, new NumericValueViewModel() { NumValue = numericValue.NumValue.ToString() })); }
public async Task <IFormattedValue> VisitUshortToIntegerFormatter(IUshortsFormatter formatter) { if (_ushortsPayload.Length != 2) { throw new ArgumentException("Number of words must be equal 2"); } INumericValue numValue = _typesContainer.Resolve <INumericValue>(); numValue.NumValue = _ushortsPayload.GetIntFromTwoUshorts(); return(numValue); }
public INumericValue Divide(INumericValue other) { var numericType = GetType(); var otherNumericType = other.GetType(); var unitType = Unit.GetType(); var otherUnitType = other.GetUnit().GetType(); var mulitiplicativeUnitType = typeof(DivisiveUnit <,>).MakeGenericType(unitType, otherUnitType); var derivedMeasureType = typeof(DerivedMeasure <, , , ,>).MakeGenericType(numericType, otherNumericType, mulitiplicativeUnitType, unitType, otherUnitType); var result = (INumericValue)Activator.CreateInstance(derivedMeasureType); result.Value = Value / other.Value; return(result); }
//public async Task<IFormattedValue> VisitFormulaFormatter(IUshortsFormatter formatter) //{ // INumericValue formattedValue = _typesContainer.Resolve<INumericValue>(); // IterationDefinition iterationDefinition = new IterationDefinition(); // IFormulaFormatter formulaFormatter = formatter as IFormulaFormatter; // iterationDefinition.FormulaString = formulaFormatter.FormulaString; // iterationDefinition.ArgumentNames = new List<string>(); // iterationDefinition.ArgumentValues = new List<double>(); // iterationDefinition.ArgumentNames.Add("x"); // iterationDefinition.ArgumentValues.Add(_ushortsPayload[0]); // iterationDefinition.NumberOfSimbolsAfterComma = formulaFormatter.NumberOfSimbolsAfterComma; // if (formulaFormatter.UshortFormattableResources != null) // { // // int index = 1; // // foreach (IUshortFormattable formattableUshortResource in formulaFormatter.UshortFormattableResources) // // { // // if (formattableUshortResource is IDeviceValueContaining) // // { // // IFormattedValue value = formattableUshortResource.UshortsFormatter // // .Format((formattableUshortResource as IDeviceValueContaining).DeviceUshortsValue); // // if (value is INumericValue) // // { // // double num = (value as INumericValue).NumValue; // // iterationDefinition.ArgumentNames.Add("x" + index++); // // iterationDefinition.ArgumentValues.Add(num); // // } // // } // // } // } // formattedValue.NumValue = MemoizeCalculateResult(iterationDefinition, formulaFormatter.FormulaString, // formulaFormatter.NumberOfSimbolsAfterComma); // return formattedValue; //} public async Task <IFormattedValue> VisitFormulaFormatter(IUshortsFormatter formatter) { INumericValue formattedValue = _typesContainer.Resolve <INumericValue>(); IterationDefinition iterationDefinition = new IterationDefinition(); IFormulaFormatter formulaFormatter = formatter as IFormulaFormatter; iterationDefinition.FormulaString = formulaFormatter.FormulaString; iterationDefinition.ArgumentNames = new List <string>(); iterationDefinition.ArgumentValues = new List <double>(); iterationDefinition.ArgumentNames.Add("x"); iterationDefinition.ArgumentValues.Add(_ushortsPayload[0]); iterationDefinition.NumberOfSimbolsAfterComma = formulaFormatter.NumberOfSimbolsAfterComma; if (formulaFormatter.UshortFormattableResources != null) { int index = 1; foreach (string formattableUshortResource in formulaFormatter.UshortFormattableResources) { var resource = _formattingContext.DeviceContext.DeviceSharedResources.SharedResourcesInContainers.FirstOrDefault( container => container.ResourceName == formattableUshortResource); var propValue = await StaticContainer.Container.Resolve <IPropertyValueService>() .GetValueOfProperty(resource.Resource, _formattingContext.DeviceContext, true, _isLocal); if (propValue.Item is INumericValue numericValue) { double num = numericValue.NumValue; iterationDefinition.ArgumentNames.Add("x" + index++); iterationDefinition.ArgumentValues.Add(num); } } } formattedValue.NumValue = MemoizeCalculateResult(iterationDefinition, formulaFormatter.FormulaString, formulaFormatter.NumberOfSimbolsAfterComma); return(formattedValue); }
private static int GetColorValue(INumericValue value) { double.TryParse(value.Constant.GetText(), NumberStyles.Float, CultureInfo.InvariantCulture, out var d); return(Math.Min(Math.Abs((int)(255 * d)), byte.MaxValue)); }
private int GetColorValue(INumericValue value) { double.TryParse(value.Constant.GetText(), out var d); return((int)(255 * d)); }
private int GetColorValue(INumericValue value) { double.TryParse(value.Constant.GetText(), NumberStyles.Float, CultureInfo.InvariantCulture, out var d); return((int)(255 * d)); }
private void button2_Click(object sender, EventArgs e) { mc = new Mathcad.Application { Visible = true }; wk = mc.Worksheets; ws = wk.Open(mySettings.Default._worksheetPath); int rows, cols; try { InteractionRevit ir = new InteractionRevit(doc); double[] matrix = new double[ir.WallsAlong.Count]; for (int i = 0; i < ir.WallsAlong.Count; i++) { FamilyInstance fi = ir.WallsAlong[i]; LocationCurve loc = fi.Location as LocationCurve; double length = Util.FootToMeter(loc.Curve.Length); matrix[i] = length; } //rows = ir.WallsAlong.Count; //cols = 1; //NumericValue member = matrix.GetElement(0, 0) as NumericValue; //for (int i = 0; i < rows; i++) //{ // for (int j = 0; j < cols; j++) // { // LocationCurve loc = ir.WallsAlong[i].Location as LocationCurve; // double length = Util.FootToMeter(loc.Curve.Length); // member.Real = length; // matrix.SetElement(i, j, member); // } //} ws.SetValue("i.x", matrix); ws.Recalculate(); ws.Save(); //Regions regions = ws.Regions; var value = ws.GetValue("i.x") as MatrixValue; StringBuilder sb2 = new StringBuilder(); sb2.Append(value.AsString); sb2.AppendLine(); rows = value.Rows; cols = value.Cols; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { INumericValue numval = value.GetElement(i, j); sb2.Append(numval.Real.ToString()); sb2.AppendLine(); } } op.WriteDebugFile(_debugFilePath, sb2); } catch (Exception ex) { //Cleanup(); Console.WriteLine(ex); StringBuilder exSb = new StringBuilder(); exSb.Append(ex.Message); exSb.AppendLine(); op.WriteDebugFile(_debugFilePath, exSb); //Util.InfoMsg(ex.Message); } Cleanup(); }
public InteractionMathcad(Document doc, Worksheet ws) { int rows, cols; InteractionRevit ir = new InteractionRevit(doc); try { System.Type objType = System.Type.GetTypeFromProgID("Mathcad.MatrixValue"); dynamic comObject = System.Activator.CreateInstance(objType); rows = ir.WallsAlong.Count; cols = 1; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { LocationCurve loc = ir.WallsAlong[i].Location as LocationCurve; double length = ut.FootToMeter(loc.Curve.Length); NumericValue member = new NumericValue(); member.Real = length; comObject.SetElement(i, j, member); } } ws.SetValue("i.x", comObject); ws.Recalculate(); //Regions regions = ws.Regions; var value = ws.GetValue("i.x") as MatrixValue; StringBuilder sb2 = new StringBuilder(); sb2.Append(value.AsString); sb2.AppendLine(); rows = value.Rows; cols = value.Cols; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { INumericValue numval = value.GetElement(i, j); sb2.Append(numval.Real.ToString()); sb2.AppendLine(); } } op.WriteDebugFile(_debugFilePath, sb2); } catch (Exception ex) { Console.WriteLine(ex); StringBuilder exSb = new StringBuilder(); exSb.Append(ex.Message); exSb.AppendLine(); op.WriteDebugFile(_debugFilePath, exSb); } }