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));
 }
Пример #2
0
        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);
        }