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

Вернуться   Форум 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 Кб, 6480 просмотров)
Тип файла: zip bgtools3.13b.zip (57.3 Кб, 205 просмотров)

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

Последний раз редактировалось VVA, 29.01.2024 в 16:36. Причина: См историю изменений
Просмотров: 411481
 
Непрочитано 29.07.2018, 21:11
#461
Кулик Алексей aka kpblc
Moderator

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


Я код уже не помню, а просматривать его лениво. Вот что нашел в собственных архивах: http://autolisp.ru/2014/03/04/accoreconsole-lisp-debug/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.08.2018, 11:09
#462
VVA

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


Цитата:
Сообщение от sychp84 Посмотреть сообщение
А в accoreconsole bgtools работает?
Цитата отсюда
Цитата:
I am under the impression that Core Console doesn't work with vla -functions. Those are built on ActiveX, which is Windows-specific functionality.
----- добавлено через ~5 ч. -----
Цитата:
Сообщение от baaba Посмотреть сообщение
После применения M2B то что было раньше массивом приобретает свойства текущего слоя а ожидается что они останутся в своих слоях. Попробуй пожалуйста.
.... Было бы хорошо что бы разбивка происходила в любой UCS с сохранением конфигурации. Это второе пожелание
Сделал Тестируй
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.08.2018, 09:15
#463
sychp84


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


Offtop: Спасибо!буду пробовать на net.
sychp84 вне форума  
 
Непрочитано 14.09.2018, 12:20
#464
ArchPavel

кончающий инженер-гидротехник
 
Регистрация: 17.12.2012
Сообщений: 67


Вчера решил попробовать применить команду BGCFT на своих файлах с обилием полей в таблицах.
Часть файлов откаталась просто на загляденье, а часть не хочет - сразу после вызова команды и нажатия ОК в предупреждающем окне "мы все умрем" (спасибо разработчику за заботу, реально полезно) Акад пишет в строке:
"Converting Field in Automation Error. Description was not provided.Automation Error. Invalid layer" и возвращается в исходное "Command:"
Попробовал версии скрипта 3,3 и 3,7 - одинаково.
Автокад "обычный", 2014х64 со всеми сервиспаками. Файлы сохранены всегда в версии 2010.

Заблокированных слоев в файле нет, замороженных тоже. Есть блоки с запретом на взрыв, но они есть и в тех файлах, что нормально подвеглись насилию.
Подскажите, в чем может быть подвох?

----- добавлено через ~5 ч. -----
Добавлю, еще потыркался - после противного английского сообщения и возврата к строке "Command:" нажимаю правую кнопку мыши (повтор последней команды) и высвечивается EXECUTETOOL. Автокад чего-то ждет, еще одно нажатие правой кнопкой мыши повторяет BGCFT
ArchPavel вне форума  
 
Автор темы   Непрочитано 14.09.2018, 22:12
#465
VVA

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


ArchPavel,файлик с примером приложи. Я уже с сегодняшнего дня в отпуске, поэтому смогу попытаться посмотреть в чем дело или в субботу 15 сентября, или уже после 29.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 16.09.2018, 10:16
#466
ArchPavel

кончающий инженер-гидротехник
 
Регистрация: 17.12.2012
Сообщений: 67


Дико извиняюсь за задержку.
Попытался вычленить часть чертежа для "показать", и на нем скрипт выдал совсем новое:
Command: BGCFT
Converting Field in bad argument type: (or stringp symbolp): nilAutomation
Error. Invalid layer
Файл с этой "ошибкой" во вложении

----- добавлено через ~1 ч. -----

Однако, удаление этих двух полей из чертежа не снимает проблемы, приведенной в файле 123_spb_2.dwg - автокад после предупреждения "мы все умрем" успевает обработать существенную часть полей на чертежах, но затем, выдав ошибку, перестает обрабатывать. Необработанными остаются поля как раз с того плана, что я выложил ранее.

Данная ошибка не поддается устранению и файл выходит частично переработанный, частично нет, то есть совсем не айс.
Вложения
Тип файла: dwg
DWG 2010
123_spb_2.dwg (321.5 Кб, 25 просмотров)

Последний раз редактировалось ArchPavel, 21.09.2018 в 14:03. Причина: Проблема сохранилась
ArchPavel вне форума  
 
Непрочитано 16.09.2018, 11:31
#467
ArchPavel

кончающий инженер-гидротехник
 
Регистрация: 17.12.2012
Сообщений: 67


Людоед пойман, в том смысле, что купированы поля, дающие Converting Field in Automation Error. Description was not provided.Automation Error. Invalid layer.
Они изначально не привязаны к полилиниям (суть этих полей в чертеже - брать площадь полилинии), т.е. решетку отображают изначально (использовались как шаблон). Однако на другие решетки в чертежах скрипт везде реагировал благосколонно, перерабатывая такое поле в решетку в виде текста, а вот на эти два - что то ему мешает.
Надеюсь поможет.
Вложения
Тип файла: dwg
DWG 2010
123_spb_1.dwg (422.1 Кб, 27 просмотров)
ArchPavel вне форума  
 
Непрочитано 01.10.2018, 14:06
#468
allar8


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


Давно пользуюсь этим лиспом. Разработчику респект, но только в качестве разбивки многоуровневых блоков с атрибутами.
Щаз возникла необходимость разбить много разных блоков в которых запрет на разбивку стоит.
UХ вроде частично справился с этой задачей, правда не очень корректно (почему то некоторые блоки перевернул) да и к сожалению каждый блок нужно выбирать отдельно, что по сути равносильно тому что зайти в блок и включить разбивку. Может подскажете как быстро разбить разом кучу разных неразбиваемых блоков?
allar8 вне форума  
 
Непрочитано 09.10.2018, 12:46
#469
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


allar8, U2BM ? А потом эти блоки расчленить командой AutoCAD
Хмурый вне форума  
 
Автор темы   Непрочитано 13.10.2018, 10:35
#470
VVA

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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Щаз возникла необходимость разбить много разных блоков в которых запрет на разбивку стоит.
Попробуй командой BGBLFIX снять запрет на блокировку, а дальше любым способом
ArchPavel, Пропустил твой пост. Посмотрю в ближайшее время
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.10.2018, 06:06
#471
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Тоже вычленил людоеда. Команда BGCFT в этом файле выдает ошибку.
Цитата:
Converting Field in Automation Error. Description was not provided.Automation Error. Invalid layer
Причем в файле нет полей, проблема только в одном динамическом блоке. Т.е. в файле с множеством полей и этим блоком, команда прерывается, не доделав работу. Что с ним не так?
Вложения
Тип файла: dwg
DWG 2013
Ошибка_BGCFT.dwg (37.0 Кб, 31 просмотров)
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 24.10.2018, 11:08
#472
frostmourn


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


Некорректные Мтексты в блоке. Через CtrlA выбираются.
frostmourn вне форума  
 
Непрочитано 30.10.2018, 17:07
#473
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 893


bgblfix 3.7
Меняет тип линии, цвет и вес некоторых объектов, несмотря на установленные галочки "не менять". Пример до и после во вложении.
Autocad 2015 SP 2
Миниатюры
Нажмите на изображение для увеличения
Название: bgblfix.PNG
Просмотров: 63
Размер:	17.0 Кб
ID:	207547  
Вложения
Тип файла: dwg
DWG 2013
тест bgblfix.dwg (77.1 Кб, 25 просмотров)
kacugu вне форума  
 
Непрочитано 15.11.2018, 12:36
#474
Stik


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


При расчленении блока появляется куча надписей,которые можно удалить только вручную. Может есть другие способы?
Вложения
Тип файла: dwg
DWG 2007
АР-11. Разрез 1-1.dwg (760.8 Кб, 27 просмотров)
Stik вне форума  
 
Автор темы   Непрочитано 17.11.2018, 14:12
3 | #475
VVA

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


Цитата:
Сообщение от ArchPavel Посмотреть сообщение
Людоед пойман,
Цитата:
Сообщение от VVA Посмотреть сообщение
ArchPavel, Пропустил твой пост. Посмотрю в ближайшее время
Цитата:
Сообщение от Krieger Посмотреть сообщение
Тоже вычленил людоеда. Команда BGCFT в этом файле выдает ошибку.
Извиняюсь за задержку, был занят. Вроде пофиксил. Пробуйте версию 3.8

kacugu, #473 - убери галку с чек-бокса "Слой на 0"
Stik, #474 Блок создан скорее всего программно с большим количеством атрибутов с пустым значением, который затем преобразован в МН-Блок с количеством столбцов и строк = 1
Выполни команды
M2B - преобразование МН блок в неименованный блок
U2B - преобразовать в именованный
BGBLEXP - расчленить блок
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2018, 16:39
#476
Stik


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


Цитата:
Сообщение от VVA Посмотреть сообщение
M2B - преобразование МН блок в неименованный блок
U2B - преобразовать в именованный
BGBLEXP - расчленить блок
Отлично! Все получилось
Stik вне форума  
 
Непрочитано 17.11.2018, 20:19
#477
ArchPavel

кончающий инженер-гидротехник
 
Регистрация: 17.12.2012
Сообщений: 67


Спасибо за поиск решения проблемы.
К сожалению, проблема "незавершенного конвертирования" (из 123_spb_2.dwg) сохранилась. В моем файле часть полей преобразовывается, затем Command: BGCFT >
Converting Field in bad argument type: (or stringp symbolp): nilAutomation Error. Invalid layer и стоп. Остальная часть остается не конвертирована.
Проблема двух полей (желтое и красное из 123_spb_1.dwg) решена, скрипт съедает их теперь без заминки. Но я считал их лишь препятствием на пути к решению основной проблемы в 123_spb_2.dwg...
Проверено на AutoCAD 2014x64 и AutoCAD 2018x64

----- добавлено через ~2 мин. -----
Может ли быть такое ,что мешает какой-либо предзагруженный скрипт? Например LayerDIrector или DimLay...
ArchPavel вне форума  
 
Автор темы   Непрочитано 17.11.2018, 21:58
1 | #478
VVA

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


ArchPavel, Недосмотрел, обновил до 3.8.1. Тестируй
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.11.2018, 22:27
#479
ArchPavel

кончающий инженер-гидротехник
 
Регистрация: 17.12.2012
Сообщений: 67


Вроде бы еще не Новый год...но волшебство свершилось!!! Спасибо огромное! У меня закончились проблемные файлы ))
ArchPavel вне форума  
 
Непрочитано 19.11.2018, 16:23
#480
posetitel


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


есть команда BGBLXCLIPEXP, которая взрывает подрезанный блок, а можно добавить команду, которая взрывает все подрезанные блоки?
(чтобы каждый раз не выделять их и не запускать BGBLXCLIPEXP)
posetitel вне форума  
Ответ
Вернуться   Форум 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