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

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

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

Ответ
Поиск в этой теме
Непрочитано 13.04.2011, 20:25 24 | #1
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 Кб, 6416 просмотров)
Тип файла: zip bgtools3.13b.zip (57.3 Кб, 171 просмотров)

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

Последний раз редактировалось VVA, 29.01.2024 в 16:36. Причина: См историю изменений
Просмотров: 410671
 
Непрочитано 13.04.2011, 20:49
#2
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Эх дополнить бы еще эту подборку моим MaskSoft, но я не меценат и некогда сейчас выдерать все это из моих кодов, наполнять библиотечными функциями.
мне просто не понятно почему никому в голову не приходила идея сделать выгрузку/загрузку xref по маске описанной в текстовом объекте чертежа. Тогда можно загружать выгружать нужно количество подоснов одним кликом (реально одним). Это еще быстрее чем фильтры слоев, которые работают по маске названия слоя, только там нужно сначала выбрать фильтр, потом Ctrl+A и замораживать а потом проводить обратную процедуру. Конечно и для слоев у меня было, с них все и началось, и есть еще несколько процедур для того чтобы работа с подосновами стала еще более комфортной.
Sleekka вне форума  
 
Автор темы   Непрочитано 13.04.2011, 21:00
#3
VVA

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


Цитата:
Сообщение от Sleekka Посмотреть сообщение
и есть еще несколько процедур для того чтобы работа с подосновами стала еще более комфортной
Хотя бы озвучь что они делают
Цитата:
Сообщение от Sleekka Посмотреть сообщение
мне просто не понятно почему никому в голову не приходила идея сделать выгрузку/загрузку xref по маске описанной в текстовом объекте чертежа
Если найдешь время, то опиши поподробнее. Можно в личку. С подосновами работаем плотно, поэтому может пригодиться по работе
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.04.2011, 21:07
#4
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


"Нормализация блоков" мне не нравится принципиально. Не хочу все блоки файла нормализировать, то есть превращать их составляющие в слой 0 и так далее. Хочу нормализировать определенные блоки, по клику, а все сразу только как опцию. Среди блоков может быть целый кусок с другого чертежа, и ему "нормализация" повредит.
Vova вне форума  
 
Непрочитано 14.04.2011, 10:22
#5
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,985


VVA, спасибо за замечательную подборку программ!

По нормализации блоков согласен с Вовой - надо бы добавить опцию "Выбранные блоки"
Nike вне форума  
 
Непрочитано 27.04.2011, 16:49
#6
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Подписываюсь под словами Вовы и Найка.
Вовочка вне форума  
 
Непрочитано 04.05.2011, 19:50
#7
dextron3

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


VVA, а как кнопка должна выглядеть чтобы в правильном порядке все выполнялось
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 04.05.2011, 19:55
#8
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


dextron3, авторы описывали порядок следования команд. И как по мне, каждый случай индивидуальный.

Цитата:
Сообщение от dextron3 Посмотреть сообщение
в правильном порядке

Цитата:
Сообщение от VVA Посмотреть сообщение
Желательно ознакомиться с указанной темой или как минимум с описанием
Вовочка вне форума  
 
Непрочитано 05.05.2011, 06:39
#9
dextron3

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


VVA, Не могу найти команду которая разделяет по слоям в зависимости от цвета и толщины линий?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 05.05.2011, 12:16
#10
VVA

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


нет такой команды
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.05.2011, 14:54
#11
dextron3

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


VVA, а планируется?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 05.05.2011, 15:01
#12
VVA

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


Нет, так как пока не понятны
Цитата:
Сообщение от dextron3 Посмотреть сообщение
зависимости от цвета и толщины линий
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.05.2011, 16:43
#13
dextron3

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


Задание:
Есть файл где добрый архитектор нарисовал все в нулевом или другом слое, но для красоты рисовал окна синим, двери коричневым, стены белые, мебель бордовый, ну и т.п. суть в том что в одном слое

Алгоритм:

1. Лисп проверяет наличие цветов задействованные в чертеже
2. Создает данное количество слоев с назавнием соотвествующим присвоенному цвету: red, orange, black и т.п.
3. Раскидывает все по слоям

если красным цветом нарисваны линии разной толщины то создаются слои: red020, red015 и т.п.

но, перед ним уже должен сработать другой лисп который производит туже операцию только: размеры в размерный слой, штриховки в штриховой, он у меня имеется но его не достаточно.


очень бы пригодилось, посоветуйтесь у вас в отделе, была бы нужная вещь для тех кто использует архитектурные чертежи, а именно овешники вкашники электрики
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 06.05.2011, 10:10
#14
VVA

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


А если цвет красный и вес поблоку?
А если цвет красный и вес послою?
А если цвет красный и вес поумолчанию?
А если цвет RGB?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.05.2011, 11:16
#15
dextron3

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


VVA, поясните поподробнее

имелось ввиду red020 слой автоматически красный байлайер
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 06.05.2011, 16:03
#16
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Есть файл где добрый архитектор нарисовал все в нулевом или другом слое, но для красоты рисовал окна синим, двери коричневым, стены белые, мебель бордовый, ну и т.п. суть в том что в одном слое
1. Вряд-ли арх красил "для красоты" Он хотел отделить одно от другого. Просто ему недостает автокадовской грамотности использовать слои. Создать лисп, который-бы вместо него чертил по-классике вряд-ли возможно. Разве что под конкретного арха, пока он не изменил свой стиль черчения. Проще ему подсказать как лучше сделать.
2. А как ты можешь править чужой файл? После этого чья фамилия будет стоять в штампе? А может, он применяет особый стиль печати, учитывающий нюансы с цветом?
В статье про создание подосновы говорится как исправить сделанное архом, но при этом создается новый файл, за который его первоначальный автор уже не несет ответственности.
Vova вне форума  
 
Непрочитано 06.05.2011, 17:10
#17
dextron3

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


Vova, а в чем он будет новый если его просто выправить для смежных разделов
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 06.05.2011, 21:03
#18
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Если файл переделывается по технологии, описанной в статье, то хотя-бы удалением ненужной смежникам информации. Я считаю, если ты прикоснулся к моему файлу, сохранил его (даже ничего не поменяв) то я за него уже не отвечаю. По дате сохранения файла видно, что это не то, что вам передали. Когда мой файл оказывается кем-то сохрaнен после меня, всегда разыскиваю данного товарища и спрашиваю, что он в нем сделал. Как правило, отвечают что случайно нажали на Save. Но я хотя-бы бегло, перепроверяю.
Vova вне форума  
 
Непрочитано 09.05.2011, 15:35
#19
Apex-E

Руководитель
 
Регистрация: 06.07.2010
Россия, Пермь
Сообщений: 12
<phrase 1= Отправить сообщение для Apex-E с помощью Skype™


Спасибо за лисп - пригодился.
Использовал для "взрыва" блоков перед выдачей электронной версии результата работы генподрядчику (давно задумывался как не выдавать свою автоматизацию и при том, сохранить возможность подкорректировать штампы и т. п.).
Только вот, блоки созданные в СПДС 6.1.859 (ACAD 2010) не обрабатываются. Их так-то нормально взрывают штатные комманды.

Последний раз редактировалось Apex-E, 09.05.2011 в 15:46.
Apex-E вне форума  
 
Непрочитано 09.05.2011, 16:11
#20
Кулик Алексей aka kpblc
Moderator

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


СПДС GraphiCS оперирует собственными объектами, и обрабатывать их надо командами СПДС GraphiCS.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

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

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


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