<?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 Re: GetEndPointReference() Returns invalid operation in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409259#M64736</link>
    <description>&lt;P&gt;Let us know if you try it and it works because I tried and it didn't work for me. My be I'm messing something.&lt;/P&gt;</description>
    <pubDate>Tue, 28 Jun 2016 20:45:02 GMT</pubDate>
    <dc:creator>Mustafa.Salaheldin</dc:creator>
    <dc:date>2016-06-28T20:45:02Z</dc:date>
    <item>
      <title>GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6402820#M64729</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to create a sweep inside a family document and add some dimensions to its end points.&lt;/P&gt;&lt;P&gt;But I am getting some unexpected behaviour.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I create manually the sweep I can programatically add dimensions, but if the sweep has been programatically created it refuese to do it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attach both codes. The first one lets you pick a sweep and adds the dimensions inside. The second one creates the sweep and then tries to add dimensiosn to it. And of course fails.&lt;/P&gt;&lt;P&gt;I am working with Revit 2016&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone know how to solve this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;These two samples are intender to work under the sharpdevelop macro IDE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance to all.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jose Ignacio Montes (AvatarBIM)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;void&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;DimSweepLines&lt;/SPAN&gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document doc =&lt;SPAN&gt;this&lt;/SPAN&gt;.ActiveUIDocument.Document;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference reference =&amp;nbsp;&lt;SPAN&gt;this&lt;/SPAN&gt;.ActiveUIDocument.Selection.&lt;SPAN&gt;PickObject&lt;/SPAN&gt;(ObjectType.Element);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sweep sweep = doc.&lt;SPAN&gt;GetElement&lt;/SPAN&gt;(reference)&amp;nbsp;&lt;SPAN&gt;as&lt;/SPAN&gt;&amp;nbsp;Sweep;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sketch sketch = sweep.PathSketch;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DimensionType dimType =&amp;nbsp;(&lt;SPAN&gt;from&lt;/SPAN&gt;&amp;nbsp;d&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;FilteredElementCollector&lt;/SPAN&gt;(doc).&lt;SPAN&gt;WhereElementIsElementType&lt;/SPAN&gt;().OfType&amp;lt;DimensionType&amp;gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;select&lt;/SPAN&gt;&amp;nbsp;d).&lt;SPAN&gt;FirstOrDefault&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(CurveArray array&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;sketch.Profile)&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Line l =&lt;SPAN&gt;null&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReferenceArray refArray =&amp;nbsp;&lt;SPAN&gt;null&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(Curve curve&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;array)&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l = Line.&lt;SPAN&gt;CreateBound&lt;/SPAN&gt;(curve.&lt;SPAN&gt;GetEndPoint&lt;/SPAN&gt;(&lt;SPAN&gt;0&lt;/SPAN&gt;),curve.&lt;SPAN&gt;GetEndPoint&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;ReferenceArray&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray.&lt;SPAN&gt;Append&lt;/SPAN&gt;(curve.&lt;SPAN&gt;GetEndPointReference&lt;/SPAN&gt;(&lt;SPAN&gt;0&lt;/SPAN&gt;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray.&lt;SPAN&gt;Append&lt;/SPAN&gt;(curve.&lt;SPAN&gt;GetEndPointReference&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transaction te =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Transaction&lt;/SPAN&gt;(doc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;te.&lt;SPAN&gt;Start&lt;/SPAN&gt;(&lt;SPAN&gt;"FamilyDim"&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dimension dim = doc.FamilyCreate.&lt;SPAN&gt;NewDimension&lt;/SPAN&gt;(doc.ActiveView,l,refArray,dimType);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;te.&lt;SPAN&gt;Commit&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;void&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;CreateAndDimSweep&lt;/SPAN&gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UIApplication uiapp =&amp;nbsp;&lt;SPAN&gt;this&lt;/SPAN&gt;;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UIDocument uidoc = uiapp.ActiveUIDocument;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document fdoc =uidoc.Document;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;if&lt;/SPAN&gt;(!fdoc.IsFamilyDocument)&amp;nbsp;&lt;SPAN&gt;return&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transaction t =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Transaction&lt;/SPAN&gt;(&amp;nbsp;fdoc,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;"Create sweep inside family"&lt;/SPAN&gt;&amp;nbsp;);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.&lt;SPAN&gt;Start&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sweep sweep =&amp;nbsp;&lt;SPAN&gt;Createsweep&lt;/SPAN&gt;(fdoc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sweep.Pinned =&amp;nbsp;&lt;SPAN&gt;false&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.&lt;SPAN&gt;Commit&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sketch sketch = sweep.PathSketch;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DimensionType dimType =&amp;nbsp;(&lt;SPAN&gt;from&lt;/SPAN&gt;&amp;nbsp;d&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;FilteredElementCollector&lt;/SPAN&gt;(fdoc)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&lt;SPAN&gt;WhereElementIsElementType&lt;/SPAN&gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.OfType&amp;lt;DimensionType&amp;gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;select&lt;/SPAN&gt;&amp;nbsp;d).&lt;SPAN&gt;FirstOrDefault&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(CurveArray array&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;sketch.Profile)&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Line l =&lt;SPAN&gt;null&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReferenceArray refArray =&amp;nbsp;&lt;SPAN&gt;null&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&amp;nbsp;(Curve curve&amp;nbsp;&lt;SPAN&gt;in&lt;/SPAN&gt;&amp;nbsp;array)&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l = Line.CreateBound&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(curve.&lt;SPAN&gt;GetEndPoint&lt;/SPAN&gt;(&lt;SPAN&gt;0&lt;/SPAN&gt;),curve.&lt;SPAN&gt;GetEndPoint&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;ReferenceArray&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reference refe = curve.Reference;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;try&lt;/SPAN&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transaction te =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Transaction&lt;/SPAN&gt;(fdoc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;te.&lt;SPAN&gt;Start&lt;/SPAN&gt;(&lt;SPAN&gt;"FamilyDim"&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray.&lt;SPAN&gt;Append&lt;/SPAN&gt;(curve.&lt;SPAN&gt;GetEndPointReference&lt;/SPAN&gt;(&lt;SPAN&gt;0&lt;/SPAN&gt;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refArray.&lt;SPAN&gt;Append&lt;/SPAN&gt;(curve.&lt;SPAN&gt;GetEndPointReference&lt;/SPAN&gt;(&lt;SPAN&gt;1&lt;/SPAN&gt;));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dimension dim = fdoc.FamilyCreate&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&lt;SPAN&gt;NewDimension&lt;/SPAN&gt;(fdoc.ActiveView,l,refArray,dimType);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;te.&lt;SPAN&gt;Commit&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;SPAN&gt;catch&lt;/SPAN&gt;&amp;nbsp;(Exception e)&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;string&lt;/SPAN&gt;&amp;nbsp;error = e.Message;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;throw&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jun 2016 16:41:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6402820#M64729</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-24T16:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6403071#M64730</link>
      <description>&lt;P&gt;For completenes I have to say that if I manually modify the sketck of the sweep that was created through the API, then the API can create the dimensions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I havve read that the method GetEndpointReference doesnt work on elements that are readonly. And this endpoints are readonly. But the strange thing is that they are allways read only, the API generated ones and the manually created. But the manuals are being dimensioned without any problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jun 2016 18:45:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6403071#M64730</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-24T18:45:20Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6403764#M64731</link>
      <description>&lt;P&gt;You forget to provide the function "Createsweep(fdoc)" so please provide your sample family and full VS project so I can help.&lt;/P&gt;</description>
      <pubDate>Sat, 25 Jun 2016 07:30:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6403764#M64731</guid>
      <dc:creator>Mustafa.Salaheldin</dc:creator>
      <dc:date>2016-06-25T07:30:52Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6404441#M64732</link>
      <description>&lt;P&gt;Yes, sorry about that. These are the missing methods.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Autodesk.Revit.DB.Sweep&amp;nbsp;&lt;SPAN&gt;Createsweep&lt;/SPAN&gt;(Document doc)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XYZ puntoi =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;XYZ&lt;/SPAN&gt;(-&lt;SPAN&gt;450&lt;/SPAN&gt;,&lt;SPAN&gt;1400&lt;/SPAN&gt;,&lt;SPAN&gt;0&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XYZ puntof =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;XYZ&lt;/SPAN&gt;(&lt;SPAN&gt;450&lt;/SPAN&gt;,&lt;SPAN&gt;1400&lt;/SPAN&gt;,&lt;SPAN&gt;0&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;double&lt;/SPAN&gt;&amp;nbsp;di =&amp;nbsp;&lt;SPAN&gt;30&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;double&lt;/SPAN&gt;&amp;nbsp;df =&amp;nbsp;&lt;SPAN&gt;38&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;double&lt;/SPAN&gt;&amp;nbsp;dd=&lt;SPAN&gt;25&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;//Operaciones de desplazamiento&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;//Por ahora a lo burro, sin transformacion de coordenadas&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XYZ puntoit =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;XYZ&lt;/SPAN&gt;(puntoi.X+di,&lt;SPAN&gt;0&lt;/SPAN&gt;,puntoi.Y-dd);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XYZ puntoim =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;XYZ&lt;/SPAN&gt;(&lt;SPAN&gt;0&lt;/SPAN&gt;,&lt;SPAN&gt;0&lt;/SPAN&gt;,&lt;SPAN&gt;0&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XYZ puntoft =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;XYZ&lt;/SPAN&gt;(puntof.X-df,&lt;SPAN&gt;0&lt;/SPAN&gt;,puntoi.Y-dd);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;XYZ&amp;gt;&amp;nbsp;_barrido =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;List&amp;lt;XYZ&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_barrido.&lt;SPAN&gt;Add&lt;/SPAN&gt;(puntoit);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_barrido.&lt;SPAN&gt;Add&lt;/SPAN&gt;(puntoft);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FamilyItemFactory factory = doc.FamilyCreate;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreationApplication creapp = doc.Application.Create;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SketchPlane sketch =&amp;nbsp;&lt;SPAN&gt;FindElement&lt;/SPAN&gt;(&amp;nbsp;doc,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;typeof&lt;/SPAN&gt;(&amp;nbsp;SketchPlane&amp;nbsp;),&amp;nbsp;&lt;SPAN&gt;"Center (Front/Back)"&lt;/SPAN&gt;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;as&lt;/SPAN&gt;&amp;nbsp;SketchPlane;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurveArrArray curveArrArray =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;CurveArrArray&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curveArrArray.&lt;SPAN&gt;Append&lt;/SPAN&gt;(&amp;nbsp;&lt;SPAN&gt;CreateClosedProfile&lt;/SPAN&gt;(&amp;nbsp;_countour,&amp;nbsp;creapp&amp;nbsp;));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SweepProfile profile = doc.Application.Create.&lt;SPAN&gt;NewCurveLoopsProfile&lt;/SPAN&gt;(curveArrArray);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurveArray Path =&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;CreateProfile&lt;/SPAN&gt;(&amp;nbsp;_barrido,&amp;nbsp;creapp&amp;nbsp;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;return&lt;/SPAN&gt;&amp;nbsp;factory.&lt;SPAN&gt;NewSweep&lt;/SPAN&gt;(&lt;SPAN&gt;true&lt;/SPAN&gt;,&amp;nbsp;Path,&amp;nbsp;sketch,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;profile&amp;nbsp;,&amp;nbsp;&lt;SPAN&gt;0&lt;/SPAN&gt;,&amp;nbsp;ProfilePlaneLocation.MidPoint&amp;nbsp;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;&lt;SPAN&gt;FindElement&lt;/SPAN&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document doc,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Type targetType,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;string&lt;/SPAN&gt;&amp;nbsp;targetName&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;return&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;FilteredElementCollector&lt;/SPAN&gt;(&amp;nbsp;doc&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&lt;SPAN&gt;OfClass&lt;/SPAN&gt;(&amp;nbsp;targetType&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.First&amp;lt;Element&amp;gt;(&amp;nbsp;e =&amp;gt;&amp;nbsp;e.Name.&lt;SPAN&gt;Equals&lt;/SPAN&gt;(&amp;nbsp;targetName&amp;nbsp;)&amp;nbsp;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurveArray&amp;nbsp;&lt;SPAN&gt;CreateProfile&lt;/SPAN&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;XYZ&amp;gt;&amp;nbsp;pts,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreationApplication creapp&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CurveArray profile =&amp;nbsp;&lt;SPAN&gt;new&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;CurveArray&lt;/SPAN&gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;int&lt;/SPAN&gt;&amp;nbsp;n = pts.Count;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;if&lt;/SPAN&gt;(n==&lt;SPAN&gt;1&lt;/SPAN&gt;)&amp;nbsp;&lt;SPAN&gt;return&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;null&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;for&lt;/SPAN&gt;(&amp;nbsp;&lt;SPAN&gt;int&lt;/SPAN&gt;&amp;nbsp;i =&amp;nbsp;&lt;SPAN&gt;1&lt;/SPAN&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;n;&amp;nbsp;++i&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;int&lt;/SPAN&gt;&amp;nbsp;j =&amp;nbsp;&amp;nbsp;i&amp;nbsp;-&amp;nbsp;&lt;SPAN&gt;1&lt;/SPAN&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;profile.&lt;SPAN&gt;Append&lt;/SPAN&gt;(&amp;nbsp;Line.&lt;SPAN&gt;CreateBound&lt;/SPAN&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pts[j].&lt;SPAN&gt;MmToFootPoint&lt;/SPAN&gt;()&amp;nbsp;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pts[i].&lt;SPAN&gt;MmToFootPoint&lt;/SPAN&gt;()&amp;nbsp;)&amp;nbsp;)&amp;nbsp;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;return&lt;/SPAN&gt;&amp;nbsp;profile;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;</description>
      <pubDate>Sun, 26 Jun 2016 03:57:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6404441#M64732</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-26T03:57:40Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6407119#M64733</link>
      <description>&lt;P&gt;Please find:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://forums.autodesk.com/t5/revit-api/null-reference-error-when-adding-dimension/m-p/6388655#M16774" target="_blank"&gt;http://forums.autodesk.com/t5/revit-api/null-reference-error-when-adding-dimension/m-p/6388655#M16774&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reference is somehow not working meanwhile you are creating the sweep. Its strange, but a known issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can find a working code at the end.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jun 2016 22:06:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6407119#M64733</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-27T22:06:32Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409251#M64734</link>
      <description>&lt;P&gt;Thanks I will take a look at it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jose Ignacio Montes&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2016 20:38:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409251#M64734</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-28T20:38:12Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409253#M64735</link>
      <description>&lt;P&gt;De nada. Dime si tienes mas preguntas (Let me know if you have more questions.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2016 20:39:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409253#M64735</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-28T20:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409259#M64736</link>
      <description>&lt;P&gt;Let us know if you try it and it works because I tried and it didn't work for me. My be I'm messing something.&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2016 20:45:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409259#M64736</guid>
      <dc:creator>Mustafa.Salaheldin</dc:creator>
      <dc:date>2016-06-28T20:45:02Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409275#M64737</link>
      <description>&lt;P&gt;It is important to create the CurveArrArray for the sweep upfront, so the sweep is actually created and can be referenced.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;CurveArrArray cArr = famdoc.Application.Create.NewCurveArrArray();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2016 20:55:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409275#M64737</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-28T20:55:24Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409886#M64738</link>
      <description>&lt;P&gt;Here is my code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;//
// (C) Copyright 2003-2014 by Autodesk, Inc.
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
// UNINTERRUPTED OR ERROR FREE.
//
// Use, duplication, or disclosure by the U.S. Government is subject to
// restrictions set forth in FAR 52.227-19 (Commercial Computer
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
// (Rights in Technical Data and Computer Software), as applicable.
//


using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System.Linq;
using Autodesk.Revit.DB.Structure;

namespace GenericModelCreation
{
   /// &amp;lt;summary&amp;gt;
   /// A class inherits IExternalCommand interface.
   /// This class show how to create Generic Model Family by Revit API.
   /// &amp;lt;/summary&amp;gt;
   [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
   [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
   [Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)]
   public class Command : IExternalCommand
   {
      #region Class Memeber Variables
      // Application of Revit
      private Autodesk.Revit.ApplicationServices.Application m_revit;
      // the document to create generic model family
      private Autodesk.Revit.DB.Document m_familyDocument;
      // FamilyItemFactory used to create family
      private Autodesk.Revit.Creation.FamilyItemFactory m_creationFamily = null;
      // Count error numbers
      private int m_errCount = 0;
      // Error information
      private string m_errorInfo = "";
      #endregion

      #region Class Interface Implementation
      /// &amp;lt;summary&amp;gt;
      /// Implement this method as an external command for Revit.
      /// &amp;lt;/summary&amp;gt;
      /// &amp;lt;param name="commandData"&amp;gt;An object that is passed to the external application 
      /// which contains data related to the command, 
      /// such as the application object and active view.&amp;lt;/param&amp;gt;
      /// &amp;lt;param name="message"&amp;gt;A message that can be set by the external application 
      /// which will be displayed if a failure or cancellation is returned by 
      /// the external command.&amp;lt;/param&amp;gt;
      /// &amp;lt;param name="elements"&amp;gt;A set of elements to which the external application 
      /// can add elements that are to be highlighted in case of failure or cancellation.&amp;lt;/param&amp;gt;
      /// &amp;lt;returns&amp;gt;Return the status of the external command. 
      /// A result of Succeeded means that the API external method functioned as expected. 
      /// Cancelled can be used to signify that the user cancelled the external operation 
      /// at some point. Failure should be returned if the application is unable to proceed with 
      /// the operation.&amp;lt;/returns&amp;gt;
      public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
                                             ref string message,
                                             ElementSet elements)
      {
         try
         {
            m_revit = commandData.Application.Application;
            m_familyDocument = commandData.Application.ActiveUIDocument.Document;
            // create new family document if active document is not a family document
            if (!m_familyDocument.IsFamilyDocument)
            {
               m_familyDocument = m_revit.NewFamilyDocument("Generic Model.rft");
               if (null == m_familyDocument)
               {
                  message = "Cannot open family document";
                  return Autodesk.Revit.UI.Result.Failed;
               }
            }
            m_creationFamily = m_familyDocument.FamilyCreate;
            // create generic model family in the document
            CreateGenericModel();
            if (0 == m_errCount)
            {
               return Autodesk.Revit.UI.Result.Succeeded;
            }
            else
            {
               message = m_errorInfo;
               return Autodesk.Revit.UI.Result.Failed;
            }
         }
         catch (Exception e)
         {
            message = e.ToString();
            return Autodesk.Revit.UI.Result.Failed;
         }

      }
      #endregion

      #region Class Implementation

      /// &amp;lt;summary&amp;gt;
      /// Examples for form creation in generic model families.
      /// Create extrusion, blend, revolution, sweep, swept blend
      /// &amp;lt;/summary&amp;gt;
      public void CreateGenericModel()
      {
          Sweep sweep = null;

          using (Transaction transaction = new Transaction(m_familyDocument, "CreateGenericModel"))
          {
              transaction.Start();

              sweep = CreateSweep();

              transaction.Commit();
          }

          // Here it comes. Delete the sweep and roll back - now you can access the reference of the endpoints of the arcs

          // Dirty, but it works

          ICollection&amp;lt;ElementId&amp;gt; delIds = null;

          using (Transaction transaction = new Transaction(m_familyDocument, "CreateGenericModel"))
          {
              transaction.Start();

              m_familyDocument.Regenerate();
              
              using (SubTransaction delTrans = new SubTransaction(m_familyDocument))
              {
                  try
                  {
                      delTrans.Start();
                      delIds = m_familyDocument.Delete(sweep.Id);
                      delTrans.RollBack();
                  }
                  catch (Exception ex)
                  {
                      Debug.WriteLine(ex.Message);
                  }

              }

              transaction.Commit();
          }

          Sketch sketch = sweep.PathSketch;

          FilteredElementCollector fc = new FilteredElementCollector(m_familyDocument);

          fc.WhereElementIsElementType().OfClass(typeof(DimensionType));

          DimensionType dimType = fc.Cast&amp;lt;DimensionType&amp;gt;().FirstOrDefault() as DimensionType;


          // Get the model lines in the profile and use the end points for reference the sketch dimensions
          // diameter
          List&amp;lt;ModelLine&amp;gt; mArcs = new List&amp;lt;ModelLine&amp;gt;();

          foreach (ElementId id in delIds)
          {
              Element ele = m_familyDocument.GetElement(id);

              if (ele is ModelLine)
              {
                  mArcs.Add(ele as ModelLine);
              }
          }

          foreach (CurveArray array in sketch.Profile)
          {
              Line l = null;
              ReferenceArray refArray = null;
              foreach (Line curve in array)
              {
                  l = Line.CreateBound(curve.GetEndPoint(0), curve.GetEndPoint(1));

                  refArray = new ReferenceArray();

                  Reference refe = curve.Reference;
                  try
                  {
                      using (Transaction t = new Transaction(m_familyDocument))
                      {
                          if (curve.IsBound)
                          {
                              t.Start("FamilyDim");

                              Reference r1 = mArcs[0].GeometryCurve.GetEndPointReference(0);
                              refArray.Append(r1);
                              Reference r2 = mArcs[0].GeometryCurve.GetEndPointReference(1);
                              refArray.Append(r2);

                              Dimension dim = m_familyDocument.FamilyCreate.NewDimension(m_familyDocument.ActiveView, l, refArray);

                              t.Commit();
                          }
                      }
                  }
                  catch (Exception e)
                  {
                      string error = e.Message;
                      throw;
                  }
              }
          }


          return;
      }

      /// &amp;lt;summary&amp;gt;
      /// Create one sweep
      /// &amp;lt;/summary&amp;gt;
      private Sweep CreateSweep()
      {
          Sweep sweep = null;

          try
          {

              #region Create rectangular profile and path curve
              CurveArrArray arrarr = new CurveArrArray();
              CurveArray arr = new CurveArray();

              Autodesk.Revit.DB.XYZ normal = Autodesk.Revit.DB.XYZ.BasisZ;
              SketchPlane sketchPlane = CreateSketchPlane(normal, Autodesk.Revit.DB.XYZ.Zero);

              Autodesk.Revit.DB.XYZ pnt1 = new Autodesk.Revit.DB.XYZ(0, 0, 0);
              Autodesk.Revit.DB.XYZ pnt2 = new Autodesk.Revit.DB.XYZ(2, 0, 0);
              Autodesk.Revit.DB.XYZ pnt3 = new Autodesk.Revit.DB.XYZ(1, 1, 0);
              arr.Append(Arc.Create(pnt2, 1.0d, 0.0d, 180.0d, Autodesk.Revit.DB.XYZ.BasisX, Autodesk.Revit.DB.XYZ.BasisY));
              arr.Append(Arc.Create(pnt1, pnt3, pnt2));
              arrarr.Append(arr);
              SweepProfile profile = m_revit.Create.NewCurveLoopsProfile(arrarr);

              Autodesk.Revit.DB.XYZ pnt4 = new Autodesk.Revit.DB.XYZ(10, 0, 0);
              Autodesk.Revit.DB.XYZ pnt5 = new Autodesk.Revit.DB.XYZ(0, 10, 0);
              Curve curve = Line.CreateBound(pnt4, pnt5);

              CurveArray curves = new CurveArray();
              curves.Append(curve);
              #endregion
              // here create one sweep with two arcs formed the profile
              sweep = m_creationFamily.NewSweep(true, curves, sketchPlane, profile, 0, ProfilePlaneLocation.Start);
              // move to proper place
              Autodesk.Revit.DB.XYZ transPoint1 = new Autodesk.Revit.DB.XYZ(11, 0, 0);
              ElementTransformUtils.MoveElement(m_familyDocument, sweep.Id, transPoint1);
          }
          catch (Exception e)
          {
              m_errCount++;
              m_errorInfo += "Unexpected exceptions occur in CreateSweep: " + e.ToString() + "\r\n";
          }

         return sweep;
      }


      /// &amp;lt;summary&amp;gt;
      /// Create sketch plane for generic model profile
      /// &amp;lt;/summary&amp;gt;
      /// &amp;lt;param name="normal"&amp;gt;plane normal&amp;lt;/param&amp;gt;
      /// &amp;lt;param name="origin"&amp;gt;origin point&amp;lt;/param&amp;gt;
      /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
      internal SketchPlane CreateSketchPlane(Autodesk.Revit.DB.XYZ normal, Autodesk.Revit.DB.XYZ origin)
      {
         // First create a Geometry.Plane which need in NewSketchPlane() method
         Plane geometryPlane = m_revit.Create.NewPlane(normal, origin);
         if (null == geometryPlane)  // assert the creation is successful
         {
            throw new Exception("Create the geometry plane failed.");
         }
         // Then create a sketch plane using the Geometry.Plane
         SketchPlane plane = SketchPlane.Create(m_familyDocument, geometryPlane);
         // throw exception if creation failed
         if (null == plane)
         {
            throw new Exception("Create the sketch plane failed.");
         }
         return plane;
      }

      #endregion

   }
}
&lt;/PRE&gt;
&lt;P&gt;It works fine with no errors or worning but the dimension doesn't appear in the view !!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need anyone to try it and tell me the result.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jun 2016 06:16:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6409886#M64738</guid>
      <dc:creator>Mustafa.Salaheldin</dc:creator>
      <dc:date>2016-06-29T06:16:01Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6410696#M64739</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I think I know whats the problem. Your inner loop goes over&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;foreach (Line curve in array)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You will not find any Line. You created arcs. Did you check if you actually get into the inner loop?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Otherwise:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Did you check if you have dimension lines in the sketch view. Click the Sweep -&amp;gt; Edit Sweep -&amp;gt; Edit Profile. Now you should see something. The dimensions in the view (outside the sketch) have to get created in a different way. At least my&amp;nbsp;experience&amp;nbsp;so far.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I attached 3 images for hopefully better understanding.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Christian&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jun 2016 14:24:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6410696#M64739</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-06-29T14:24:31Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6423131#M64740</link>
      <description>&lt;P&gt;Dear Mustafa&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The dimensions are inside the sketch itself. That is what I am&amp;nbsp;looking for.&lt;/P&gt;&lt;P&gt;Thanks for the code. Really helpful.&lt;/P&gt;&lt;P&gt;Unfortunatelly when I try to run your code &amp;nbsp;I get a "Line too short" reply from Revit.&lt;/P&gt;&lt;P&gt;I am working on it. I hope to solve it. I will let you know As soon as I get to the solution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jose Ignacio Montes&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2016 08:21:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6423131#M64740</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-07-07T08:21:28Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6425129#M64741</link>
      <description>&lt;P&gt;Hi Mustafa.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the code. The dimensions are inside the sketch, that is just what I wanted!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It helped me a lot to clarify. Also&amp;nbsp;&lt;FONT size="2"&gt;chhadidg73's answer with the trick was a great help.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;The trick is clear. You have to delete the scketch and retrieve it from the deleted ids. I have to say that It is very dirty ideed. Anyway, it works.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;For clarifications I had some issues that I want to point out.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;In your code I don't know why but the arcs forming the profile gave me a Revit small line warning. I changed them to a triangle and worked.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Also there are some things to take care of for any one interested in reusing it:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You are only dimensioning the first modelline inside the Deleted elements&amp;nbsp;once an over again. Because you retrieve the Modellines inside:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;List&amp;lt;ModelLine&amp;gt; mArcs = new List&amp;lt;ModelLine&amp;gt;();&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;and get them at the line:&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;mArcs.Add(ele as ModelLine);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;But when dimensioning you loop through the sketch again:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;foreach (CurveArray array in sketch.Profile)&lt;BR /&gt;{&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;&amp;nbsp; foreach (Line curve in array)&lt;BR /&gt;&amp;nbsp; {&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;And when dimensioning you allways take the first line (marked in red):&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;&amp;nbsp; &amp;nbsp;Reference r1 = mArcs&lt;FONT color="#FF0000"&gt;[0]&lt;/FONT&gt;.GeometryCurve.GetEndPointReference(0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;refArray.Append(r1);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Reference r2 = mArcs&lt;FONT color="#FF0000"&gt;[0]&lt;/FONT&gt;.GeometryCurve.GetEndPointReference(1);&lt;BR /&gt;&amp;nbsp; refArray.Append(r2);&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Of course it works because the &amp;nbsp;sweep path has only one segment, so its allways the first [0].&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;When deleting elements, the retrieved Ids are first the modellines for the segments of the Path and then those of the profile. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;So it has to be a little bit more complex if you want to dimension only the path (with more than one segment), the profile or both of them.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;also you are using the active view to draw the dimension so when getting to the profile it will fail. Yo need to refer to the profile sketch plane to do that.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Also you are suposing that the active view is always the floor plan if its not it also will fail.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Hope this clarifies. I dont have time to rearrange the code but if someone needs, I'll do it.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards, and thanks again to both of you!&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jul 2016 07:33:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6425129#M64741</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-07-08T07:33:23Z</dc:date>
    </item>
    <item>
      <title>Re: GetEndPointReference() Returns invalid operation</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6428385#M64742</link>
      <description>&lt;P&gt;Ok the loop was the reason. Now my code is working fine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For putting the dimensions on the view I got the reference of both planar faces of the solid then use the references to put the dimensions.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jul 2016 07:06:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/getendpointreference-returns-invalid-operation/m-p/6428385#M64742</guid>
      <dc:creator>Mustafa.Salaheldin</dc:creator>
      <dc:date>2016-07-11T07:06:05Z</dc:date>
    </item>
  </channel>
</rss>

