本文整理汇总了C#中Autodesk.Normalize方法的典型用法代码示例。如果您正苦于以下问题:C# Autodesk.Normalize方法的具体用法?C# Autodesk.Normalize怎么用?C# Autodesk.Normalize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Autodesk
的用法示例。
在下文中一共展示了Autodesk.Normalize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeLine
/// <summary>
/// Draw a small line for debug porpouse
/// </summary>
public static void MakeLine(Autodesk.Revit.UI.UIApplication app,
Autodesk.Revit.DB.XYZ startpt, Autodesk.Revit.DB.XYZ endpt,
Autodesk.Revit.DB.XYZ direction, string style)
{
try
{
Line line = app.Application.Create.NewLineBound(startpt,
endpt);
XYZ rotatedDirection = XYZ.BasisX;
if (!direction.IsAlmostEqualTo(XYZ.BasisZ) &&
!direction.IsAlmostEqualTo(-XYZ.BasisZ))
{
rotatedDirection =
direction.Normalize().CrossProduct(XYZ.BasisZ);
}
Plane geometryPlane = app.Application.Create.NewPlane
(direction, rotatedDirection, startpt);
SketchPlane skplane = app.ActiveUIDocument.Document.
Create.NewSketchPlane(geometryPlane);
ModelCurve mcurve = app.ActiveUIDocument.Document.Create.
NewModelCurve(line, skplane);
ElementArray lsArr = mcurve.LineStyles;
foreach (Autodesk.Revit.DB.Element e in lsArr)
{
if (e.Name == style)
{
mcurve.LineStyle = e;
break;
}
}
}
catch (System.Exception e)
{
}
}
示例2: MakeLine
/// <summary>
/// Make a line from start point to end point with the direction and style
/// </summary>
/// <param name="startpt">start point</param>
/// <param name="endpt">end point</param>
/// <param name="direction">the direction which decide the plane</param>
/// <param name="style">line style name</param>
public void MakeLine(Autodesk.Revit.DB.XYZ startpt, Autodesk.Revit.DB.XYZ endpt, Autodesk.Revit.DB.XYZ direction, string style)
{
try
{
m_LineCount = m_LineCount + 1;
Line line = m_app.Application.Create.NewLineBound(startpt, endpt);
// Line must lie in the sketch plane. Use the direction of the line to construct a plane that hosts the target line.
XYZ rotatedDirection = XYZ.BasisX;
// If the direction is not vertical, cross the direction vector with Z to get a vector rotated ninety degrees. That vector,
// plus the original vector, form the axes of the sketch plane.
if (!direction.IsAlmostEqualTo(XYZ.BasisZ) && !direction.IsAlmostEqualTo(-XYZ.BasisZ))
{
rotatedDirection = direction.Normalize().CrossProduct(XYZ.BasisZ);
}
Plane geometryPlane = m_app.Application.Create.NewPlane(direction, rotatedDirection, startpt);
SketchPlane skplane = m_app.ActiveUIDocument.Document.Create.NewSketchPlane(geometryPlane);
ModelCurve mcurve = m_app.ActiveUIDocument.Document.Create.NewModelCurve(line, skplane);
m_app.ActiveUIDocument.Document.Regenerate();
ElementArray lsArr = mcurve.LineStyles;
foreach (Autodesk.Revit.DB.Element e in lsArr)
{
if (e.Name == style)
{
mcurve.LineStyle = e;
break;
}
}
m_app.ActiveUIDocument.Document.Regenerate();
}
catch (System.Exception ex)
{
m_outputInfo.Add("Failed to create lines: " + ex.ToString());
}
}