Расположение слоев
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Расположение слоев

Расположение слоев

Ответ
Поиск в этой теме
Непрочитано 14.01.2009, 11:04 #1
Расположение слоев
Жорик_У
 
Регистрация: 14.01.2009
Сообщений: 1

Уважаемые!

Требуется в 2Д чертеже расположить элементы одного слоя строго над элементами второго. Как это можно сделать?

Обычно автокад рассовывает их как Бог послал. Например топология задана в одном слое, начинаю размещать элементы (созданы в другом слое) по топологии, а они то сверху, то снизу рисунка топологии.
Как слой элементов расположить строго над слоем топологии?

Заранее благодарен. Жорик.
Просмотров: 5616
 
Непрочитано 14.01.2009, 11:06
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Слой элементов не расположить. А вот сами элементы - достаточно просто: _.draworder тебе в ком.строку.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 11:10
#3
Геннадий aka PG

Машиностроение, Проектирование
 
Регистрация: 15.09.2003
Москва
Сообщений: 1,113
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Слой элементов не расположить. А вот сами элементы - достаточно просто: _.draworder тебе в ком.строку.
А Layorder не спасет
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 14.01.2009, 11:13
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


AA2008 Eng + SP1:
Код:
[Выделить все]
Command: layorder
Unknown command "LAYORDER".  Press F1 for help.
P.S. ExpressTools установлены.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 11:17
#5
Геннадий aka PG

Машиностроение, Проектирование
 
Регистрация: 15.09.2003
Москва
Сообщений: 1,113
<phrase 1=


Виноват, это из довесок к акаду
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 14.01.2009, 11:28
#6
ButcheR

пианист
 
Регистрация: 18.02.2008
Питер
Сообщений: 418


Я бы сделал так: для начала выбрал бы все объекты нижнего слоя командой "Qselect", затем командой "На задний план"...ну и после этого можно этот слой "Закрыть на замок", чтоб по случайке эти объеты не всплывали.
ButcheR вне форума  
 
Непрочитано 14.01.2009, 12:09
#7
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Я использую такую вот процедурку для "убирания" штриховки на задний план. (К примеру, пройти по всем описаниям блоков, передавая каждый объект штриховки в функцию как параметр Obj, а описание блока - как obj2. Бывает полезно, когда в чертеже сотни блоков, а штриховка, особенно заливка в них очень часто "теряет" свой план и вылазит на верх). В принципе, несложно должно быть аналогичный макрос написать для объектов на опр. слое.
Код:
[Выделить все]
Private Sub Hatch_To_back(Obj, obj2)
'Перенос штриховки на задний план
Dim eDictionary As Object
Set eDictionary = obj2.GetExtensionDictionary
On Error Resume Next
Dim sentityObj As Object
On Error GoTo 0
 Set sentityObj = eDictionary.AddObject("ACAD_SORTENTS", "AcDbSortentsTable")    
    Dim ObjIds As Long
    ObjIds = Obj.ObjectID
    Dim varObject As AcadObject
    Set varObject = ThisDrawing.ObjectIdToObject(ObjIds)
    Dim arr(0) As AcadObject
    Set arr(0) = varObject
    sentityObj.MoveToBottom arr
    AcadApplication.Update
End Sub
Если совсем просто, без фильтров, вот так (вроде работает):
Код:
[Выделить все]
Sub Main()
Dim objkt As Object
For Each objkt In ThisDrawing.ModelSpace
  If objkt.Layer = "0" Then
   Call Hatch_To_back(objkt, ThisDrawing.ModelSpace)
  End If
Next
End Sub
Вместо If objkt.Layer = "0" - подставить нужное имя слоя.
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!

Последний раз редактировалось AlexV, 14.01.2009 в 12:17.
AlexV вне форума  
 
Непрочитано 17.09.2010, 11:38
#8
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,291


В продолжение вопроса.
Описываю ситуацию, которая встечается у меня очень часто:

1. Чертеж 2D.
Все выполнено в модели.
Оформление - на нескольких лэйаутах, в каждом лэйауте - от одного до четырех видовых экранов.
Некоторые объекты, расположенные на разных слоях, накладываются друг на друга.

2. Если применить DRAWORDER в модели, то нужный порядок объектов отобразится правильно, но только в модели.
А на видовых экранах лэйаутов порядок объектов остается как бог послал.

3. Если перейти на лэйаут, там двойным тычком мыши войти в какой-либо видовой экран и выполнить DRAWORDER, то нужный порядок отображения объектов станет только в этом конкретном видовом экране.
А в модели и на других лэйаутах - опять полная чехарда.

4. Если войти в видовой экран другого лэйаута и уже там выполнить DRAWORDER, то в этом экране все исправляется, а там где это было сделано раньше (см. п. 3) снова "портится".

Можно ли решить проблему?

(В принципе можно растащить объекты по ELEV, но это сомнительное решение.
Или придется жестко избегать наложения объектов?)

Последний раз редактировалось Pilot, 17.09.2010 в 11:43.
Pilot вне форума  
 
Непрочитано 19.09.2010, 17:42
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


А если применить DRAWORDER в модели, затем перейти на лэйаут и выполнить _regenall?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.09.2010, 12:00
#10
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,291


Попробовал сейчас на одном чертеже. Вроде бы помогает. Но приходится выполнять _regenall для каждого лэйаута.
Надо будет еще попробовать на различных чертежах и понаблюдать.
Pilot вне форума  
 
Непрочитано 21.09.2010, 14:52
#11
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Здесь же на форуме вычитал решение проблемы раскладываения элементов в нужном порядке - программа DOBT. (DRAWORDER By Type). Бесплатная.
Создается файл - список какого типа элементы из каких слоев в каком порядке. Одно нажатие перед сдачей заказчику - и все лежит в том порядке, как заказали.
Понятно, что пользоваться ей удобно только тогда, когда в чертежах соблюдается стандарт - стандартные слои, и что в каком слое лежит. Если хаос, то, конечно, вручную.
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Расположение слоев



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужны фильтры слоев?Как ими пользоваться? Aysulu AutoCAD 43 17.04.2019 10:59
Unreconciled new layers при Xref Red Nova AutoCAD 17 10.01.2019 13:00
Layer Notification Warning Jerald AutoCAD 4 14.03.2008 00:05
Фильтр слоев Alexander_Liseev AutoCAD 7 01.03.2006 03:18
Фильтры слоев Vova AutoCAD 12 03.12.2004 16:38