在Revit二次开发工作中,或许会用对Curveloop的放大、缩小、偏移等操作。我们查阅开发手册就可以发现Curveloop这个类提供了Transform这个实例方法,有了这个方法我们对Curveloop进行一些操作,下面是一个简单的Demo,通过放大缩小创建了三块楼板。 protectedoverrideResultExecute(ExternalCommandData commandData,refstringmessage, Ele...
在Revit二次开发工作中,或许会用对Curveloop的放大、缩小、偏移等操作。我们查阅开发手册就可以发现Curveloop这个类提供了Transform这个实例方法,有了这个方法我们对Curveloop进行一些操作,下面是一个简单的Demo,通过放大缩小创建了三块楼板。 protected override Result Execute(ExternalCommandData commandData, ref string mes...
trEdit.Start(); CurveLoop curveLoop; //截面轮廓线,就不细写了 List<CurveLoop> list = new List<CurveLoop>{curveLoop}; XYZ extrudeDirection; //拉伸方向 double extrudeDistance; //拉伸距离 Solid s = GeometryCreationUtilities.CreateExtrusionGeometry(new List<CurveLoop>{curveLoop},extrudeDirection,extrudeDi...
List<CurveLoop> topCLList = selectWallSolidList.SelectMany(x => GetDirectionOriginCurveLoop(x, XYZ.BasisZ)).ToList(); List<Line> maxOuterLineList = GetMaximumOuterContour(doc, topCLList.SelectMany(x => x).OfType<Line>().ToList()); Transaction trans = new Transaction(doc, "測試"); tr...
publicIEnumerable<CurveLoop>GetRoomBoundary(Roomroom){varboudaries=room.GetBoundarySegments(newSpatialElementBoundaryOptions(){SpatialElementBoundaryLocation=SpatialElementBoundaryLocation.Finish});varcurveLoops=newList<CurveLoop>();foreach(varsegmentsinboudaries){varcurves=newList<Curve>();foreach(varsegement...
点与线的关系:在Revit中,点和线通常用于定义Revit构件的几何形状。您可以使用Revit API中提供的类来创建、修改和删除这些构件。例如,您可以使用CurveLoop类来创建一个闭合的曲线集合,表示一个墙的轮廓。您也可以使用Solid类来创建一个立体构体,表示一个柱子或梁等构件。
CurveLoop landingLoop = new CurveLoop(); XYZ p1 = new XYZ(15, 10, 0); XYZ p2 = new XYZ(20, 10, 0); XYZ p3 = new XYZ(20, -10, 0); XYZ p4 = new XYZ(15, -10, 0); Line curve_1 = Line.CreateBound(p1, p2);
CreateCricle:输入点和半径,创建圆。publicstaticList<CurveLoop>CreateCricle(XYZpt,doubleradius){doubler=radius/304.8;… 阅读全文 Revit二开构造函数-IsInsideOutline(输入点和围合曲线,判断点是否在围合曲线内) IsInsideOutline:输入点和围合曲线,判断点是否在围合曲线内。publicstaticboolIsInsideOutline(XYZTarget...
//把四个点连成一个曲线CurveLoop profile=newCurveLoop();profile.Append(Line.CreateBound(pt1,pt2));profile.Append(Line.CreateBound(pt2,pt3));profile.Append(Line.CreateBound(pt3,pt4));profile.Append(Line.CreateBound(pt4,pt1));//将曲线放入集合里List<CurveLoop>loops=newList<CurveLoop>();...
CurveLoop circle = new CurveLoop(); circle.Append(Arc.Create(point, radius , 0, Math.PI, XYZ.BasisX, XYZ.BasisY)); circle.Append(Arc.Create(point, radius , Math.PI, 2 * Math.PI, XYZ.BasisX, XYZ.BasisY)); curveloops.Add(circle); ...