|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Описание блока всегда одно. Вхождений блока может быть сколько угодно, именно вхождения блока имеют такие свойства, как слой, тип, цвет и вес линии, пространство-владелец, габариты и т.п. Только вхождения можно разбивать. Только во вхождениях можно редактировать значения атрибутов.
Но состав блока хранится в описании. Изменение описания блока приводит к изменению вхождений. Выполнение _.refedit - это редактирование описания блока.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
В английской версии BLOCK - это имя команды, которая позволяет создать Block Definition (определение блока). Одновременно block - это термин для какого-то количества разных примитивов, объединенных в одно целое и имеющих имя.
INSERT - имя команды для вставки блока. Одновременно INSERT - это имя примитива вставленного в чертеж блока. Вот эти insert-ы и называют вхождениями или вставками блоков. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Цитата:
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Если надо, то можно и самостоятельно нарисовать Вопрос в количестве и качестве проверок.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Цитата:
Поэтому и хотелось взглянуть квалифицированное решение. У тебя смотрел, но не нашел...
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Код:
Код:
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Код в #28 это делает. Изменяет все в соответствии с текущими установками заданного стиля - в том числе и у всех атрибутов всех блоков с таким стилем.
|
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Цитата:
Извини, не смог поблагодарить сразу... Пригрузили бесплатной халтурой, как только освобожусь, сразу пущу его в освоение.
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
Во вхождениях блока можно менять не только значение атрибутов, но и их наименование, при этом в чертеже появляется несколько вхождений одного и того же блока, но наименования атрибутов и их значения разные. Такое состояние копируется как внутри самого файла, так и передается копированием в другие файлы. Это необходимо, когда надо переименовать атрибут с одного языка на другой, не нарушая целостность базового описания. Везде, где в работе программы нужно переписывать в отчетный документ не только значение атрибута, но и его наименование, такое возможно. Значит, и тут могут быть подводные камни.
Командой ATTSYNC все вхождения блока возвращают свои первоначальные значения имен атрибутов, но при этом стирается значение этих атрибутов в каждом вхождении блока и заменяется значением из базовой записи. Если имена атрибутов соответствуют базовому значению имени атрибута, то значение атрибутов в таких блоках при ATTSYNC не нарушается, хотя оно и разное, а если имя атрибута "подкорректировали" то при ATTSYNC значение уйдет в мусорку, причем во всех вхождениях! Вы все знаете, что имена атрибутов пишутся заглавными буквами, но их можно и не заглавными писать, но только через лисп. Если такое сделали с вхождением не поменяв в базовом описании, то может произойти непоправимое (если таких вхождений несколько тысяч). Есть проблема с перестановкой местами имен атрибутов. Чисто в трудоемкости. Поменять что в базовом описании, что во вхождении местами атрибуты можно только переименовав уже имеющиеся и перенеся их значения друг-другу. Если сделать это только во вхождении, или только в базовом описании, то при ATTSYNC .... сами понимаете. Значит надо переставив в базовом описании выбрать все вхождения и там переставить, предварительно проверив, что все вхождения соответствуют базовому описанию. Я сейчас работаю над весьма большой программой по аудиту блоков, там все это будет реализовано. Более того, сначала отчет о существующем положении, а уж за тем корректировка. С заменой свойств примитивов включенных в блок дело еще сложнее. Вы про блоки в блоке еще не обсудили. Наверное я и вышеизложенные моменты учту и добавлю в этот аудитор. |
||||
|
||||
Цитата:
Например, динамические блоки у нас желательно делать расчленяемыми, а обычные - нерасчленяемыми. Запустил для библиотек динамических - поставил режим "Разрешить расчленение"==Да. А для библиотек обычных - "Разрешить расчленение"==Нет. Или, пока создаешь библиотеки обычных блоков, то нужно иметь возможность их разнести, чтобы делать проверки и т.п. А при передаче в пользование программкой задать запрет. И т.п. Да и по умолчанию в Автокаде стоит "разрешить". И у большинства блоков чужих библиотек стоит разрешение. А блоков множество - в каждый залезать очень долго, и пропустить все равно можно. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 05.04.2010 в 09:58. |
|||
|
||||
Круто, но пока что у меня ругается:
Command: (norm-blocks-with-explode 2 nil) ; error: no function definition: NORM-BLOCKS-WITH-EXPLODE |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
А код вообще загружен?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Пардон! Я не то не туда скопировал!
Работает! А можно задавать Byblock не только линиям, но и окружностям, дугам, подписям - вообще всем типам элементов? Ведь в блоках, особенно в чужих, существующих, используются самые разные типы элементов. Последний раз редактировалось АлексЮстасу, 01.04.2010 в 16:37. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Свойства устанавливаются всему составу описания блока.
> #35: да, можно "нормализовать не все подряд". Но у меня на это сейчас времени и сил немного "не хватат". Сопутствующих вопросов многовато возникает...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Опять прошу прощения! Весна, видно, действует, трудно сосредоточиться. Да, цвет, стиль устанавливаются всем типам элементов.
Но веса линий почему-то остаются ByLayer. И когда ставлю 4, и когда 7. И в прежней версии тоже остаются. Например: (norm-blocks-with-explode 4 t) (norm-blocks 4) Последний раз редактировалось АлексЮстасу, 01.04.2010 в 17:31. |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Импорт палитры блоков при помощи LISP | TwoZero | LISP | 13 | 31.01.2019 17:38 |
Lisp. Расстановка блоков на пересечении линий. | wetr | LISP | 22 | 03.04.2018 10:54 |
AutoCAD 2008 - вставка блоков из файла в файл | Vavan Metallist | AutoCAD | 14 | 25.05.2009 19:37 |
Удаление не используемых блоков из файла | Гузалия | AutoCAD | 3 | 13.12.2007 10:06 |
2008. Глюк с назначением текущего цвета из Lisp? | _Andre_ | LISP | 5 | 25.10.2007 13:50 |