1

計算された値を C# プログラム内から組み込みの Revit コマンドにフィードする方法があるかどうかを知りたいです。特定のビームの「最大スパン」) 私の C# プログラムを続行し、ビーム サイズを変更します)。C# 外部コマンドの実行後に Revit 組み込みコマンドを呼び出すことができるとのことですが、その後 C# プログラムに戻ることはできません。

別の例として、トリム/延長する要素を選択し、この要素に延長する「ジョイスト」ビームをコードで把握させたいと考えています。私のプログラムは、拡張フィルタリング (「リファレンス レベル」、「ワークセット」、「コメント」、「マーク」パラメーターなど) を実行してから、組み込み関数を実行し、拡張する要素を提供してから、私のビームのそれぞれ。

私はインターネット検索と Revit SDK サンプルを試しましたが、明らかにこれを使用しているものはありませんでした (ただし、調べるべき csproj がたくさんあります)。

C# プログラムと Revit の組み込みコマンドの間を行き来できないことを確認できる人はいますか?

4

3 に答える 3

1

Perhaps start with the SDK sample "MoveLinear". It shows how to modify end points of linear elements (which includes beams).

The main part of the sample's code is

                Autodesk.Revit.DB.Line line;
                //get start point via "get_EndPoint(0)"
                Autodesk.Revit.DB.XYZ newStart = new XYZ(
                    lineLoc.Curve.GetEndPoint(0).X + 100,
                    lineLoc.Curve.GetEndPoint(0).Y,
                    lineLoc.Curve.GetEndPoint(0).Z);
                //get end point via "get_EndPoint(1)"
                Autodesk.Revit.DB.XYZ newEnd = new XYZ(
                    lineLoc.Curve.GetEndPoint(1).X,
                    lineLoc.Curve.GetEndPoint(1).Y + 100,
                    lineLoc.Curve.GetEndPoint(1).Z);
                //get a new line and use it to move current element 
                //with property "Autodesk.Revit.DB.LocationCurve.Curve"
                line = Line.CreateBound(newStart, newEnd);
                lineLoc.Curve = line;

Which moves the X of the first point and the Y of the second point 100 feet.

于 2015-10-01T05:03:21.557 に答える