public IBody2 CreateCylindricalStock(CylinderParams cylParams) { return(m_Modeler.CreateCylinder(new SwEx.MacroFeature.Data.Point(cylParams.Origin.ToArray()), new SwEx.MacroFeature.Data.Vector(cylParams.Axis.ToArray()), cylParams.Radius, cylParams.Height)); }
private static void SetProperties(object modelDoc, RoundStockFeatureParameters param, CylinderParams cylParams) { var setPrpValFunc = new Action <IModelDoc2, string, string, string>((doc, prpName, prpVal, conf) => { var prpMgr = doc.Extension.CustomPropertyManager[conf]; prpMgr.Add2(prpName, (int)swCustomInfoType_e.swCustomInfoText, prpVal); prpMgr.Set2(prpName, prpVal); }); var metersToInch = new Func <double, double>((m) => System.Math.Round(m * 39.37007874, 3)); var model = modelDoc as IModelDoc2; var activeConf = model.ConfigurationManager.ActiveConfiguration.Name; setPrpValFunc.Invoke(model, "StockVisible", Convert.ToInt32(param.CreateSolidBody).ToString(), activeConf); setPrpValFunc.Invoke(model, "StockDiameter", metersToInch(cylParams.Radius * 2).ToString(), activeConf); setPrpValFunc.Invoke(model, "StockLength", metersToInch(cylParams.Height).ToString(), activeConf); }