예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="exportRange"></param>
        /// <param name="filePath"></param>
        /// <param name="fitDirection"></param>
        /// <param name="fileType"></param>
        /// <param name="resolution"></param>
        /// <param name="viewName"></param>
        /// <param name="zoomType"></param>
        /// <param name="size"></param>
        /// <param name="zoom"></param>
        /// <param name="createWebSite"></param>
        /// <returns></returns>
        public static ImageExportOptions Create(
            string exportRange,
            string fitDirection,
            string fileType,
            string resolution,
            string zoomType,
            string viewName,
            int size           = 512,
            int zoom           = 50,
            bool createWebSite = false,
            string filePath    = "")
        {
            var er      = (Autodesk.Revit.DB.ExportRange)Enum.Parse(typeof(Autodesk.Revit.DB.ExportRange), exportRange);
            var fd      = (Autodesk.Revit.DB.FitDirectionType)Enum.Parse(typeof(Autodesk.Revit.DB.FitDirectionType), fitDirection);
            var ft      = (Autodesk.Revit.DB.ImageFileType)Enum.Parse(typeof(Autodesk.Revit.DB.ImageFileType), fileType);
            var r       = (Autodesk.Revit.DB.ImageResolution)Enum.Parse(typeof(Autodesk.Revit.DB.ImageResolution), resolution);
            var zt      = (Autodesk.Revit.DB.ZoomFitType)Enum.Parse(typeof(Autodesk.Revit.DB.ZoomFitType), zoomType);
            var options = new Autodesk.Revit.DB.ImageExportOptions
            {
                ExportRange           = er,
                FilePath              = filePath,
                FitDirection          = fd,
                HLRandWFViewsFileType = ft,
                ImageResolution       = r,
                PixelSize             = size,
                ShadowViewsFileType   = ft,
                ShouldCreateWebSite   = createWebSite,
                ViewName              = viewName,
                Zoom     = zoom,
                ZoomType = zt
            };

            return(new ImageExportOptions(options));
        }
예제 #2
0
        private void InitImageView(Autodesk.Revit.DB.ImageExportOptions options)
        {
            // Phase 1 - Check to see if the object exists and should be rebound
            var doc    = DocumentManager.Instance.CurrentDBDocument;
            var oldEle = ElementBinder.GetElementFromTrace <Autodesk.Revit.DB.ImageView>(doc);

            // Rebind to Element
            if (oldEle != null)
            {
                InternalSetImageView(oldEle);
                return;
            }

            // Phase 2 - There was no existing Element, create new one
            TransactionManager.Instance.EnsureInTransaction(doc);

            var id   = doc.SaveToProjectAsImage(options);
            var view = doc.GetElement(id) as Autodesk.Revit.DB.ImageView;

            InternalSetImageView(view);

            TransactionManager.Instance.TransactionTaskDone();

            ElementBinder.SetElementForTrace(InternalElement);
        }
예제 #3
0
 internal ImageExportOptions(Autodesk.Revit.DB.ImageExportOptions options)
 {
     InternalImageExportOptions = options;
 }
예제 #4
0
 private ImageViews(Autodesk.Revit.DB.ImageExportOptions options)
 {
     SafeInit(() => InitImageView(options));
 }