




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Revit工作集协同模式的API应用探究,刘培珺,Autodesk中国研究院开发经理,首届中国开发者训练营DevCampChina1st,刘培珺职务/Autodesk中国研究院开发经理部门/IPG2004年毕业于浙江大学CADWorksetConfigurationconfig=openOptions.GetOpenWorksetsConfiguration();if(null=config)config=newWorksetConfiguration();openOptions.SetOpenWorksetsConfiguration(config);config.OpenLastViewed();DocumentnewDoc=RevitApp.OpenDocumentFile(ModelPathUtils.ConvertUserVisiblePathToModelPath(OpenDocument.rvt),openOptions);,ReloadLatest,Transactiontrans=newTransaction(RevitDoc,RL);trans.Start();ReloadLatestOptionsoptions=newReloadLatestOptions();RevitDoc.ReloadLatest(options);boolisUpdated=RevitDoc.HasAllChangesFromCentral();trans.Commit();,SynchronizeWithCentral,SynchronizeWithCentralOptionsoptions=newSynchronizeWithCentralOptions();options.Comment=RelinquishOptions;RelinquishOptionsnewRelinqOptions=newRelinquishOptions(false);newRelinqOptions.CheckedOutElements=true;newRelinqOptions.StandardWorksets=false;options.SetRelinquishOptions(newRelinqOptions);TransactWithCentralOptionstransOptions=newTransactWithCentralOptions();CallBackcallInst=newCallBack();transOptions.SetLockCallback(callInst);RevitDoc.SynchronizeWithCentral(transOptions,options);,Workset和WorksetTableWorksetDefaultVisibilitySettingsWorksetVisibilityElementWorksetFilterFilteredWorksetCollector和WorksetKindFilter,工作共享中的工作集管理,Workset和WorksetTable,WorksetTableworksetTable=RevitDoc.GetWorksetTable();WorksetIdactiveId=worksetTable.GetActiveWorksetId();WorksetactiveWorkset=worksetTable.GetWorkset(activeId);WorksetwallWorkset=worksetTable.GetWorkset(wall.WorksetId);,WorksetDefaultVisibilitySettings,WorksetDefaultVisibilitySettingsdefaultVisibility=WorksetDefaultVisibilitySettings.GetWorksetDefaultVisibilitySettings(RevitDoc);boolisVisible=defaultVisibility.IsWorksetVisible(worksetId);defaultVisibility.SetWorksetVisibility(worksetId,!isVisible);,WorksetVisibility,Viewview=getActiveView();WorksetVisibilityvisibility=view.GetWorksetVisibility(worksetId);view.SetWorksetVisibility(worksetId,WorksetVisibility.Hidden);visibility=view.GetWorksetVisibility(worksetId);view.SetWorksetVisibility(worksetId,WorksetVisibility.UseGlobalSetting);visibility=view.GetWorksetVisibility(worksetId);view.SetWorksetVisibility(worksetId,WorksetVisibility.Visible);,FilteredWorksetCollectorcollector=newFilteredWorksetCollector(RevitDoc);collector.OfKind(WorksetKind.UserWorkset);IListworksets=collector.ToWorksets();WorksetKindFilterstandardFilter=newWorksetKindFilter(WorksetKind.StandardWorkset,true);collector.WherePasses(standardFilter);,FilteredWorksetCollector和WorksetKindFilter,FilteredWorksetCollector(RevitDoc);,collector.OfKind(WorksetKind.UserWorkset);,WorksetKindFilter(WorksetKind.StandardWorkset,true);,ElementWorksetFilter,ElementWorksetFilterelmentWorksetFilter=newElementWorksetFilter(worksetId,false);FilteredElementCollectorcollector=newFilteredElementCollector(RevitDoc);ICollectionworksetElemsfounds=collector.WherePasses(elmentWorksetFilter).ToElements();,EnableWorksharingCheckoutElements和RelinquishOwnership,工作共享权限管理,开启工作共享,RevitDoc.EnableWorksharing(abc,def);Assert.IsTrue(RevitDoc.IsWorkshared);,获得编辑权限,ICollectioncheckedOutElementIds=WorksharingUtils.CheckoutElements(RevitDoc,elementsToBeCheckedout);,放弃编辑权限,TransactWithCentralOptionstransOptions=newTransactWithCentralOptions();RelinquishOptionsrelinqOptions=newRelinquishOptions(false);relinqOptions.CheckedOutElements=true;relinqOptions.FamilyWorksets=false;relinqOptions.StandardWorksets=false;relinqOptions.UserWorksets=false;relinqOptions.ViewWorksets=false;/relinquishcheckedoutelementsRelinquishedItemsitems=WorksharingUtils.RelinquishOwnership(RevitDoc,relinqOptions,transOptions);,WorksharingDisplayModeWorksharingDisplaySettingsWorksharingDisplayGraphicSettings,工作共享的显示模式,WorksharingDisplayMode,WorksharingDisplayModewsDisplayMode=view.GetWorksharingDisplayMode();view.SetWorksharingDisplayMode(WorksharingDisplayMode.CheckoutStatus);,WorksharingDisplaySettings,Documentdoc=RevitApp.OpenDocumentFile(Workshared.rvt);Transactiontrans=newTransaction(doc,newtrans);trans.Start();WorksharingDisplaySettingssettings=WorksharingDisplaySettings.GetOrCreateWorksharingDisplaySettings(doc);ICollectionusers=settings.GetAllUsersWithGraphicOverrides();trans.Commit();,WorksharingDisplayGraphicSettings,using(Transaction_transaction_=newTransaction(RevitDoc)_transaction_.Start(GetGraphicOverrides_String);ICollectionusers=displaySettings.GetAllUsersWithGraphicOverrides();foreach(StringuserNameinusers)WorksharingDisplayGraphicSettingsgraphicSettings=displaySettings.GetGraphicOverrides(userName);_transaction_.Commit();,DocumentSynchronizingWithCentralDocumentSynchronizedWithCentral,工作共享中的事件,Q&A,AutodeskisaregisteredtrademarkofAutodesk,Inc.,and/oritssubsidiariesand/oraffiliatesintheUSAand/orothercountries.Allotherbrandn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文山州麻栗坡县消防救援大队招聘考试真题2024
- 国殇考试题及答案
- 历年考试题及答案
- 中级财务会计学(安徽财经大学)知到智慧树答案
- 中级微观经济学(双语)(山东联盟)知到智慧树答案
- 中外陶瓷商务英语知到智慧树答案
- 血液肿瘤科PICC专项技术理论考题(附答案)
- 2025版商品房认购及智能家居安装协议范本
- 2025年度专业地板砖铺装施工服务合同
- 2025版汽车经销商品牌授权及销售支持合同
- 小儿上呼吸道感染
- 2025年CCAA国家注册审核员考试(产品认证基础)历年参考题库含答案详解(5卷)
- 2025-2030中国骨科手术导航机器人医生培训体系与手术量增长关联报告
- 北京市西城区2024-2025学年七年级下学期期末道德与法治试题(解析版)
- 苏州工业园区外国语学校语文新初一均衡分班试卷
- 《智能建造概论》高职完整全套教学课件
- 2025-2026小学学年度第一学期教学工作安排表:启智育心绘蓝图筑梦前行谱新篇
- GB/T 30807-2025建筑用绝热制品浸泡法测定长期吸水性
- 无限极中医秋季养生课件
- GB/T 23806-2025精细陶瓷断裂韧性试验方法单边预裂纹梁(SEPB)法
- 妇科常规手术器械处理流程
评论
0/150
提交评论