1

壁の長さを取得するコードを持っている人はいますか? 現在私は使用しています:

ElementCategoryFilter wallsFilter = 
  new ElementCategoryFilter(BuiltInCategory.OST_Walls);

FilteredElementCollector collector = new FilteredElementCollector(Doc);
IList<Element> walls =
  collector.WherePasses(wallsFilter).WhereElementIsNotElementType().ToElements();

foreach (Element wall in walls)
  MessageBox.Show(wall.get_Parameter("Length").AsString());

長さは空に戻ります!!!

4

1 に答える 1

1

AsString()パラメータが文字列型であると仮定します(Parameter.StorageType == StorageType.String)。この長さパラメーターは、2 倍の長さの測定値です。だからAsDouble()うまくいくはずです。AsValueString()または、UI に表示されるように、値を単位付きの文字列に変換するために使用できます。

BuiltInParameter.CURVE_ELEM_LENGTH文字列の代わりに使用するように切り替えることもでき"Length"ます。これは、アプリケーションをローカライズする場合に役立ちます。

于 2011-06-24T19:32:55.707 に答える