UR1 and Line Origin versus Start and End Point
My official vacation time has begun.
I still have rather a backlog of important, pending, almost completed projects, unanswered blog comments, and unavoidable meetings, so I will be online now and then in spite of that.
I also want to keep us all updated on important little titbits such as the UR1:
Revit 2013 Update Release 1
The Revit 2013 Update Release 1 is now available for download and installation from the web and within the product through Communication Center.
Here are links to the appropriate update pages:
The build identifier is 20120716_1115.
Here is a list of the API enhancements implemented in this update:
- Allows Document.PostFailure to be used to post multiple errors during a single transaction that do
not reference an ElementId.
- Improves stability using UIApplication.DoDragDrop when a Revit command (such as the Wall
tool) was active.
- Improves stability by disabling keyboard shortcuts (except view zoom shortcuts) when a
PreviewControl is active.
- Improves stability in ReferenceIntersector.FindNearest() when no matching target pick is found.
- Corrects validation logic to allow NewFamilyInstance to place face-based families on transformed
family instances.
- Dimension.Above and Dimension.Below now update the dimension after their data is changed
without requiring any user action.
- The properties MechanicalSystem.SystemType, ElectricalConnector.SystemType,
PipeConnector.SystemType are obsolete in Revit 2013. Instead query the parameter
RBS_DUCT_CONNECTOR_SYSTEM_CLASSIFICATION_PARAM on ConnectorElement.
- Corrects data reported with ConnectorManager.UnusedConnectors.
- Fixes a file corruption that could occur when extensible storage data was added to an element in
a central file.
- Improves stability when saving a file with extensible storage data that overwrites an existing file
that also contains extensible storage.
- RVT Links created with RevitLinkType.Create will remain loaded when the RVT containing the
link is reopened.
- Previously, setting 'suppressBendRadius' to true in method Rebar.GetCenterlineCurves() would
cause both fillet bends and user-drawn, parameterized arcs to be omitted from the collection of
curves returned by the method. The method now omits only the fillet bends; the drawn arcs are
included along with the straight edges.
- Updates Rebar.GetCenterlineCurves() method with an additional argument: a MultiplanarOption
(enum), which should be set to IncludeAllMultiplanarCurves or IncludeOnlyPlanarCurves. This
argument controls whether all curves of a multi-planar Rebar instance are returned, or only those
which lie in the primary plane.
- Enables method Rebar.ComputeDrivingCurves(). This method returns a collection of curves that
includes the lines and arcs that drive the shape, but excludes fillets and hooks. It is equivalent to
calling GetCenterlinCurves(adjustForSelfIntersection=false, suppressHooks=true,
suppressBendRadius=true, multiplanarOption=IncludeOnlyPlanarCurves)
- Improvements have been made in RebarShape methods that deal with matching RebarShapes to
collections of curves: CreateFromCurvesAndShape(), RebarShapeMatchesCurvesAndHooks().
- Corrects behavior ot RebarShape.Create() method to not ignore the out-of-plane bend diameter
specified in the RebarShapeMultiplanarDefinition argument object, and always used an internal
default value.
Meanwhile, here is a neat little interesting and basic geometrical Revit API question that arose last week:
Relationship of Line Origin, Start and End Point
Question: When examining the AnalyticalSurface of a floor in my sample model, I noticed that the Origin property of a certain Line instance is not equal to either of its end points returned by the EndPoint property (get_EndPoint method in C#).
Until now, I had assumed that the Origin property of a line is always equal to one of its end points.
Could you please clarify:
- What exactly is the definition of a line's Origin property?
- How does the line origin relate to its end points?
Answer: I already presented some basic facts on the Revit API
lines, curves and their
parameterisations from
Scott Conover's AU 2009 class on
analysing building geometry,
which he has continued updating, most recently for the
AEC DevCamp 2012
(finalised material).
To answer your questions directly:
- The line origin and direction define the location of the infinite unbounded line.
The start and end point of the bounded line can lie anywhere along this line.
- The origin always lies somewhere on the infinite unbounded line.
There is no guarantee that it will coincide with either the start or end point of the bounded line, though.
The origin of a bounded line may even lie outside the bounded part of the infinite line.
I hope this helps clarify things.
Anyway, now I'm off to the sunny
Provence!