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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как выявить текущий слой? (.NET ACAD)

Как выявить текущий слой? (.NET ACAD)

Ответ
Поиск в этой теме
Непрочитано 15.05.2014, 15:21 #1
Как выявить текущий слой? (.NET ACAD)
лузер
 
Изучение .NET ACAD2010/BRICS14
 
Москва
Регистрация: 26.01.2014
Сообщений: 30

Подскажите, где лежит свойство текущего слоя открытого чертежа? То есть как получить имя string текущего слоя, или layer текущего слоя? Вроде это должно лежать где-то вверху иерархии, например в Database.
Мне это нужно для того, чтобы отрисуемые примитивы помещались в текущий слой, а не в слой 0. Чтобы перед выполнением AddNewlyCreatedObject примитиву назначить .Layer.Name = "имя текущего слоя" или .Layer = текущий слой
Просмотров: 2027
 
Непрочитано 15.05.2014, 15:23
#2
Кулик Алексей aka kpblc
Moderator

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


А системная переменная clayer не катит?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.05.2014, 15:26
#3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,066


Код:
[Выделить все]
 
Dim CurLay As String = Autodesk.AutoCAD.ApplicationServices.Application.GetSystemVariable("clayer")
Еще так можно:
Код:
[Выделить все]
        
Dim LayerName As String
Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
            LayerName = CType(acCurDb.Clayer.GetObject(OpenMode.ForRead), LayerTableRecord).Name
End Using
__________________
_бложиг

Последний раз редактировалось Boxa, 15.05.2014 в 17:04.
Boxa на форуме  
 
Непрочитано 15.05.2014, 16:41
#4
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 501
<phrase 1=


Если вызвать у примитива метод SetDatabaseDefaults() - выставятся значения по-умолчанию, в том числе и текущий слой
__________________
Алексей
bargool вне форума  
 
Непрочитано 16.05.2014, 01:48
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,274
Отправить сообщение для Александр Ривилис с помощью Skype™


Если только слой, то:
Код:
[Выделить все]
 ent.LayerId = HostApplicationServices.WorkingDatabase.Clayer;
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как выявить текущий слой? (.NET ACAD)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои макрокоманды zenon Программирование 924 12.07.2019 07:23
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Как удалить неиспользуемый слой? (.NET API AutoCAD C#) лузер .NET 9 23.03.2014 21:02
вставка блока в текущий слой (проблема) Serkonst AutoCAD 11 12.01.2008 16:49