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

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

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

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

Набор команд, опубликованных в теме Подоснова
Желательно ознакомиться с указанной темой или как минимум с описанием
Описание команд
Код:
[Выделить все]
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 - Задает выбранный цвет всем объектам
BGCOLORXREF - Меняет цвет выбранных внешних сылок (только в текушем сеансе)
BGCOLBL - Установка "послою" цвета примитивов подосновы. Если цвет задан явно- создается новый слой !Новое с версии 3.0
BGResetXRef -Сброс настроек слоев выбранных внешних ссылок на установленные в исходном файле
BGBLCC - Изменяет цвет выбранных блоков
BGENCC - Изменяет цвет выбранного элемента блока
BGCATT - Изменяет цвет атрибутов выбранных блоков
BGCBL2 - Изменяет цвет в блоках 2 и более уровня (вложенных блоках)
BGBLFIX - Нормализация блоков (цвет, слой, взрываемость и т.п.)
BGCFT   - Конвертирует все поля в обычный текст
BGCFTSEL - конвертирование полей в обычный текст в выбранных примитивах
BGHATCHDEL - Удаление штриховки
Текущая версия 3.9
Отличие версий 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

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

Вложения
Тип файла: zip bgtools 3.3.zip (53.6 Кб, 1517 просмотров)
Тип файла: zip bgtools 3.9.zip (55.5 Кб, 390 просмотров)

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

Последний раз редактировалось VVA, 30.05.2019 в 17:11. Причина: См #513-#514
Просмотров: 236453
 
Автор темы   Непрочитано 09.05.2011, 17:50
#21
VVA

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


В геониксе есть команда для преобразования объектов геоникса в объекты Автокада. Думаю в СПДС должно быть что-то подобное
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.05.2011, 18:09
#22
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,117
<phrase 1=


Тут в одной теме Vova порекомендовал мне внести свои предложения/пожелания по данной теме. Я попробую.

Я сразу скажу, что саму программу не тестировал, но описание смотрел.

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

0. Я ни разу не сталкивался с проблемой нахождения объектов подосновы на листе, хотя chspace из ET никто не отменял.

1. Вручную. Открываем все слои (unlock) и той части чертежа, которая нас интесует, и морозим все выключенные слои.

2. Вручную команда wblock - это позволит сразу создать файл подложки, очищенный от всех ненужных нам неграфических объектов, и объектов на замороженных слоях, а за одно задать точку вставки.

3. Вручную.Удаляем те объекты на чертеже, которые нам не нужны - тут поле для творчества, ибо требования к подложкам разные, разные варианты создания архитектуры и т.д. Как правило, удаляются размеры, кроме осевых, удаляются пояснительные надписи на чертеже.

4. Программно. Из чертежа удаляются пустые тексты, переименовываются слои, содержащие русские буквы, файл пуржится и аудитится.

после загрузки этого http://dwg.ru/dnl/9487
код: (apel-com '(APEL-FILE-DWG_PURGE))

4. Программно.Чертеж обесцвечивается, т.е. всем объектам присваивается цвет byblock - это позволяет впоследствии задать подложке тот цвет, который необходимо, и это очень удобно, например, если надо сравнить две подложки одного этажа, выполненные в разное время. Производится это действо специальной программкой которая обрабатыват все объекты , в т.ч. внутри блоков, атрибуты, мультитексты, составные части размеров и т.д

после загрузки этого http://dwg.ru/dnl/9487
код: (apel-com '(APEL-MOD-SELSET_COLOR 0))

5. Созданные файлы обязательно в своем имени содержат дату создания, это необходимо для разбора полетов, если вдруг случилось так, что кем-то была использована устаревшая подложка.

Это то как это есть у меня сейчас. не идеал, но меня это вполне устраивает, времени отнимает не много, срабатывает на большей части чертежей.

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

Предложения по программе представленой тут, и проблемы с которыми сталкиваюсь в своей методике я, возможно какие-то вопросы уже решены в программах, прошу извинить:
1. Нужна все-же одна команда а не несколько.
2. Не нужно разбивать блоки, это теоретически невозможно сделать с любыми блоками корректно, а значит станет источником проблем.
3. Есть проблема с прокси-объектами, попадающимися в чертеже, это отдельная тема, часть из них можно разбить, но не всегда.
4. Иногда в файлах попадаются wipeouts - это проблема.
5. Частенько объекты в исходнике располагаются в 3d, и это часто не удобно.
6. Типы линий, используемые архитекторами, часто созданы некорректно, либо неверно задан их масштаб, это часто бывает проблемой.
7. Огромное количество объектов,многократное наслоение, излишняя детализация, это часто очень проблематично исправить.
8. Области очень частой штриховки либо заливка - можно решить программным удалением, но часто необходимы контуры, значит нужно обрабатывать такие области. Это же касается толстых полилиний.
9. Мультилинии - теоретически невозможно обрабатывать, только разбивать.
10. Шрифты, не найденные, слишком тяжелые, или слишком выделяющиеся - не всегда нормальный результат при простой замене, нужно смотреть вручную.
__________________
apel.fas
Apelsinov вне форума  
 
Непрочитано 12.05.2011, 09:41
#23
Вовочка

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


VVA, а предварительный выбор для нормализации блоков будете делать? Спасибо
Вовочка вне форума  
 
Автор темы   Непрочитано 12.05.2011, 09:56
1 | #24
VVA

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


Буду, и наверное сделаю диалог для выбора опций, но позднее
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.05.2011, 03:35
#25
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 179


А есть к функциям bgtools готовые иконки для кнопок?
Krovlaf вне форума  
 
Автор темы   Непрочитано 13.05.2011, 09:49
#26
VVA

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


пока нет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.05.2011, 15:54
#27
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 179


Можно конкурс объявить на создание лучшего тулбара...
Krovlaf вне форума  
 
Непрочитано 23.05.2011, 21:16
#28
Oliver_88

"ценный кадр"
 
Регистрация: 02.12.2010
Сообщений: 115
<phrase 1=


Скачал ради интереса попробовать. Теперь по мере надобности буду пользоваться. BGBLEXP хорошо работает. А BGCOLOR меняет цвет только части объектов и выдает ошибку:no function definition: LIB:MASSOC.
Oliver_88 вне форума  
 
Автор темы   Непрочитано 24.05.2011, 10:08
#29
VVA

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


Oliver_88, Спасибо за дефектацию. Исправил #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.05.2011, 19:29
#30
dextron3

Фотограф
 
Регистрация: 01.01.2007
Алматы
Сообщений: 5,042


VVA, а будет удобный тулбар?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 на форуме  
 
Непрочитано 01.06.2011, 16:47
#31
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 99
<phrase 1=


VVA, При взрыве
Команда: BGBLEXP
Взрываю дин блок на котором имеется маскировка, поверх маскировки наложеный атрибут с текстом.
При разбивке маскировка накладывается поверх текста. Должно быть наобород. Текст, под текстом маскировка.
Есть решение. Все что записанно в атрибутах заного прописывается поверх маскировки. Как то так.
А в общем прога по взрыву отличная
Eddicordo вне форума  
 
Автор темы   Непрочитано 01.06.2011, 18:22
#32
VVA

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


Файлик к студию
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.06.2011, 14:35
#33
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 99
<phrase 1=


VVA,
Звиняйте что долго не отвечал.
Вот блок
Вложения
Тип файла: dwg
DWG 2004
Чертеж3.dwg (47.7 Кб, 5488 просмотров)
Eddicordo вне форума  
 
Автор темы   Непрочитано 03.06.2011, 09:29
#34
VVA

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


Eddicordo, Если взорвать блок просто explode, то атрибут также уйдет вниз. Поэтому в bgblexp варианта выхода не вижу. Могу предложить это Send to back все заливки во всех блоках Наверное включу в этот сборник
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.06.2011, 15:03
#35
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 99
<phrase 1=


VVA,
Вот я и говорю что есть вариант выполнения взрыва уважаемым Frigate учасника форума. Он реализовал взрыв таким образом.
1) Сначала взрывает сам блок.
2) Запоминает всю запись в атрибутах.
3) Программо вставляет на места атрибутов text на передний план.

Цитата:
Сообщение от VVA Посмотреть сообщение
Могу предложить это Send to back все заливки во всех блоках Наверное включу в этот сборник
Хотя может твой вариант будет более корректный.
Ждем обновления сборника
Eddicordo вне форума  
 
Непрочитано 09.06.2011, 15:20
#36
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Не ожидал, что вот это:
Код:
[Выделить все]
BGBLFIX - Нормализация блоков
будет размеры тоже обрабатывать.
Причем, после обработки они изменили цвет, но если их пошевелить - снова возвращали себе исходный.
Лог:
Код:
[Выделить все]
Command: BGBLFIX
 
Нормализовать в блоке [Типлиний/Веслиний/Цвет/ВСЕ] <ВСЕ> :
 
Содержимое блока изменить на [поСлою/поБлоку] <поБлоку>:
 
Изменить слой примитивов на 0? [Yes/No] <No>:
Regenerating model.
 
Command: _.Redraw
Command:
Изменено 2 блоков
Вложения
Тип файла: dwg
DWG 2004
BG_Dimension.dwg (37.8 Кб, 5474 просмотров)

Последний раз редактировалось Do$, 09.06.2011 в 16:52.
Do$ вне форума  
 
Автор темы   Непрочитано 17.06.2011, 21:12
#37
VVA

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


Цитата:
Сообщение от Eddicordo Посмотреть сообщение
Вот я и говорю что есть вариант выполнения взрыва уважаемым Frigate учасника форума. Он реализовал взрыв таким образо
Пробуй версию 2.10
Do$, Размеры представляют из себя анонимные *DNNN блоки. Поэтому так ипроисходит. После отпуска планирую переписать BGBLFIX, тогда исключу и размеры
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 22.07.2011, 14:33
#38
ASLYS

Delineante
 
Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 397
<phrase 1=


VVA, подборка команд просто незаменимая, огромное спасибо!
часто пользуюсь BGRGB2ACI, сейчас понадобилось наоборот поменять в блоках цвет ACI на RGB (нужно заменить цвет red на 255,0,0)
можете добавить в этот сборник?
ASLYS вне форума  
 
Непрочитано 29.07.2011, 02:00
#39
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 99
<phrase 1=


VVA,
Здравствуй.
Короче обнаружил глюк взрыва дин блока в котором присутствует атрибут.
Если в атрибуте прописано что то типа "метр в кубе" или "в квадрате", то при взрыве вместо символа "м3" (в кубе) пишется квадратик или вопросительный знак.
И это не есть хорошо. Поскольку программа удобна для взрыва всего что есть на чертеже, а как правило без верхнего индекса не обойтись. Либо просматривай что взрываешь и после взрыва проверяй все ли отлично взорвал, и корректируй вручную все верхние индексы
Eddicordo вне форума  
 
Автор темы   Непрочитано 29.07.2011, 11:12
#40
VVA

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


Eddicordo Файлик приложи
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

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

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


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