【Revit API】创建工作集并将element加入工作集中
2024-08-30 13:36:31
话不多说,直接上代码!
public class WorkSetHelper
{
public void AddElementsToWorkSet(Document doc, List<Element> elements)
{
if (doc.IsWorkshared == true)
{
var workset = GetWorkset(doc);
if (workset != null)
{
var worksetID = workset.Id.IntegerValue;
using (Transaction tran = new Transaction(doc, "[ToolSet] Add Elemens To WorkSet"))
{
tran.Start();
foreach (var ele in elements)
{
Parameter wsparam = ele.get_Parameter(BuiltInParameter.ELEM_PARTITION_PARAM);
if (wsparam != null)
{
wsparam.Set(worksetID);
}
}
tran.Commit();
}
}
}
} public Workset GetWorkset(Document doc)
{
Workset newWorkset = null;
// Worksets can only be created in a document with worksharing enabled
if (doc.IsWorkshared)
{
string worksetName = "WorkSetName";
// Workset name must not be in use by another workset
if (WorksetTable.IsWorksetNameUnique(doc, worksetName))
{
using (Transaction tran = new Transaction(doc, "[ToolSet] Create Work Set For ToolSet"))
{
tran.Start();
newWorkset = Workset.Create(doc, worksetName);
tran.Commit();
}
}
else
{
IList<Workset> worksetList = new FilteredWorksetCollector(doc).OfKind(WorksetKind.UserWorkset).ToWorksets();
foreach (Workset workset in worksetList)
{
if (workset.Name.Contains(worksetName))
{
return workset;
}
}
}
}
return newWorkset;
}
}
结尾:
进入设计院两周,发现市面上的Revit插件与设计院的需求差距还是很大的,设计院对视图的显示方面的要求较高。一个人在中心从事Revit插件开发压力山大啊,告诉自己慢慢来,能赢!
最新文章
- ReactJS实践(一)—— FrozenUI React化之Loading组件
- resultMap 映射
- ./yy.sh -d bash 执行脚本时所加的参数
- OpenGL Tutorial
- How To Use Proguard in Android APP
- Django官方文档学习2——数据库及模板
- Yii2 ActiveForm表单自定义样式
- C#/.net七牛云存储上传图片(文件)操作
- PHP GD 库 缩略图 添加水印
- 关于JVM内存模型的一些总结
- Address already in use : connect 的解决办法
- 控制WinForm中Tab键的跳转
- Python开发——数据类型【字典】
- eclipse怎么删除多余的tomcat server(2)
- Python+OpenCV图像处理(一)——读取显示一张图片
- pycharm 光标快速移动到括号外或行尾
- js中的string.format
- Cognos 报表在列表上面显示汇总
- typecho篇
- 堆、栈、free