Quantcast
Viewing all articles
Browse latest Browse all 16985

Forum Post: RE: OpenPlant - Create Area - Programatically set the parameters

After digging into Bentley dlls with ILSpy and windbg-ing I found a possible solution. It does not open the window for user to set parameters because MyVol has set the property Name. When this is not null or empty then the logic insiede Bentley.Building.Mechanical.CreateAreaFromSolid(...) does not rasie the window MyVol bb = new MyVol(locale._elementoLocale); bb.CreateSolid(); List Bentley.Building.Mechanical.VolumeDefinitions.IVolumeDefinition volDefs = new List IVolumeDefinition (); volDefs.Add(bb); Bentley.Building.Mechanical.MechAddIn.CreateAreasFromVolumeDefinitions("PLANT_AREA", volDefs); Where MyVol  is public class MyVol : BaseVolumeDefinition { SmartSolidElement _solid; public MyVol(Element element) { _solid = Utilities.ComApp.SmartSolid.ExtrudeClosedPlanarCurve(element, 1000, 1000, false); this.Name = "aaa1111"; // will avoid to open the form this.VolumeType = Bentley.Building.Mechanical.VolumeDefinitions.VolumeType.Undefined; Utilities.ComApp.ActiveModelReference.AddElement(_solid); Utilities.ComApp.RedrawAllViews(MsdDrawingMode.Normal); } public override int CreateSolid() { return _solid.MdlElementRef(); } }

Viewing all articles
Browse latest Browse all 16985

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>