| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
13.08.2021, 03:59 | #1 | |
Запретить блоку в ячейке таблицы менять цвет
Воронеж
Регистрация: 26.06.2007
Сообщений: 151
|
||
Просмотров: 2607
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Может, проще перед вставкой в таблицу менять системные переменные, а потом их восстанавливать?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
clayer, cecolor, celweight, celtype...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Ок, что значит "сбрасывается"? Также не помешает образец dwg. И код.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
Удалось локализовать проблему с минимумом действий и почти без кода.
Во вложении — файл DWG.dwg, содержащий только один блок (в слое "1", с красным цветом "По слою") и таблицу, в ячейку которой вставлен этот же блок (тоже красного цвета). Всё, что нужно сделать — это вставить ещё раз этот блок на чертёж командой (файл с блоком положить в корень диска D): Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Первое, что приходит в голову - это создавать отдельное определение анонимного блока, в который выполнять копирование всех видимых примитивов "исходного". В таблицу вставлять уже новый анонимный блок. Второе - почитать "САПР на базе AutoCAD" - там есть вариант вставки блока "на курсоре".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
Спасибо. Я нашёл и адаптировал код Ли Мака для переименования блока (чтобы вставить его в таблицу с другим именем), но появилась другая проблема: в блоках размещена маскировка, и в некоторых версиях Автокада при "пересоздании" блока нарушается порядок отображения элементов внутри него, в результате чего маскировка внутри блока оказывается поверх остальных его элементов. Кто-то описывал такую же проблему: https://forums.autodesk.com/t5/autoc...g/td-p/2280305
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Как варианты:
1. https://autolisp.ru/2013/09/18/draworder-inside-blocks/ 2. https://autolisp.ru/2011/12/16/draworder/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992
|
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В ячейке одной таблицы есть текст, как сделать чтоб этот текст отображался в ячейки другой таблицы? | Basily | AutoCAD | 2 | 05.02.2017 16:46 |
Помогите с интересной проблемой о тексте в ячейке таблицы | reime | AutoCAD | 15 | 22.09.2016 19:10 |
вставка таблицы из MS Excell | baaba | Готовые программы | 23 | 11.03.2014 19:47 |
Lisp. Изменение отступа в ячейке таблицы | orexxx | LISP | 1 | 28.08.2012 12:02 |
Как привязать изменение видимости слоя к значению в ячейке таблицы? | 4ertilka | Программирование | 3 | 16.07.2009 14:53 |