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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

LISP. Подготовка подосновы

Ответ
Поиск в этой теме
Непрочитано 13.04.2011, 20:25 24 |
LISP. Подготовка подосновы
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

Набор команд, опубликованных в теме Подоснова
Желательно ознакомиться с указанной темой или как минимум с описанием
Описание команд
Код:
[Выделить все]
BGLAYDEL - Удаление выключенных и замороженных слоев с примитивами
BG1BLEXP - Взрывает блоки, состоящие из одного примитива (возможно другого блока)
BGBLEXP  - Взрывает блок и все блоки, входящие в него, превращая видимые атрибуты в текст
BGBLEXP1 - Взрывает блоки 1-го уровня, превращая видимые атрибуты в текст
BGBLDYNEXP1 - Взрывает динамические блоки 1-го уровня, превращая видимые атрибуты в текст
BGBLEXP1NOATT - Взрывает блоки 1-го уровня, у которых нет видимых атрибутов
BGBLXCLIP - Показывает подрезанные блоки
BGBLDYN2A - Преобразовывает динамические блоки в анонимные
BGBLDYN2S - Преобразовывает динамические блоки в статические
BGBLALLDYN2A - Преобразовывает ВСЕ динамические блоки в анонимные    
BGBLALLDYN2S - Преобразовывает ВСЕ динамические блоки в статические  
BGBLXCLIPEXP - взорвать подрезанный блок
BGCB - копирует одно из вхождений блока в блок с новым именем 
BGRB - переименовывает одно из вхождений блока в блок с новым именем
M2U - Преобразовать MINSERT в Unnamed блок
M2B - Преобразовать MINSERT в блок
U2B - Преобразовать UNNAMED в блок
U2BM - Преобразовать UNNAMED в блок множественный выбор
UX - Взорвать UNNAMED блок
=======================================
BGRGB2ACI - Изменяет цвет с RGB на ACI
BGAll2RGB - Изменяет ACI цвет в его RGB эквивалент
BGCOLOR - Задает выбранный цвет всем объектам
BGCOLORCMD - Задает выбранный цвет всем объектам с запросом в командной строке
BGCOLORXREF - Меняет цвет выбранных внешних сылок (только в текушем сеансе)
BGCOLBL - Установка "послою" цвета примитивов подосновы. Если цвет задан явно- создается новый слой !Новое с версии 3.0
BGResetXRef -Сброс настроек слоев выбранных внешних ссылок на установленные в исходном файле
BGBLCC - Изменяет цвет выбранных блоков
BGENCC - Изменяет цвет выбранного элемента блока
BGCATT - Изменяет цвет атрибутов выбранных блоков
BGCBL2 - Изменяет цвет в блоках 2 и более уровня (вложенных блоках)
BGBLFIX - Нормализация блоков (цвет, слой, взрываемость и т.п.)
BGCFT   - Конвертирует все поля в обычный текст
BGCFTSEL - конвертирование полей в обычный текст в выбранных примитивах
BGHATCHDEL - Удаление штриховки
Текущая версия 3.13a
Отличие версий 3.3 и 3.6 и выше - переписана функция взрыва блоков (команды BGBLEXP...)
В версии 3.3 - вариант из expresstools. Сохраняются поля при взрыве. Медленная обработка при большом количестве блоков
В версии 3.6 функция bg:BURST-ONE заменена функцией Lee Mac LM:burst. На порядок быстрее, если атрибут многострочный и включена маскировка - получаем маскированный мтест.
Поля не сохраняются.

Код:
[Выделить все]
;;;	Версии:
;;;	1.0 - исправлены ошибки burst - при наследовании типа линии поблоку, показ скрытых атрибутов и наследования типа линии блока
;;;	                                если в блок примитив входил не на 0 слое, тип линии поблоку.
;;;	      добавлена обработка Burst LineWeight
;;;	1.1  изменение цвета блока при наличии атрибутов (см ;;; Change VVA 12.09.2008)
;;;	...
;;;	1.4  Обработка стилей мультилиний
;;;	1.11 ChangeAllObjectsColor - Обработка размеров, leader и mtext с явным заданием цвета.
;;;	     BGBLEXP - обработка видимостей динамических блоков (если в видимости включены атрибуты)
;;;	     BG1BLEXP - Обабатываются блоки, состоящие из одного элемента и
;;;	     - имя блока A$C*
;;;	     - или любое другое имя и этот один элемент другой блок
;;;	1.12 - Не удаляет блоки, расположенные на выключенном/ замороженном слое
;;;	       и имеющие хотя бы 1 примитив на включенном слое, отличном от "0"
;;;	2.0  - BGBLEXP - исправлена ошибка со списком
;;;	2.1  - обработка блоков внешних ссылок ChangeXrefAllObjectsColor
;;;	2.2  - команда BGCFT
;;;	2.3  - add BGCOLORXREF and BGRGB2ACI
;;;	2.4  - Обработка многострочных атрибутов
;;;     2.5  - Добавленна gc:FieldCode ChangeAllObjectsColor ChangeXrefAllObjectsColor - обработка Unicode символов
;;;     2.6  - Добавленны команды BGBLDYN2A BGBLDYN2S
;;;     2.7  - Добавлена обработка предварительного выбора
;;;     2.8  - Баги с обработкой атрибутов и visibility
;;;     2.9 - Команда BGBLDYNEXP1 
;;;     2.9.1 - добавлена ф-ция bg:massoc
;;;     2.10  - Конвертация динамических блоков  bg:DynToStatic. Сохранение и восстановление значений атрибутов
;;;     2.11 - Изменения в bg:get-all-atts (обработка UNICOD символов в значениях атрибутов)
;;;              добавлена команда BGHATCHDEL
;;;             ChangeAllObjectsColor - change table text and grid color
;;;    2.12  - Учтен lineweight для атрибутов. Изменен BgBlFIX
;;;    2.13  - Добавлена функция BG:GET-TEXTSTRING (как замена vla-get-textstring. Т.к. неверно возвращает строку при наличии юникод символов)
;;;    2.14  - Добавлена команда BGAll2RGB Изменена ClearFieldInAllObjects
;;;    2.15  - Небольшие изменения в BGAll2RGB. добавлены BGCB и BGRB
;;;;   2.16  - BGCBL2 теперь работает с RGB и ACI цветами
;;;;   2.17  - BGBLCC  теперь работает с RGB и ACI цветами + мелкие изменения
;;;;   2.18  - Учтено предложение http://forum.dwg.ru/showpost.php?p=949149&postcount=102
;;;;           Добавлена команда BGBLXCLIPEXP
;;;;   2.19  - Команда BGBLFIX. Добавлена опция игнорирования блокированных слоев
;;;    2.22  - Добавлены опции Одинаковые масштабы и Разрешить расчленение
;;;    2.23 - Внесены изменения в команду BGBLXCLIPEXP
;;;    2.24  - Отредактирована команда UX (вложенность анонимных блоков)
;;;    2.25  - Fix BGBLCC и BGCBL2 command. Add BGCFTSEL
;;;    2.26  - BGCFT - добавлена обработка формата текста в таблице. Добавлены команды BGBLALLDYN2A и BGBLALLDYN2S
;;;    2.27  - в командах U2B ,UX добавлена обработка блоков с именем *E
;;;    2.28  - BGCFT - исправлена ошибка + изменения в function bg:DynToStatic
;;;    2.29  - Исправлен недочет ClearFieldInThisObject
;;;    2.30    Fixed minor bugs in function ClearFieldInThisObject   http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/vla-get-textstring-u-symbols/td-p/4365165
;;;    2.31    BGCFT добавлена очистка полей в размерах  ( http://forum.dwg.ru/showthread.php?p=1335110#post1335110 )
;;;    2.32    изменения в bg:get-TextString (http://forum.dwg.ru/showpost.php?p=1386990&postcount=235)
;;;    2.33    изменения в bg:get-TextString (http://forum.dwg.ru/showpost.php?p=1386990&postcount=252) 
;;;    2.34    BGBLFIX обработка именованных стилей печати
;;;    2.35    BGBLEXP изменения
;;;    2.36    изменения в команде UX http://forum.dwg.ru/showthread.php?p=1421560#post1421560
;;;    2.37    BGCFT исправлена ошибка при обработке заблокированных ячеек таблицы
;;;    2.38    BGLAYDEL исправлена ошибка с востановлением слоев
;;;    2.40    Изменения в ф-ции bg:FieldCode. Добавлена ф-ция bg:GetObjectIDString mark VVA 2015-12-07
;;;    2.41    Изменения в ф-ции ClearFieldInThisObject. Обработка значений размеров над и под размерной линией. Mark VVA 2016-01-04
;;;    3.0    Добавлена команда BGCOLBL
;;;            Установка послою цвета примитивов подосновы. Если цвет задан явно- создается новый слой
;;;    3.1    BGBLEXP - сохранение полей в атрибутах
;;;   3.2    BGCFT игнор
;;;   3.3    Исправление в команде M2B
;;;   3.4    Исправление fix bg:explode-block (исключение обработки внешних ссылок)
;;;   3.5    BG:BURST-ONE измененая для сохранения постоянных атрибутов
;;;   3.6    добавлено bg:del-constraint в BGBLEXP
;;;   3.7    изменения в команде M2B
;;;   3.8    Изменения в bg:FieldCode (http://forum.dwg.ru/showpost.php?p=1754063&postcount=467)
;;;   3.9    Изменения BGLAYDEL. Слои удаляются командой _-LAYDEL
;;;   3.10   Добавлена команда BGCOLORCMD
;;;;  3.11   Изменения BGLAYDEL
;;;;  3.12   Изменения в функции mip_MTEXT_Unformat (VVA 2021-12-24)
;;;;          https://forum.dwg.ru/showthread.php?p=1975506#post1975506
;;;;   3.12a   Изменения в функции bg:hatch-delete-form-Block (VVA 2022-05-13)
;;;;            https://forum.dwg.ru/showpost.php?p=1991289&postcount=624

Полезные ссылки
C2L - Color to Layer или еще здесь
COLORFL - Color From Layer
PFL - Properties From Layer

Вложения
Тип файла: zip bgtools 3.3.zip (53.6 Кб, 6478 просмотров)
Тип файла: zip bgtools3.13b.zip (57.3 Кб, 203 просмотров)

__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 29.01.2024 в 16:36. Причина: См историю изменений
Просмотров: 411427
 
Непрочитано 05.02.2017, 16:57
#401
frostmourn


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


Ну, что-то типа того. Для каждого листа.
frostmourn вне форума  
 
Непрочитано 18.07.2017, 17:16
#402
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


VVA, возможно добавить вариант команды BG1BLEXP но только когда блок вставлен 1 раз.
Поясню, приходят чертежи экспортированные из других программ, где часто все отрисовано блоками, и данный блок используется 1 раз.
Хотелось что-бы команда взрывала такие блоки, естественно с сохранением значений атрибутов.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 18.07.2017, 22:14
#403
VVA

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


zenon, В принципе не вижу проблем. Вопрос что считать вставкой блока:
1. вставка блока 1 раз в текущее пространство (например модель), при этом блок может быть вставлен в пространство листа
2. вообще во всем чертеже существует только одно вхождение блока
3. считать ли вставкой вхождение блока в состав другого блока?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.07.2017, 10:21
#404
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


1. вставка блока 1 раз в текущее пространство (например модель), при этом блок может быть вставлен в пространство листа - возможно сделать только для текущего пространства?
2. вообще во всем чертеже существует только одно вхождение блока - именно так.
3. считать ли вставкой вхождение блока в состав другого блока? - нет, только первый уровень.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 19.07.2017, 11:11
#405
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 433


Цитата:
Сообщение от zenon Посмотреть сообщение
1. вставка блока 1 раз в текущее пространство (например модель), при этом блок может быть вставлен в пространство листа - возможно сделать только для текущего пространства?
2. вообще во всем чертеже существует только одно вхождение блока - именно так.
Мне кажется, или эти пункты конфликтуют между собой?
RNB вне форума  
 
Непрочитано 19.07.2017, 11:56
#406
Кулик Алексей aka kpblc
Moderator

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


С чего бы им конфликтовать? Ты находишься в листе, а единственное вхождение блока - в модели.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.07.2017, 12:24
#407
VVA

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


Переформулирую вопрос. Возможное вхождение с состав другого блока не анализируем. Анализ есть ли блок, имеющий одно вхождение в другом пространстве исключаем. Если он имеет одно входение в другом пространстве, то его нет в текущем. Нефиг тогда здесь вызывать команду
Остается такое определение
1. Блок вставлен 1 раз в текущее пространсво (например модель). При этом возможные вставки блока в другое пространство (например листа/листов) и возможное вхождение блока в состав другого блока не анализируются
Так?
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 19.07.2017 в 16:36.
VVA вне форума  
 
Непрочитано 19.07.2017, 12:45
#408
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


Цитата:
Сообщение от VVA Посмотреть сообщение
1. Блок вставлен 1 раз в текущее пространсво (например модель). При этом возможные вставки блока в другое пространство (например листа/листов) и возможное вхождение блока в состав другого блока не анализируются
- именно
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 20.07.2017, 14:26
#409
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 433


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
С чего бы им конфликтовать? Ты находишься в листе, а единственное вхождение блока - в модели.
Как это в чем? Во первом пункте zenon просит сделать проверку только для текущего пространства, а во втором, чтобы во ВСЁМ чертеже был только один блок.

Последний раз редактировалось RNB, 20.07.2017 в 14:35.
RNB вне форума  
 
Непрочитано 20.07.2017, 14:37
#410
Кулик Алексей aka kpblc
Moderator

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


Эммм... Как бы тебе объяснить? А, во, придумал!
1. В квартире (может быть) есть паук
2. Его надо убить
3. Проверить только кухню.
4. Если паук на кухне не обнаружен, выйти из квартиры.
Так более наглядно?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.07.2017, 17:25
#411
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 433


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Эммм... Как бы тебе объяснить? А, во, придумал!
1. В квартире (может быть) есть паук
2. Его надо убить
3. Проверить только кухню.
4. Если паук на кухне не обнаружен, выйти из квартиры.
Так более наглядно?
Если в пауках удобнее, то в первом пункте zenon попросил описанное тобой.
А во втором просит проверить всю квартиру на наличие паука.
Цитата:
Сообщение от zenon Посмотреть сообщение
2. вообще во всем чертеже существует только одно вхождение блока - именно так.
Причем, оба условия, согласно тому посту, должны были выполниться одновременно.
Наглядно?

То о чём договорились дальше здесь в расчет не берется, ибо про конфликт я писал до этого.
RNB вне форума  
 
Автор темы   Непрочитано 20.07.2017, 18:19
#412
VVA

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


Offtop: Для dwg.ru есть новая фишка - объясняться в пауках.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.09.2017, 17:32
#413
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 644
<phrase 1= Отправить сообщение для baaba с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
M2B - Преобразовать MINSERT (МН-БЛОК) в блок
У меня почему всё равно получается анонимный блок (unnamed block), вот такой например: *U232
У меня массив блоков, а нужно взорвать, что бы были единичные вхождения блока, но с тем же именем. Файл прилагаю.
Вложения
Тип файла: zip пример_minsert.zip (91.8 Кб, 34 просмотров)

Последний раз редактировалось baaba, 04.09.2017 в 17:35. Причина: дополнил, приложил пример
baaba вне форума  
 
Автор темы   Непрочитано 06.09.2017, 22:31
#414
VVA

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


Цитата:
Сообщение от baaba Посмотреть сообщение
У меня почему всё равно получается анонимный блок (unnamed block)
Код команд M2U и M2B одинаков. Наверное, когда-то невнимательно внес (или забыл внести) изменения. Внес исправления
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.11.2017, 13:04
#415
dadatamada


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


Добрый день, уважаемые спецы.
Возник вопрос с приложенным файлом. Заказчик выполняет чертёж в связке АвтоКАД+СПДС+Что-тоЕщё. Файл формата АвтоКАД2010.
На чертеже имеются блоки которые при взрыве исчезают. Опробованы различные варианты и с bgtools и ExplodeM. Если применить BGBLEXP - все найденные блоки исчезают. Другие различные варианты и комбинации также не дали результатов.

Требуется взорвать блоки, но так чтобы всё осталось на плане.
Прошу помощи уважаемые.
Вложения
Тип файла: dwg
DWG 2010
Склад2 (3).dwg (208.8 Кб, 29 просмотров)
dadatamada вне форума  
 
Непрочитано 10.11.2017, 13:05
#416
Кулик Алексей aka kpblc
Moderator

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


М.б., ExpodeAllProxy?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.11.2017, 13:19
#417
dadatamada


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
М.б., ExpodeAllProxy?
Благодарю от души. Помогло EXPLODEALLPROXY.
dadatamada вне форума  
 
Непрочитано 22.12.2017, 15:10
#418
ServantosS


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


Здравствуйте!
Благодарю автора(ов) за отличную программу!
Есть предложение(пожелание) по развитию этой программы. Было бы замечательно, если можно было бы делать статическими не только динамические блоки 1 уровня, но и вложенные, даже при многократном вложении.
Готовлю файлы для передачи смежникам и заказчику, не хочу, чтобы динамические блоки (свои наработки для быстрого редактирования) оставались в чертежах. Просто взрывать все блоки не подходит, т.к. использую в блоках маску для наложения поверх других элементов в модели. Когда такой блок (серия блоков), расположенные в строгой последовательности один над другим взрываются, маска уползает куда-то не туда и ненужные элементы вылазят на передний план. DXF не подходит, т.к. нужен редактируемый файл именно в ДВГ.
ServantosS вне форума  
 
Непрочитано 27.12.2017, 01:13
#419
quazi


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


Цитата:
Сообщение от ServantosS Посмотреть сообщение
не только динамические блоки 1 уровня, но и вложенные, даже при многократном вложении.
А что вы делаете с динамическим блоком внутри другого динамического блока? Им что можно управлять как-то?

----- добавлено через ~3 мин. -----
Такой вопрос: можно ли как-то подавить окно диалога подтверждения, который есть в некоторых командах, например в BGCFT?
Пока в код не лез, но там же по идее просто один блок удалить, или можно проще?
Пробую использовать команды в составе макросов.
quazi вне форума  
 
Непрочитано 27.12.2017, 08:36
#420
ServantosS


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


Цитата:
Сообщение от quazi Посмотреть сообщение
А что вы делаете с динамическим блоком внутри другого динамического блока?
Внутри динамических блоков другие динамические блоки могут оказываться случайно, когда делаешь какой-то блок для быстрой подгонки по месту. Но это, скорее, исключение. Мой вопрос о том, как динамические блоки, оказавшиеся внутри статических (а вот такое часто бывает) превратить в статические не заходя в блоки 1 уровня за одну команду. Еще случай, когда динамический блок оказывается внутри массива.

Цитата:
Сообщение от quazi Посмотреть сообщение
Им что можно управлять как-то?
мне такое не известно.

Последний раз редактировалось ServantosS, 27.12.2017 в 08:43.
ServantosS вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) Red Nova LISP 4555 24.03.2024 13:44
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
LISP на команду 3dcorbit Малюк LISP 2 30.09.2009 14:18
Запуск Lisp команды в новом документе BlackHarp LISP 1 26.03.2009 23:06
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19