EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 393|回复: 1
打印 上一主题 下一主题

族预览

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12408

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-9 13:17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

通过FamilySymbol.GetPreviewImage()可以预览族
  • [Transaction(TransactionMode.Manual)]
  • [Regeneration(RegenerationOption.Manual)]
  • //[Journaling(JournalingMode.NoCommandData)]
  • public class GetPreview : IExternalCommand
  • {
  •     public Result Execute(ExternalCommandData revit, ref string message, ElementSet elements)
  •     {
  •         UIDocument uidoc = revit.Application.ActiveUIDocument;
  •         //得到选择的对象
  •         Selection selection = uidoc.Selection;
  •         ElementSet collection = selection.Elements;
  •         Reference refelem = selection.PickObject(ObjectType.Element, "选择");
  •         FamilyInstance fi = uidoc.Document.GetElement(refelem) as FamilyInstance;
  •         FamilySymbol fs = fi.Symbol;
  •         //MessageBox.Show(fs.Name);
  •         //加载族
  •         //uidoc.Document.LoadFamily(@"D:\revit\Revit文件\万能窗.rfa");
  •         //遍历找到YTC3015
  •         FilteredElementCollector collector = new FilteredElementCollector(uidoc.Document);
  •         ICollection<Element> coll = collector.OfClass(typeof(Family)).ToElements();
  •         string strFamily = "";
  •         foreach (Element e in coll)
  •         {
  •             Family ffi = e as Family;
  •             strFamily += ffi.Name;
  •             FamilySymbolSetIterator symbolItor = ffi.Symbols.ForwardIterator();
  •             while (symbolItor.MoveNext())
  •             {
  •                 FamilySymbol fSymbol = symbolItor.Current as FamilySymbol;
  •                 if (null != fSymbol)
  •                 {
  •                     if (fSymbol.Name == "YTC3015")
  •                         MessageBox.Show(fSymbol.Name + "hi");
  •                 }
  •             }
  •         }
  •         MessageBox.Show(strFamily);
  •         //Form1 f1 = new Form1(fs.GetPreviewImage(new System.Drawing.Size(200, 200)));
  •         //f1.ShowDialog();
  •         return Result.Succeeded;
  •     }
  • }



窗体代码:
  • using System;
  • using System.Collections.Generic;
  • using System.ComponentModel;
  • using System.Data;
  • using System.Drawing;
  • using System.Linq;
  • using System.Text;
  • using System.Windows.Forms;
  • namespace RevitCodes
  • {
  •     public partial class Form1 : Form
  •     {
  •         System.Drawing.Bitmap bMap = null;
  •         public Form1()
  •         {
  •             InitializeComponent();
  •         }
  •         public Form1(System.Drawing.Bitmap bitmap)
  •         {
  •             bMap = bitmap;
  •             InitializeComponent();
  •         }
  •         private void Form1_Load(object sender, EventArgs e)
  •         {
  •             this.pictureBox1.Image = bMap;
  •         }
  •     }
  • }





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

31

主题

1019

帖子

1897

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1897
2F
发表于 2014-2-20 14:29:29 | 只看该作者
顶...... 楼下跟上.....
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-30 18:34

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表