Revit二次开发,单个/多个元素移动、旋转 您所在的位置:网站首页 怎么把cad旋转到指定位置 Revit二次开发,单个/多个元素移动、旋转

Revit二次开发,单个/多个元素移动、旋转

2024-01-17 08:21| 来源: 网络整理| 查看: 265

移动元素: 基于标高的元素不能向上或者向下移动,即不能改变Z轴坐标值,但可以移动元素到同一标高内的任意位置。 如果元素Pinned属性是true时,表示这个元素不能被移动。 当一个元素被移动时,其他的元素可能会跟着移动,如:移动墙,墙上的门和窗会跟着移动。 这里以墙为例,具体实现如下:

public void Move() { using (Transaction transaction = new Transaction(document, "旋转墙")) { transaction.Start(); #region 移动单个元素 //ElementId id = new ElementId(336366); //Wall wall = document.GetElement(id) as Wall; 移动 向右移动1000mm(这里转换成英尺) //XYZ translation = XYZ.BasisX * (1000.0.Tofoot()); //ElementTransformUtils.MoveElement(document, id, translation); 向左移动1000mm(这里转换成英尺) //XYZ translation2 = XYZ.BasisX.Negate() * (1000.0.Tofoot()); //ElementTransformUtils.MoveElement(document, id, translation2); 原点(0, 0, 0) 不移动 //XYZ translation3 = XYZ.Zero; //ElementTransformUtils.MoveElement(document, id, translation3); #endregion #region 将元素移动到指定点 //得到桌子 FamilyInstance familyInstance = document.GetElement(new ElementId(336366)) as FamilyInstance; //桌子的点 XYZ doorXYZ = (familyInstance.Location as LocationPoint).Point; //鼠标点中的点,这里用作目标点 XYZ targetXYZ = uIDocument.Selection.PickPoint(); XYZ translation6 = targetXYZ - doorXYZ;//targetXYZ.Subtract(doorXYZ); Subtract也是相减的意思 ElementTransformUtils.MoveElement(document, familyInstance.Id, translation6); #endregion #region 移动多个元素 //IList references = uIDocument.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType.Element); //List ids = new List(); //foreach (Reference item in references) //{ // ids.Add(item.ElementId); //} 移动 向右移动1000mm(这里转换成英尺) //XYZ translation4 = XYZ.BasisX * (1000.0.Tofoot()); //ElementTransformUtils.MoveElements(document, ids, translation4); #endregion //location移动 //移动 向右移动3000mm(这里转换成英尺) //XYZ translation5 = XYZ.BasisX * (3000.0.Tofoot()); //Stairs stairs = document.GetElement(new ElementId(337230)) as Stairs; //bool result = stairs.Location.Move(translation5);//返回是否移动成功 transaction.Commit(); } }

新建QQ群:713878394



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有