すべての汎用モデル、つまりパネルとパーツの寸法を合わせたいと思います。私はこれを達成する方法を選んだ。しかし、私が見ることができる唯一の問題は、壁を再ペタル化するとき、ディメンションを上書きしないということです。 (トランザクションを使用してパーツまたは汎用モデルに添付されている寸法Revit
プライベートの静的な無効CreateDimension(オフセットダブルXYZ開始、XYZの終わり、ビュービュー、文字列テキスト、XYZのDIR) { (!start.IsEqual(終了))場合 { を試してみてください { t =新しいトランザクション(AppMain.Settings.ActiveDoc、 "ディメンションの追加")) { t.Start();
Curve c = Line.CreateBound(start, end);
XYZ normal = dir.Multiply(offset);
Line tranformed = c.CreateTransformed(Transform.CreateTranslation(normal)) as Line;
if (null != tranformed)
{
XYZ ai = start;
XYZ ao = tranformed.GetEndPoint(0);
Line lineA = Line.CreateBound(ai, ao);
DetailCurve modelcurveA = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineA);
XYZ bi = end;
XYZ bo = tranformed.GetEndPoint(1);
Line lineB = Autodesk.Revit.DB.Line.CreateBound(bi, bo);
DetailCurve modelcurveB = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineB);
ReferenceArray ra = new ReferenceArray();
ra.Append(modelcurveA.GeometryCurve.Reference);
ra.Append(modelcurveB.GeometryCurve.Reference);
Line lineAB = Line.CreateBound(ao, bo);
Dimension dimension = AppMain.Settings.ActiveDoc.Create.NewDimension(view, lineAB, ra);
dimension.Below = text;
}
t.Commit();
}
}
}
catch (Exception ex)
{
AppMain.Settings.LogErrorMessage(ex.Message);
}
}
他の方法はありますか?
おかげで、 ロブ