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

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

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

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

Набор команд, опубликованных в теме Подоснова
Желательно ознакомиться с указанной темой или как минимум с описанием
Описание команд
Код:
[Выделить все]
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.12a
Отличие версий 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 Кб, 3956 просмотров)
Тип файла: zip bgtools 3.12a.zip (56.8 Кб, 25 просмотров)

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

Последний раз редактировалось VVA, 13.05.2022 в 12:53. Причина: См историю изменений
Просмотров: 355497
 
Непрочитано 15.04.2020, 19:18
#581
petro_f

Проектировщик
 
Регистрация: 06.10.2016
СПб
Сообщений: 263
Отправить сообщение для petro_f с помощью Skype™


Цитата:
Сообщение от PsixVK Посмотреть сообщение
Здравствуйте!
есть проблема
в файле похожие блоки с разными именами.
Проблема заключается в том, что шрифт использованный в стилях отсутствует и его негде взять. Тоесть просто поменять шрифт никакого результата не дает.
один блок тот что с площадью, изменяется шрифт только если зайти в него через редактор.
Взрывать блоки самый крайний вариант и не хотелось бы.
Нужно стять форматирование Мтекста внутри блоков.
Может кто то подсказать, как это осуществить?
Попробуйте плагин TSUP и там же StripMtext
Сначала очистить, потом заменить шрифт.. и повторить для контроля ))
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же!
petro_f вне форума  
 
Непрочитано 16.04.2020, 17:19
#582
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 2,963


Цитата:
Сообщение от VVA Посмотреть сообщение
Я пока не скачал 2021 Атокад, как скачаю, проверю.
Оказалось не так все и страшно.
Австралийский товарищ обнаружил, что все-таки работает:
Цитата:
I found that the "Xref colour change" is still working in 2021, despite the error message, but you can only see the result if you simply regenerate the drawing.

I was unable to add that extra Regen command to the .lsp program, but I managed this by using sctipt, which loads bgtools.lsp then starts the "Xref colour change" command and then starts that extra Regen command before exiting script.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 23.04.2020, 17:28
#583
Walkmax


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


ACad MEP 2019
Код:
[Выделить все]
Команда: BGCFT

Converting Field in неверный тип аргумента: lentityp #<VLA-OBJECT IAcadAttributeReference 00000244862d1e68>Ошибка Automation. Неверный слой
Ранее в ACad MEP 2018 выполнялось.
Подскажите пожалуйста как исправить?
Walkmax вне форума  
 
Автор темы   Непрочитано 25.04.2020, 08:40
#584
VVA

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


Walkmax, Попробуй сделать _audit -yes перед вызовом команды. По сообщению это системная ошибка
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.04.2020, 09:32
#585
Кулик Алексей aka kpblc
Moderator

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


Скорее, синхронизировать атрибуты надо.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.04.2020, 12:41
#586
Walkmax


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


Цитата:
Сообщение от VVA Посмотреть сообщение
Walkmax, Попробуй сделать _audit -yes перед вызовом команды. По сообщению это системная ошибка
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Скорее, синхронизировать атрибуты надо.
Код:
[Выделить все]
Команда: _.attsync
Задайте параметр [?/Имя/Выбрать] <Выбрать>: _n
Задайте имя блока для обновления атрибутов во вхождениях [?]: *
Команда АТРОБНОВИТЬ выполнена.
Команда: _AUDIT
Исправить все обнаруженные ошибки? [Да/Нет] <Н>: Д
Проверка заголовка
Проверка таблиц
Проверка объектов, проход 1
Проход 1: проверено объектов: 36400
Проверка объектов, проход 2
Проход 2: проверено объектов: 36400
Проверка блоков
 Проверено блоков: 579
Проверка AcDsRecords
Всего найдено ошибок: 0, исправлено: 0
Стерто 0 объектов
Команда: BGCFT
Converting Field in неверный тип аргумента: lentityp #<VLA-OBJECT IAcadAttributeReference 000001eb9cded628>Ошибка Automation. Неверный слой
тот-же результат
Walkmax вне форума  
 
Непрочитано 05.05.2020, 00:53
#587
skkkk


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


larusik511, многие искали решение этой задачи уже с десяток и более лет. Я пока решений не видел.
1. Восстановление взорванного текста - было предложено что-то провернуть с использованием textedit.arx, но, кажется, человек, посоветовавший это, не так понял задачу. По всей видимости он подумал, что текст разбит на отдельные буквы, каждая из которых все же текст, а не набор линий.
2. Is there any way to "unexplode" exploded text?

В обоих ссылках мелькали мысли использовать распознаватели текста, но ничего конкретного, чтобы превратить "палки" в текст "на месте", прямо в файле dwg, предложено не было. Лично я не представляю пока, как такое можно реализовать. По второй ссылке был предложен вариант c длительными танцами с бубном через tiff, прогнать текст через распознаватель, получить его в целостном виде в Adobe Acrobat, а затем раскопировать по мтекстам в чертеже.
Как-то я даже решил попробовать, не особо надеясь на успех, (а чем черт не шутит?) в последних версиях Автокада провернуть такое: распечатать файл с таким текстом в pdf, затем сконвертировать его обратно в dwg через PDFIMPORT. Результата также не было.
Поэтому, боюсь, только ручной режим. Или попросить отправителя файла прислать нормальный dwg, если он у него, конечно, есть. Может, это - результат конвертирования из какого-то стороннего софта, вроде Corel'а.

Последний раз редактировалось skkkk, 05.05.2020 в 01:02.
skkkk на форуме  
 
Непрочитано 05.05.2020, 06:51
#588
larusik511


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


Вариант с pdf форматом я тоже пробовала, долго и неэффективно. Благодарю за ответ. Не буду больше тратить время на поиски.
larusik511 вне форума  
 
Непрочитано 05.05.2020, 10:40
1 | #589
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,347


В комплекте ABBYY FineReader есть экранная распознавалка, которая распознаёт выбранную экранную область и копирует распознанный текст в буфер. Вполне может подойти для распознавания разбитого текста.
koMon вне форума  
 
Непрочитано 05.05.2020, 16:03
#590
Кулик Алексей aka kpblc
Moderator

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


И какое отношение разбитый текст имеет к обработке подосновы?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.05.2020, 09:52
#591
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,347


Offtop: хз
koMon вне форума  
 
Непрочитано 14.01.2021, 16:29
#592
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,962


Насколько реально сделать принудительное удаление типов линий с примитивами по аналогии с командой BGLAYDEL?
crosandr вне форума  
 
Непрочитано 16.01.2021, 11:33
#593
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,138


Приветствую коллеги не пользовался данной штукой около 7 лет, вопрос такого характера, я поменял степень сжатия в тексте в определенных словах, после работы данной программы они опять расширились, это так и должно быть, или уже убрали, я в свой проект скопировал другой левый проект, и решил его зачистить подформатирвоать, но и мои тексты потеряли степень сжатия, но факт в том что я уже не помню где сжимал, а где нет, коэфициент примерно 0.9, вот только при распечатке увидел, объясните
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 05.04.2021, 22:02
#594
mindchamber


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


Всем привет, имеется топосъемка и я хочу сделать нее прозрачной, но внутри у нее куча блоков. Можно ли установить у всех блоков прозрачность "по блоку?"
mindchamber вне форума  
 
Непрочитано 05.04.2021, 22:08
#595
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,488


Цитата:
Сообщение от mindchamber Посмотреть сообщение
Всем привет, имеется топосъемка и я хочу сделать нее прозрачной, но внутри у нее куча блоков. Можно ли установить у всех блоков прозрачность "по блоку?"
Почему поблоку, а не послою и задать слоям прозрачность?
engngr вне форума  
 
Непрочитано 10.04.2021, 15:23
#596
mindchamber


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Почему поблоку, а не послою и задать слоям прозрачность?
Потому что внутри блоков есть слой 0. А делать его прозрачным я не хочу...
mindchamber вне форума  
 
Непрочитано 11.04.2021, 08:15
#597
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,039
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от mindchamber Посмотреть сообщение
Потому что внутри блоков есть слой 0
Дык ежели блок вставлять не в нулевой слой, то что внутри блока на слое ноль будет на слое куда вставлен блок, соответственно свойства "по слою" будут с этого слоя
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 11.04.2021, 10:19
#598
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,488


Для топо не должно быть объектов в слое ноль. Приведи пример блока, когда действительно нужен 0.
engngr вне форума  
 
Непрочитано 13.04.2021, 14:40
#599
mindchamber


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Для топо не должно быть объектов в слое ноль. Приведи пример блока, когда действительно нужен 0.
Скажите пожалуйста а как с топосъемки убрать все объекты со слоя 0 на другой слой? Допустим у меня на топосъемке куча блоков, которые внутри блоков, которые внутри блоков и внутри этого блока находится полилиния на слое 0 ))) Взрывать блоки не вариант
mindchamber вне форума  
 
Непрочитано 13.04.2021, 23:00
#600
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,039
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от mindchamber Посмотреть сообщение
как с топосъемки убрать все объекты со слоя 0 на другой слой?
Зачем? Этот блок на другой слой и все будет по этому слою
__________________
Мастерская СПДС
doctorraz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) Red Nova LISP 4257 28.04.2022 12:40
{Конкурс} 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