Назначение имени и типа штриховке — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Назначение имени и типа штриховке

2021-06-30 36
Назначение имени и типа штриховке 0.00 из 5.00 0 оценок
Заказать работу

В AutoCAD есть сплошная заливка и более 15 штриховок применяемых в производстве. Штриховка подчеркивает отельную часть рисунка или области. Поддерживаются внешние библиотеки с образцами штриховок. Для указания уникального образца следует давать полное имя и тип штриховки. Тип штриховки указывает местоположение образцов штриховки. acHatchPatternTypePredefined (в acad.pat), acHatchPatternTypeUserDefined (используя текущий тип линий), acHatchPatternTypeCustomDefined (из другого pat-файла).

Задание границ штриховки

Как только создан объект Hatch можно добавлять границы штриховки. Они могут задаваться комбинацией линий, дуг, окружностей, двумерных полилиний, эллипсов, сплайнов и регионов. Первая граница должна быть внешней границей штриховки, (метод AppendOuterLoop). Внутренние границы задаются методом AppendInnerLoop. Они определяют незаштрихованные "островки" внутри штрихованной области. Пример штриховки.

Sub CreateHatch()Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean' Определение штриховки patternName = "ANSI31" PatternType = 0 bAssociativity = True ' Создать связанный объект штриховкуSet hatchObj = ThisDrawing.ModelSpace.AddHatch (PatternType, patternName, bAssociativity) ' Внешняяграница - окружность Dim outerLoop(0 To 0) As AcadEntity Dim center(0 To 2) As Double Dim radius As Double center(0) = 3: center(1) = 3: center(2) = 0: radius = 1 Set outerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendOuterLoop (outerLoop) hatchObj.Evaluate ThisDrawing.Regen TrueEnd Sub

Редактирование объектов

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

Работа с именованными объектами и их переименование

Именованные объекты это блоки, слои, группы, размерные стили и т.п. Чистка именованных объектов на которые в текущем рисунке нет ссылок осуществляется методом ThisDrawing.PurgeAll.

По мере усложнения чертежа может возникать необходимость давать объектам другие более осмысленные имена. Переименовать можно почти все, кроме, например, 0 слоя и типа линий continuose. Имя может быть длиной до 255 символов (буквы, цифры, спецсимволы кроме тех которые используются самим AutoCADом <> / \ ":;? * | = ' и запятая). Пример переименования

Sub RenamingLayer() Dim layerObj As AcadLayerSet layerObj = ThisDrawing.Layers.Add("NewLayer") layerObj.Name = "MyLayer"End Sub

Выборобъектов

Набор представляет собой группу объектов AutoCAD указанных для обработки как одно целое. Набор может состоять из объектов разных слоев, разных цветов и т.п. Создание набора двухступенчатый процесс. Сначала создается набор и включается в коллекцию SelectionSets. Затем идет работа с объектами, входящими в набор. Длясозданияименованногонабораиспользуемметод Add.

Sub CreateSelectionSet() Dim selectionSet1 As AcadSelectionSet ' Созданиенабора Set selectionSet1 = ThisDrawing.SelectionSets.Add("NewSelectionSet")End Sub

Добавление объектов в набор

Добавление объектов в набор может осуществляется одним из следующих методов:

· AddItem - добавляет один или более объектов в набор;

· Select - выбирает объекты и помещает в активный набор, можно выбрать все объекты, выбрать секущей или прямоугольной рамкой, последний созданный, из последнего созданного набора, окном или полигоном;

· SelectAtPoint - выбрать объекты проходящие через данную точку;

· SelectByPolygon - выбрать объекты полигоном;

· SelectOnScreen - запросить у пользователя указания объектов.

Sub AddToASelectionSet() Dim sset As AcadSelectionSet Set sset = ThisDrawing.SelectionSets.Add("SS1")' Запрос объектов от пользователя, Enter - конец ввода sset.SelectOnScreen ' Пройтись по набору и перекрасить его в синийDim entry As AcadEntity For Each entry In sset entry.Color = acBlue entry.Update Next entryEnd Sub

Фильтрация набора

Фильтрация набора объектов (например по цвету, типу объекта) осуществляется через список фильтров. При этом фильтрация по цвету различает только цвета явно назначенные объектам, но не унаследованные от слоя (!). Для применения механизма фильтрации используется тип фильтра и данные фильтра, которые сортируются. AutoCAD ActiveX автоматизация использует DXF -коды групп для указания типа фильтров. Наиболее часто используемые фильтры перечислены ниже.

DXF -код Тип фильтра
0 Тип объекта. Строка ("Line", "Circle", "Arc" и т.д.)
2 Имя объекта. Строка (табличное имя объекта)
8 Имя слоя. Строка ("Layer 0")
60 Видимость объекта 0-виден, 1-нет
62 Цвет. Числовой 0-256, где 0-по блоку, 256-по слою
67 Пространство. Число. модели (0) или листа (1)

Примеры различных фильтров

FilterType = 0FilterData = "TEXT"sset.SelectOnScreen FilterType, FilterData' ТольколинииFilterType = 0FilterData = "LINE"sset.SelectOnScreen FilterType, FilterData' Только со слоя FLOOR9FilterType = 8FilterData = "FLOOR9"sset.SelectOnScreen FilterType, FilterData' Толькосиние (5)FilterType = 62FilterData = 5sset.SelectOnScreen FilterType, FilterData

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

При выборе всех объектов в набор может быть необходимость исключить объекты, это делается следующими методами:

· RemoveItems - удаляет один или более объект из набора, но не из рисунка;

· Clear - очищает набор, не удаляя его;

· Erase - удаляет объекты из рисунка, очищая набор;

· Delete - удаляет набор, не трогая объекты.

Пример:

Sub AddToASelectionSet()  Dim sset As AcadSelectionSetOn Error GoTo ErrHandle ' создали произвольный набор, он пока пустойSet sset = ThisDrawing.SelectionSets.Add("SS1")' Запрос объектов от пользователя, Enter - конец ввода sset.SelectOnScreen ' Пройтись по набору и перекрасить его в синийDim entry As AcadEntity For Each entry In sset entry.Color = acBlue: entry.Update Next entry ThisDrawing.Application.ZoomExtents GoSub LISTOBJS Dim keyWord As String Dim gpCode(0) As Integer Dim dataValue(0) As Variant Dim groupCode As Variant, dataCode As Variant ThisDrawing.Utility.InitializeUserInput 1, "RemoveItem Clear Delete Erase Quit" keyWord = ThisDrawing.Utility.GetKeyword(vbCrLf & "RemoveItem/Clear/Delete/Erase/Quit") Select Case keyWord Case "RemoveItem"' отбор по группе (62) Цвет, номер цвета (5) - синий gpCode(0) = 62: dataValue(0) = 5 ' Методу будут передаваться переменные типа вариант, ссылающиеся на массивы groupCode = gpCode: dataCode = dataValue   ' Собственно отбор по цветуsset.Select acSelectionSetAll,,, groupCode, dataCode GoSub LISTOBJSvsego = sset.Count - 1 ' Если размер массива removeObjects задать больше чем число ' объектов в наборе, то метод RemoveItems выдаст ошибку, поэтому ReDimReDim removeObjects(0 To vsego) As AcadEntity ' пройтисьпо SelectionSet For i = 0 To vsego Set removeObjects(i) = sset.Item(i)' установить ссылки на объекты которые исключим из набора ' а именно те, что разукрасили синимNext GoSub LISTOBJS sset.RemoveItems removeObjects GoSub LISTOBJS Case "Clear": sset.Clear: GoSub LISTOBJS Case "Delete": sset.Delete: GoSub LISTOBJS Case "Erase": sset.Erase: GoSub LISTOBJS Case Else Exit Sub End Select sset.Delete Exit Sub LISTOBJS: If sset.Count = 0 Then MsgBox "наборпуст" Else MsgBox "Наборсодержит: " & sset.Count & " объектов" End If Return ErrHandle: MsgBox Err.DescriptionEnd Sub

Копирование объектов

Объекты рисунка могут быть копированы, в том числе на определенное смещение от оригинала. Можно так же создать зеркальное отображение объекта относительно заданной линии. Объекты могут размножаться через прямоугольный или округлый шаблон. Нельзя только использовaть эти методы одновременно с перебором элементов коллекции, сначала следует завершить перебор. Для копирования единичного объекта метод Copy позволяет создать его дубликат по тем же координатам.


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

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

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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



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

0.009 с.