revit二次开发里用LocationPoint和point移动

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Autodesk.Revit.UI;using Autodesk.Revit.DB;using Autodesk.Revit.UI.Selection;using Autodesk.Revit.ApplicationServices;namespace 移动族到指定位置{ [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] public class Class1 : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { Document revitDoc = commandData.Application.ActiveUIDocument.Document; //取得文档 Application revitApp = commandData.Application.Application; //取得应用程序 UIDocument uiDoc = commandData.Application.ActiveUIDocument; Selection sel = uiDoc.Selection; Reference ref1 = sel.PickObject(ObjectType.Element, "选择一个族实例"); Element elem = revitDoc.GetElement(ref1); FamilyInstance familyInstance = elem as FamilyInstance; using (Transaction transaction = new Transaction(revitDoc)) { transaction.Start("主题"); //在下面添加主要代码内容 //把选择的元素移到(0,0,0)点 XYZ newlocation = new XYZ(0, 0, 0); MoveToAnyPlace(familyInstance, newlocation); ElementTransformUtils.CopyElement(uiDoc.Document, uiDoc.Document.GetElement(ref1).Id, new XYZ(5000/304.8, 0, 0)); transaction.Commit(); } return Result.Succeeded; } //方法:移到任意位置,newLocation表示移到的目标位置 private void MoveToAnyPlace(FamilyInstance familyInstance, XYZ newlocation) { if (null!= familyInstance) { LocationPoint famliyInstancePoint = familyInstance.Location as LocationPoint; famliyInstancePoint.Point = newlocation; } } }}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值