dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как программно настроить "замороженность" слоев в видовых экранах?

Как программно настроить "замороженность" слоев в видовых экранах?

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 05.02.2018, 16:31 #1
Как программно настроить "замороженность" слоев в видовых экранах?
Zemlemer
 
Регистрация: 13.11.2017
Сообщений: 15

Zemlemer вне форума Вставить имя

Приветствую! Немного писал на autolisp, сейчас осваиваю activex.
Как кодом изменить замороженность и размороженность слоев в видовых экрнах?
Просмотров: 585
 
Непрочитано 06.02.2018, 09:15
#2
koMon


 
Регистрация: 26.09.2017
Сообщений: 71


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Могу ошибаться, но:
1. Посмотри полный дамп объекта ВЭ (как vla-, так и ename-)
2. Мне кажется, что через ActiveX с ВЭ работать не получится. Тут либо ename-представление модифицировать, либо вообще "уходить" на .NET / arx.
Признаю.

Алгоритм может выглядеть например так:
1. Идентифицируешь объекты искомого(ых) слоя(ёв).
2. Установливаешь замороженные свойства этих объектов в нужное значение.

Последний раз редактировалось koMon, 06.02.2018 в 09:58.
koMon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.02.2018, 09:21
#3
Кулик Алексей aka kpblc
Moderator

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


Могу ошибаться, но:
1. Посмотри полный дамп объекта ВЭ (как vla-, так и ename-)
2. Мне кажется, что через ActiveX с ВЭ работать не получится. Тут либо ename-представление модифицировать, либо вообще "уходить" на .NET / arx.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.02.2018, 10:17
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 2,584


очевидно же - FreezeLayersInViewport
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.02.2018, 10:38
1 | #5
koMon


 
Регистрация: 26.09.2017
Сообщений: 71


Возможно и это поможет...

----- добавлено через ~3 ч. -----
Не знаю насколько это может быть полезным, поскольку функции из набора ExpressTools не документированы, могут отсутствовать в какой-то версии автокада, могут быть удалены и т.д. и т.п., но в них обнаруживаются две крайне удобные как раз для этого случая:
(acet-viewport-frozen-layer-list vpename), синтаксис взят здесь -> (acet-viewport-frozen-layer-list vpename)
(acet-viewport-frozen-layer-list-set vpename layerslist), синтаксис докопан мной)

Например, есть ВЭ, в котором слои "Layer1", "Layer2" заморожены.
Выполнение (acet-viewport-frozen-layer-list (car(entsel)), с указанием этого ВЭ даёт список ("Layer1" "Layer2").
(acet-viewport-frozen-layer-list-set (car(entsel)) '("Layer1")) оставляет замороженным Layer1 и размораживает Layer2.
(acet-viewport-frozen-layer-list-set (car(entsel)) nil) размораживает все замороженные слои.
(acet-viewport-frozen-layer-list-set (car(entsel)) '("Layer1")), при всех размороженных слоях, замораживает Layer1.

Последний раз редактировалось koMon, 06.02.2018 в 20:50.
koMon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 07.02.2018, 12:01
#6
Zemlemer


 
Регистрация: 13.11.2017
Сообщений: 15


Цитата:
Сообщение от koMon Посмотреть сообщение
Возможно и это поможет...

----- добавлено через ~3 ч. -----
Не знаю насколько это может быть полезным, поскольку функции из набора ExpressTools не документированы, могут отсутствовать в какой-то версии автокада, могут быть удалены и т.д. и т.п., но в них обнаруживаются две крайне удобные как раз для этого случая:
(acet-viewport-frozen-layer-list vpename), синтаксис взят здесь -> (acet-viewport-frozen-layer-list vpename)
(acet-viewport-frozen-layer-list-set vpename layerslist), синтаксис докопан мной)

Например, есть ВЭ, в котором слои "Layer1", "Layer2" заморожены.
Выполнение (acet-viewport-frozen-layer-list (car(entsel)), с указанием этого ВЭ даёт список ("Layer1" "Layer2").
(acet-viewport-frozen-layer-list-set (car(entsel)) '("Layer1")) оставляет замороженным Layer1 и размораживает Layer2.
(acet-viewport-frozen-layer-list-set (car(entsel)) nil) размораживает все замороженные слои.
(acet-viewport-frozen-layer-list-set (car(entsel)) '("Layer1")), при всех размороженных слоях, замораживает Layer1.
Кажется, то что нужно!
А откуда такая функция? Нашел примерно что такое vla-put vla-get, а остальное труднее. Может, посоветуете источник с описанием всех функций autolisp?
Zemlemer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.02.2018, 12:46
2 | #7
koMon


 
Регистрация: 26.09.2017
Сообщений: 71


Цитата:
Сообщение от Zemlemer Посмотреть сообщение
Кажется, то что нужно!
А откуда такая функция? Нашел примерно что такое vla-put vla-get, а остальное труднее. Может, посоветуете источник с описанием всех функций autolisp?
Ну. лично я пользуюсь этим источником:


Ну а далее встроенный хелпер или acadauto.chm, AutoLISP Reference Guide.pdf, Autocad 2014 DXF Reference.pdf и т.д
А так книги какие-то написаны, в которых можно что-то найти...
Ну и опять же сетевые ресурсы всякие, в том числе и этот)
Миниатюры
Нажмите на изображение для увеличения
Название: lsp.jpg
Просмотров: 84
Размер:	309.6 Кб
ID:	198872  

Последний раз редактировалось koMon, 07.02.2018 в 12:52.
koMon вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 08.02.2018, 10:27
#8
Zemlemer


 
Регистрация: 13.11.2017
Сообщений: 15


Цитата:
Сообщение от koMon Посмотреть сообщение
Ну. лично я пользуюсь этим источником:


Ну а далее встроенный хелпер или acadauto.chm, AutoLISP Reference Guide.pdf, Autocad 2014 DXF Reference.pdf и т.д
А так книги какие-то написаны, в которых можно что-то найти...
Ну и опять же сетевые ресурсы всякие, в том числе и этот)
Чорт возьми, думаю эти три буквы будут крайне полезны! Спасибо еще раз!
Zemlemer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.02.2018, 12:46
1 | #9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,606
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от koMon Посмотреть сообщение
Ну. лично я пользуюсь этим источником:


Ну а далее встроенный хелпер или acadauto.chm, AutoLISP Reference Guide.pdf, Autocad 2014 DXF Reference.pdf и т.д
А так книги какие-то написаны, в которых можно что-то найти...
Ну и опять же сетевые ресурсы всякие, в том числе и этот)
Еще пару источников
An Introduction to 'acetutil' Functions
acetutil.chm по ссылке и во вложении
ACET-FUNCTIONS.xls‎ и AcetUtil_Functions.doc по ссылке и во вложении
A diversion for the recreationally challenged. (требуется регистрация)

Цитата:
Сообщение от koMon Посмотреть сообщение
Ну а далее встроенный хелпер или acadauto.chm, AutoLISP Reference Guide.pdf, Autocad 2014 DXF Reference.pdf и т.д
А так книги какие-то написаны, в которых можно что-то найти...
Ну и опять же сетевые ресурсы всякие, в том числе и этот)
Еще один способ
Цитата:
Сообщение от VVA Посмотреть сообщение
Далее я делаю так:
В папке express tools в файлах *.lsp ищу с помошью total comander'a (Atl+F7) файлs, в которых встречается упоминание заинтересовавшей меня ф-ции. Анализируя код, узнаю количество и порядок передаваемых ей аргументов. Если нет, то пробую поискать в google.
----- добавлено через ~35 мин. -----
Цитата:
Сообщение от Zemlemer Посмотреть сообщение
Чорт возьми, думаю эти три буквы будут крайне полезны!
Добавлено в FАQ по программированию под №10 Описания функций ExpressTools
Вложения
Тип файла: zip acetutil.zip (16.8 Кб, 3 просмотров)
Тип файла: xls ACET-FUNCTIONS.xls (35.0 Кб, 5 просмотров)
Тип файла: doc AcetUtil_Functions.doc (77.0 Кб, 5 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 12.02.2018 в 13:21.
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как программно настроить "замороженность" слоев в видовых экранах?

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать Диспетчер конфигурации слоев для разных видовых экранов. Pluton AutoCAD 7 03.06.2016 09:54
Замораживание новых слоев на существующих видовых экранах InFlames AutoCAD 7 06.06.2013 10:42
Как изменить виды на созданных видовых экранах в пространстве листа? Nata1 AutoCAD 5 18.02.2009 16:43
Отображение разных слоев в разных видовых экранах Vadimtot AutoCAD 16 15.04.2007 06:55
Оформление размеров в видовых экранах lion AutoCAD 6 31.05.2006 10:33

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||