Revit二开算法–根据圆弧上的点分割圆弧
在revit二开工作中,基础算法很重要,例如有同学问,怎么用圆弧上的点分割圆弧,这是基本算法,根据圆弧上的点与圆弧中心和起点构成的角度依次排序,并生成新的圆弧线 删除旧的圆弧线即可。
实现效果如下
代码如下:
[Transaction(TransactionMode.Manual)]
class Cmd_SplictArc : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uiapp = commandData.Application;
var uidoc = uiapp.ActiveUIDocument;
var doc = uidoc.Document;
var sel = uidoc.Selection;
//1 选择圆弧
var arcline = sel.PickObject(ObjectType.Element).GetElement(doc) as ModelArc;
var points = new List<XYZ>();
//循环选点
while (true)
{
try
{
var point = sel.PickObject(ObjectType.PointOnElement).GlobalPoint;
points.Add(point

最低0.47元/天 解锁文章
1514





