Revit二次开发之“元素的锁定Pinned”

不是element.Lock;
而是element.Pinned=true;
刘全富分享。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using WinForm = System.Windows.Forms;

using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;

using Autodesk.Revit.DB.Mechanical;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;

using Autodesk.Revit.DB.Structure;

using System.Xml;

namespace RevitCodes
{
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    
public class cmdLockUnLock : IExternalCommand
    {
        
public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
        {
            UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;

            Transaction ts 
= new Transaction(uiDoc.Document, "www.it100.info");
            ts.Start();

            Reference refelem 
= uiDoc.Selection.PickObject(ObjectType.Element, "选择一个元素");
            Element elem
=uiDoc.Document.GetElement(refelem);
            
if (elem.Pinned)
                elem.Pinned 
= false;
            
else
                elem.Pinned 
= true;

            ts.Commit();

            
return Result.Succeeded;
        }
    }
}
from:http://revit.5d6d.com/thread-1267-1-3.html
posted @ 2011-09-27 11:50  大气象  阅读(1088)  评论(1)    收藏  举报
http://www.tianqiweiqi.com