Тема: линия, окружность,полилайн над солидом
На леере есть поверхность внутри полилайна закрашенная солидами. Как показать над
закрашенной поверхностью окружности, линии, полилайны принадлежащие другому лееру.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → линия, окружность,полилайн над солидом
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
На леере есть поверхность внутри полилайна закрашенная солидами. Как показать над
закрашенной поверхностью окружности, линии, полилайны принадлежащие другому лееру.
Поищи в документации MoveAbove
Метод MoveAbove нашелся только для класса AutoCAD.AcadSortentsTable
А пример к нему в справке посмотрел?
Никогда раньше не работал с Dictionary.Где кроме помощи можно поподробнее почитать о них?
Измени название слоя и типы примитивов если нужно:
Option Explicit Sub MoveTop() Dim ftype(1) As Integer Dim fdata(1) As Variant Dim dxfCode, dxfValue ftype(0) = 0 ftype(1) = 8 fdata(0) = "LINE,CIRCLE,LWPOLYLINE" fdata(1) = "Layer2" dxfCode = ftype: dxfValue = fdata Dim oSset As AcadSelectionSet With ThisDrawing.SelectionSets While .Count > 0 .Item(0).Delete Wend Set oSset = .Add("$MySset$") End With ' Select on screen oSset.SelectOnScreen dxfCode, dxfValue If oSset.Count = 0 Then Exit Sub Dim oEnt As AcadObject ' ' Make the error handler active On Error GoTo Err_Control 'Get an extension dictionary and, if necessary, add a SortentsTable object Dim extDict As Object Set extDict = ThisDrawing.ModelSpace.GetExtensionDictionary ' Prevent failed GetObject calls from throwing an exception On Error Resume Next Dim orderDict As Object Set orderDict = extDict.GetObject("ACAD_SORTENTS") On Error GoTo 0 If orderDict Is Nothing Then ' No SortentsTable object, so add one Set orderDict = extDict.AddObject("ACAD_SORTENTS", "AcDbSortentsTable") End If ReDim arr(oSset.Count - 1) As AcadObject Dim i For Each oEnt In oSset Set arr(i) = oEnt i = i + 1 Next oEnt 'Move the hatch object to the bottom orderDict.MoveToTop arr AcadApplication.Update Exit Sub Err_Control: MsgBox Err.Description End Sub
Успехов,
[FONT=Arial]~'J'~[/FONT]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → линия, окружность,полилайн над солидом
Форум работает на PunBB, при поддержке Informer Technologies, Inc