private void OpenScriptingWindow(object sender, RoutedEventArgs e)
        {
            var win = new ScriptingWindow();
            win.Owner = this;

            win.ScriptingConcrol.DataContext = ModelProvider;
            var binding = new Binding();
            win.ScriptingConcrol.SetBinding(ScriptingControl.ModelProperty, binding);

            win.ScriptingConcrol.OnModelChangedByScript += delegate(object o, ModelChangedEventArgs arg)
            {
                ModelProvider.ObjectInstance = null;
                var m3D = new Xbim3DModelContext(arg.NewModel);
                m3D.CreateContext(geomStorageType: XbimGeometryType.PolyhedronBinary);
                ModelProvider.ObjectInstance = arg.NewModel;
                ModelProvider.Refresh();
            };

            win.ScriptingConcrol.OnScriptParsed += delegate
            {
                GroupControl.Regenerate();
                //SpatialControl.Regenerate();
            };

            ScriptResults.Visibility = Visibility.Visible;
            win.Closing += delegate {
                ScriptResults.Visibility = Visibility.Collapsed;
            };

            win.Show();
        }
Ejemplo n.º 2
0
        private void OpenScriptingWindow(object sender, RoutedEventArgs e)
        {
            var win = new Scripting.ScriptingWindow();
            win.Owner = this;

            win.ScriptingConcrol.DataContext = ModelProvider;
            var binding = new Binding();
            win.ScriptingConcrol.SetBinding(ScriptingControl.ModelProperty, binding);

            win.ScriptingConcrol.OnModelChangedByScript += delegate(object o, Xbim.Script.ModelChangedEventArgs arg)
            {
                ModelProvider.ObjectInstance = null;
                XbimMesher.GenerateGeometry(arg.NewModel);
                ModelProvider.ObjectInstance = arg.NewModel;
                ModelProvider.Refresh();
            };

            win.ScriptingConcrol.OnScriptParsed += delegate(object o, Xbim.Script.ScriptParsedEventArgs arg)
            {
                GroupControl.Regenerate();
                //SpatialControl.Regenerate();
            };

            ScriptResults.Visibility = Visibility.Visible;
            win.Closing += new CancelEventHandler(delegate(object s, CancelEventArgs arg) {
                ScriptResults.Visibility = Visibility.Collapsed;
            });

            win.Show();
        }