Удлинение и подрезка объектов — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Удлинение и подрезка объектов

2021-06-30 34
Удлинение и подрезка объектов 0.00 из 5.00 0 оценок
Заказать работу

Можно изменять угол дуги и длину незамкнутых линий, дуг, полилиний, сплайнов и эллиптических дуг. Удлинение и подрезка объектов выполняется изменением их соответствующих свойств. К примеру для удлинения линии просто меняются координаты в свойствах StartPoint и EndPoint, для изменения угла дуги меняются свойства StartAngle и EndAngle. Чтобы отобразить изменения есть метод Update. Пример изменения длины линии

Sub LengthenLine()Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double,endPoint(0 To 2) As Double startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 1: endPoint(1) = 1: endPoint(2) = 1 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)lineObj.Update ' Удлиним линию сменив конечную точку в 4, 4, 4endPoint(0) = 4: endPoint(1) = 4: endPoint(2) = 4 lineObj.endPoint = endPointlineObj.UpdateEnd Sub

Взрывание объектов

Взрывание составных объектов приводит к их конвертации в составляющие компоненты. К примеру, взрывание создает дуги и линии из полилиний, регионов или заменяет блочные ссылки на объекты, из которых состоял блок. Взорванный объект может выглядеть точно так, как и составной, однако цвет и тип линий может и меняться. Метод Explode при взрыве полилинии отбрасывает информацию о ее толщине, полученные линии и дуги проходят по срединной линии бывшей полилинии. Если блок состоял из полилиний, то его приходится взрывать дважды. Блоки, вставленные с неравными масштабами по осям, могут при взрывании создавать непредсказуемые объекты. Нельзя взорвать xref -ссылки. При взрывании блока с атрибутами последние пропадают, однако определения атрибутов остаются. Значения атрибутов и любые модификации теряются. Пример взрыва полилинии

Sub ExplodePolyline() Dim plineObj As AcadLWPolyline Dim points(0 To 11) As Double points(0) = 1: points(1) = 1: points(2) = 1: points(3) = 2 points(4) = 2: points(5) = 2: points(6) = 3: points(7) = 2 points(8) = 4: points(9) = 4: points(10) = 4: points(11) = 1 ' Рисуемполилинию Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) ' Видоизменяем один из сегментов plineObj.SetBulge 3, -0.5plineObj.Update ZoomExtents ' Взрываем Dim explodedObjects As VariantexplodedObjects = plineObj.Explode ' Проходим по взорванному объекту, отображая ' тип каждого полученного объекта другим цветомDim I As Integer For I = 0 To UBound(explodedObjects) explodedObjects(I).Color = acRed explodedObjects(I).Update MsgBox "Типобъекта " & I & ": " & explodedObjects(I).ObjectName explodedObjects(I).Color = acByLayer explodedObjects(I).UpdateNextEnd Sub

Редактирование полилиний

Двумерные и трехмерные полилинии, прямоугольники, полигоны, являются вариантами полилинии и посему редактируются одинаково - разрывать, замыкать, добавлять, удалять вершины, утолщать отдельный сегмент, менять тип линии и т.д. возможно как для всей полилинии, так и для каждого ее сегмента. Можно присоединить линию, дугу или любую другую полилинию к незамкнутой полилинии. Если линия пересекает полилинию в форме буквы Т, то объект не может быть объединен. Если две линии встречаются с полилинией в форме буквы Y, одну из них AutoCAD может присоединить к полилинии. AutoCAD отбрасывает информацию сплайна, при присоединении его к другой полилинии. Когда объединение завершено, можно задать новый сплайн для результата.

Для редактирования полилинии используются следующие свойства и методы:

· Closed - замыкает или разрывает полилинию;

· Coordinates - задает координаты каждой вершины;

· AddVertex - добавляет вершину в LWPolyLine;

· SetBulge - задает скос для сегмента по его индексу;

· SetWidth - задает ширину в начале и конце сегмента по его индексу.

Пример редактирования полилинии.

Sub EditPolyline()Dim plineObj As AcadLWPolyline Dim points(0 To 9) As Double points(0) = 1: points(1) = 1: points(2) = 1: points(3) = 2 points(4) = 2: points(5) = 2: points(6) = 3: points(7) = 2 points(8) = 4: points(9) = 4 ' Create a light weight Polyline object Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) ' задать скос для сегмента 3 plineObj.SetBulge 3, -0.5 ' задать новую вершинуDim newVertex(0 To 1) As Double newVertex(0) = 4: newVertex(1) = 1 plineObj.AddVertex 5, newVertex ' задатьширинусегмента 4 plineObj.SetWidth 4, 0.1, 0.5 ' замкнутьполилинию plineObj.Closed = True plineObj.Update ZoomExtentsEnd Sub

Редактированиесплайнов

Для получения более гладких сплайнов можно добавлять дополнительные точки изгиба или менять местоположение существующих. Метод SetFitPoint пригодится в последнем случае. Свойства и методы меняющие характеристик сплайна

· Closed - разрывает или замыкает сплайн;

· ControlPoints - задает контрольные точки;

· EndTangent - задает конечную касательную как направляющий вектор;

· FitPoints - задает все точки размещения сплайна;

· FitTolerance - переразмещает сплайн по существующим точкам с новым значением Tolerance;

· Knots - задает узловые векторы сплайна;

· StartTangent - задает начальную касательную сплайна;

· AddFitPoint - добавляет точку размещения сплайна с данным индексом;

· DeleteFitPoint - удаляет точку размещения сплайна с данным индексом;

· ElevateOrder - Elevates the order of the spline to the given order;

· GetFitPoint - Читает точку размещения с заданным индексом;

· Reverse - Меняет направление сплайна на противоположное;

· SetControlPoint - Устанавливает контрольную точку с заданным индексом;

· SetFitPoint - Задает одну точку размещения сплайна;

· SetWeight - задает вес контрольной точки по индексу

· Degree - возвращает степень полинома образующего сплайн;

· Area - возвращает площадь замкнутого сплайна;

· IsPeriodic - является ли сплайн периодическим;

· IsPlanar - лежит ли сплайн в одной плоскости;

· IsRational - является ли сплайн рациональным;

· NumberOfControlPoints - возвращает число контрольных точек;

· NumberOfFitPoints - возвращает число точек размещения.

· Пример изменения контрольных точек сплайна

Sub ChangeSplineControlPoint() Dim splineObj As AcadSpline Dim noOfPoints As Integer Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim fitPoints(0 To 8) As Double noOfPoints = 3 startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0 fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0 fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0 fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0 Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan)splineObj.Update ZoomExtents ' Изменим координаты первой контрольной точкиDim controlPoint(0 To 2) As Double controlPoint(0) = 0: controlPoint(1) = 3: controlPoint(2) = 0 splineObj.SetControlPoint 0, controlPoint splineObj.UpdateEnd Sub

Редактирование штриховки

Можно редактировать как границу штриховки так и образец ее заполнения. Если редактируется граница ассоциативной штриховки, образец обновляется только когда заданы допустимые границы. Ассоциативная штриховка обновляется даже если она находится на отключенном слое. Можно редактировать или выбрать новый образец штриховки, однако ассоциативность может быть установлена только при создании штриховки. Свойство AssociativeHatch позволяет проверить является ли штриховка ассоциированной. Чтобы увидеть изменения в штриховке есть метод Evaluate.


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.