本文整理汇总了C#中System.Line.TransformBy方法的典型用法代码示例。如果您正苦于以下问题:C# Line.TransformBy方法的具体用法?C# Line.TransformBy怎么用?C# Line.TransformBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Line
的用法示例。
在下文中一共展示了Line.TransformBy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateOffsetLines
private IEnumerable<Handle> CreateOffsetLines()
{
List<Handle> handles = new List<Handle>();
Point3d pointOnLine = firstBarLine.GetClosestPointTo(spanPoint.Value, true);
if (pointOnLine.DistanceTo(spanPoint.Value) == 0)
{
Handle handle = DrawBarLine(new Line(firstBarLine.StartPoint, firstBarLine.EndPoint));
handles.Add(handle);
return handles;
}
Line perpendincularLine = new Line(pointOnLine, spanPoint.Value);
int barLinesAmount = (int)(perpendincularLine.Length / spanStep.Value);
Transaction trans = db.TransactionManager.StartTransaction();
using (trans)
{
BlockTableRecord btr = trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;
for (int i = 0; i <= barLinesAmount; i++)
{
lastBarLine = CreateFirstBarLine();
Point3d additionalPoint = perpendincularLine.GetPointAtDist(spanStep.Value * i);
Vector3d offsetVector = pointOnLine.GetVectorTo(additionalPoint);
btr.AppendEntity(lastBarLine);
lastBarLine.TransformBy(Matrix3d.Displacement(offsetVector));
handles.Add(lastBarLine.Handle);
trans.AddNewlyCreatedDBObject(lastBarLine, true);
}
trans.Commit();
}
return handles;
}