<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to place a Beam (structural Framing on a line using C# ) in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/how-to-place-a-beam-structural-framing-on-a-line-using-c/m-p/11790274#M13620</link>
    <description>&lt;P&gt;Hi Guys, I am trying to place a beam on a line that I am creating for educational purposes, however, the Beam is not created. So my question is how can I insert a Beam (Any beam of any type ) on a line that is created via C#.&amp;nbsp;&lt;BR /&gt;To make it simple . I want a beam of any type to follow a line using C# . I have tried this code but It didn't work.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the active document and application&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;UIDocument uidoc = commandData.Application.ActiveUIDocument;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Document doc = uidoc.Document;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Define the start and end points of the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;XYZ startPoint = new XYZ(0, 0, 0);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;XYZ endPoint = new XYZ(30, 0, 0);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the level to place the family instance on&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FilteredElementCollector levelCollector = new FilteredElementCollector(doc)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;.OfCategory(BuiltInCategory.OST_Levels)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;.WhereElementIsNotElementType();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Level level = levelCollector.FirstOrDefault(e =&amp;gt; e.Name.Contains("Level 1")) as Level;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Transaction tt = new Transaction(doc);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;tt.Start("ss");&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Create the line in the project&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Line line = Line.CreateBound(startPoint, endPoint);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;SketchPlane sketchPlane = SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(doc.ActiveView.ViewDirection, startPoint));&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;tt.Commit();&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the family symbol to place on the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FilteredElementCollector symbolCollector = new FilteredElementCollector(doc).OfClass(typeof(FamilySymbol));&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FamilySymbol symbol = symbolCollector.FirstOrDefault(e =&amp;gt; e.Name.Contains("Ahmad")) as FamilySymbol;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;if (symbol != null)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Place the family instance on the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;using (Transaction t = new Transaction(doc, "Place Family Instance"))&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;t.Start();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FamilyInstance instance = doc.Create.NewFamilyInstance(line, symbol, level, StructuralType.NonStructural);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;t.Commit();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 01 Mar 2023 13:36:54 GMT</pubDate>
    <dc:creator>ahmadkhalaf7892</dc:creator>
    <dc:date>2023-03-01T13:36:54Z</dc:date>
    <item>
      <title>How to place a Beam (structural Framing on a line using C# )</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/how-to-place-a-beam-structural-framing-on-a-line-using-c/m-p/11790274#M13620</link>
      <description>&lt;P&gt;Hi Guys, I am trying to place a beam on a line that I am creating for educational purposes, however, the Beam is not created. So my question is how can I insert a Beam (Any beam of any type ) on a line that is created via C#.&amp;nbsp;&lt;BR /&gt;To make it simple . I want a beam of any type to follow a line using C# . I have tried this code but It didn't work.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the active document and application&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;UIDocument uidoc = commandData.Application.ActiveUIDocument;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Document doc = uidoc.Document;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Define the start and end points of the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;XYZ startPoint = new XYZ(0, 0, 0);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;XYZ endPoint = new XYZ(30, 0, 0);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the level to place the family instance on&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FilteredElementCollector levelCollector = new FilteredElementCollector(doc)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;.OfCategory(BuiltInCategory.OST_Levels)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;.WhereElementIsNotElementType();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Level level = levelCollector.FirstOrDefault(e =&amp;gt; e.Name.Contains("Level 1")) as Level;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Transaction tt = new Transaction(doc);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;tt.Start("ss");&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Create the line in the project&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Line line = Line.CreateBound(startPoint, endPoint);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;SketchPlane sketchPlane = SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(doc.ActiveView.ViewDirection, startPoint));&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;tt.Commit();&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;// Get the family symbol to place on the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FilteredElementCollector symbolCollector = new FilteredElementCollector(doc).OfClass(typeof(FamilySymbol));&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FamilySymbol symbol = symbolCollector.FirstOrDefault(e =&amp;gt; e.Name.Contains("Ahmad")) as FamilySymbol;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;if (symbol != null)&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;// Place the family instance on the line&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;using (Transaction t = new Transaction(doc, "Place Family Instance"))&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;t.Start();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FamilyInstance instance = doc.Create.NewFamilyInstance(line, symbol, level, StructuralType.NonStructural);&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;t.Commit();&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Mar 2023 13:36:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/how-to-place-a-beam-structural-framing-on-a-line-using-c/m-p/11790274#M13620</guid>
      <dc:creator>ahmadkhalaf7892</dc:creator>
      <dc:date>2023-03-01T13:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to place a Beam (structural Framing on a line using C# )</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/how-to-place-a-beam-structural-framing-on-a-line-using-c/m-p/11790717#M13621</link>
      <description>&lt;P&gt;First of all, and before raising a question here in the forum, I would suggest that you take a look at the official collection of Revit SDK samples:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.autodesk.com/developer-network/platform-technologies/revit" target="_blank" rel="noopener"&gt;https://www.autodesk.com/developer-network/platform-technologies/revit&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It includes quite a number of demonstrations on how to create beams, e.g.,&amp;nbsp; CreateBeamSystem,&amp;nbsp;CreateBeamsColumnsBraces,&amp;nbsp;CurvedBeam and more.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Mar 2023 15:48:15 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/how-to-place-a-beam-structural-framing-on-a-line-using-c/m-p/11790717#M13621</guid>
      <dc:creator>jeremy_tammik</dc:creator>
      <dc:date>2023-03-01T15:48:15Z</dc:date>
    </item>
  </channel>
</rss>

