Revit中沒有分割牆體的直接方法,一般采用調整原牆體的長度,再復制自身,調整復制體的長度。話不多說,直接上代碼
public static void WallCopy(Document doc, XYZ sp, XYZ ep, Element wall) { XYZ origin = sp; List<ElementId> wallcopiesID = new List<ElementId>(); wallcopiesID = ElementTransformUtils.CopyElement(doc, wall.Id, origin) as List<ElementId>; Wall wallcopy = doc.GetElement(wallcopiesID[0]) as Wall; var newCurve = Line.CreateBound(sp, ep) as Curve; (wallcopy.Location as LocationCurve).Curve = newCurve; }