【ABD CE】C#楼梯在做动态旋转的过程中 为何在illustration状态下不能实现动态显示?在线框模式下却可以?

请问各位老师

    楼梯在做动态旋转的过程中 为何在illustration状态下不能实现动态显示?在线框模式下却可以?

ice_video_20191107-145930.rar

  • 你这个模型是在原文件中创建的吗?还是从别的版本拷贝过来的?能把原文件发过来一下吗?我这边测试一下

  • 这个就是咱们普通的文件 没有什么特殊之处

  • 不好意思 前段时间 公司在忙没有及时回您消息 这是旋转的代码,请您指正

        class DynamicRotate : DgnPrimitiveTool  //  DgnPrimitiveTool, DgnElementSetTool
        {
            static double UorPerMas = Session.Instance.GetActiveDgnModel().GetModelInfo().UorPerMaster;
            Bentley.Interop.MicroStationDGN.Application app = Bentley.MstnPlatformNET.InteropServices.Utilities.ComApp;
    
            
            public DynamicRotate()
                : base(0, 0)
            {
            }
    
            static BIM.Element oldElement = null;
            static DPoint3d dPoint3d = new DPoint3d();
    
            public static void InstallNewTool(BIM.Element _oldElement,DPoint3d _dPoint3d)
            {
                dPoint3d = _dPoint3d;
                oldElement = _oldElement;
                DynamicRotate dynamicRotate = new DynamicRotate();
                dynamicRotate.InstallTool();
            }
    
            protected override void OnPostInstall()
            {
                AccuSnap.SnapEnabled = true;
                BeginDynamics();
                AccuDraw.Origin = dPoint3d;
                base.OnPostInstall();
            }
    
            BIM.Element newElement = null;
            protected override bool OnDataButton(DgnButtonEvent ev)
            {
                app.ActiveModelReference.ReplaceElement(oldElement, newElement);
                EndDynamics();
                ExitTool();
                return true;
            }
    
            protected override void OnDynamicFrame(DgnButtonEvent ev)
            {
                AccuDraw.Active = true;
                double angleZ;
                newElement = app.ActiveModelReference.GetLastValidGraphicalElement();
                newElement.RotateAboutZ(app.Point3dFromXYZ(dPoint3d.X / UorPerMas, dPoint3d.Y / UorPerMas, dPoint3d.Z / UorPerMas), -angleZ);
                newElement.Redraw(MsdDrawingMode.Temporary);  //��̬��ʾ  out angleX, out angleY, 
            }
    
            protected override void OnCleanup()
            {
            }
    
            protected override bool OnResetButton(DgnButtonEvent ev)
            {
                OnRestartTool();
                return true;
            }
    
            protected override void OnRestartTool()
            {
                
                EndDynamics();
                ExitTool();
            }
    
            protected override void ExitTool()
            {
                base.ExitTool();
            }
    
        
        }
    

  • 可是我这边复现不了问题 你的软件是哪个版本?