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

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

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

Последний раз редактировалось VVA, 29.01.2024 в 16:36. Причина: См историю изменений
Просмотров: 411358
 
Непрочитано 13.11.2012, 11:19
#141
zvyagaaa


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


Добрый день. Можете ли добавить функцию типа BGCOLOR - только что-то вроде BGLNEWEITH - чтобы менялись толщины на подоснове на заданные. Например, я делаю в подоснове толщины линий, равные 0. А в совокупности с BGCOLOR=8 вообще получается отлично!
zvyagaaa вне форума  
 
Автор темы   Непрочитано 14.11.2012, 15:49
#142
VVA

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


zvyagaaa, Уже есть штатная команда _setbylayer. Выставь в настройках вес "послою", а слоям задай нужный тебе
>Vombat
Цитата:
не получилось применить опцию Разрешить расчленение как в динамическом так и в статическом блоке
спасибо за дефектацию. Проверю чуть позже. Пока занят
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.11.2012, 11:06
#143
bibleo


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


здраствуйте. В описании написано:
Код:
[Выделить все]
BGBLCC - Изменяет цвет выбранных блоков
однако, то что я выбираю до вызова команды никак не участвует. для того, чтобы изменить цвет в нескольких блоках мне нужно для каждого блока заново запускать команду. это так и должно быть?
С командной строки никак нельзя управлять параметрами команды?
Поясню. Мне нужно на кнопку поставить команду, чтобы она меняла цвет всего текста в блоке, что имеет цвет "по слою" на "по блоку" и вторую кнопку, которая делает обратно. Если в рамках данного набора команд не реализовать, то подскажите, пожалуйста, как это можно сделать.
bibleo вне форума  
 
Непрочитано 28.11.2012, 19:10
#144
Вовочка

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


Можно ли в команду "BGBLDYN2S" добавить функцию именования вновь созданного блока по имени свойства видимости динамического?
Вовочка вне форума  
 
Непрочитано 05.12.2012, 16:49
#145
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128


Здравствуйте! Возможно ли добавление к команде BGCOLOR для изменения цвета только выбранных объектов, не только блоков?
roaa вне форума  
 
Непрочитано 10.12.2012, 16:38
#146
Eddicordo

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


VVA, Здравствуй.
Обнаружил корявость команды
BGCFT - Конвертирует все поля в обычный текст
Если на чертеже присутствует таблица, то при конвертации всех полей в обычный текст в таблицах меняется шрифт (особенно если таблица выполнена в стиле СТАНДАРТ). Есть предложение конвертировать не все поля на чертеже, а методом выделения.
Аналогично команде
BGBLEXP - Взрывает блок и все блоки, входящие в него, превращая видимые атрибуты в текст
Eddicordo вне форума  
 
Непрочитано 18.12.2012, 06:35
#147
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 807


Eddicordo, Из этого набора данной командой не пользовался. Есть отдельно написанная прога, вроде автор тоже VVA. Там все нормально конвертит, и есть возможность выбора: либо конвертить все (CFT) либо по выбору (CFTSEL).
Вложения
Тип файла: lsp Field2text.lsp (5.7 Кб, 114 просмотров)
Astartes вне форума  
 
Непрочитано 04.01.2013, 18:26
#148
Eddicordo

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


Astartes, Возможно Вы и правы, что данное вложение работает корректно. Идея не в этом. Идея первоначальная см. первый пост "LISP. Подготовка подосновы".
Тоесть все изменения Господин VVA вносит в один лисп.
Но спасибо за смышленость )
Eddicordo вне форума  
 
Непрочитано 01.02.2013, 15:30 BGBLXCLIPEXP
#149
makeme


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


VVA, доброго времени суток!

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

Очень хотелось бы развития команды BGBLXCLIPEXP.

На данный момент команда работает корректно, но только в том случае если взрываемый блок не лежит "над" или "под" другими объектами,
если говорить точно, то всё что попадает на линию контура обрезки блока тоже обрезается.

Попробуйте взорвать командой BGBLXCLIPEXP блок
в приложенном файле и посмотрите что станет с полилинией пересекающей блок.

Короче, на данный момент команда на практике полезна только если отодвигать подрезанные блоки "в сторонку" там взрывать и возвращать результат обратно.
Иначе, блоки режут всё что попадает на их контур и получается неправда.

Можно ли это как-то исправить?
Вложения
Тип файла: dwg
DWG 2010
BGBLXCLIPEXP_Test01.dwg (263.1 Кб, 5184 просмотров)
makeme вне форума  
 
Непрочитано 08.04.2013, 16:20
#150
Диммм

Инженер
 
Регистрация: 13.03.2013
Сообщений: 28


Помогите,не работают команды BGRB и BGCB, пишет не верный тип аргумента
Диммм вне форума  
 
Непрочитано 08.04.2013, 16:54
#151
Nike

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


Цитата:
Сообщение от Диммм Посмотреть сообщение
не работают команды BGRB и BGCB, пишет не верный тип аргумента
А у меня:
Цитата:
Команда: BGCB
** Error: слишком много аргументов **
Команда:
Команда: BGRB
** Error: слишком много аргументов **
Nike вне форума  
 
Автор темы   Непрочитано 08.04.2013, 23:22
#152
VVA

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


Проверю, но уже завтра
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 10.04.2013, 19:01
#153
VVA

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


Цитата:
Сообщение от Диммм Посмотреть сообщение
Помогите,не работают команды BGRB и BGCB, пишет не верный тип аргумента
Цитата:
Сообщение от makeme Посмотреть сообщение
Короче, на данный момент команда на практике полезна только если отодвигать подрезанные блоки "в сторонку" там взрывать и возвращать результат обратно.
Иначе, блоки режут всё что попадает на их контур и получается неправда.

Можно ли это как-то исправить?
Тестируйте. Выложил версию 2.23
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 11.04.2013, 17:00 Help>
#154
glyuck1


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


Странный день.... Проблема с блоком (или блоками). Ради интереса скачивал файлы с форума (пробовал "взрывать" чужие) и все получалось. Значит дело все таки в кривом подходе с моей стороны.... Подскажите пожалуйста, направления... Попробуйте взорвать. Исходник мне этот не обязателен. Просто у меня куча проектов в таком формате.
Вложения
Тип файла: dwg
DWG 2010
Nuzna_pomosh.dwg (202.4 Кб, 4737 просмотров)
glyuck1 вне форума  
 
Непрочитано 12.04.2013, 10:23 безымянный блок
#155
-MonaX-


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


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

"no function definition: VLAX-GET-ACAD-OBJECT; error: An error has occurred
inside the *error* functionno function definition: VLA-ENDUNDOMARK"

не очень понимаю, что он от меня хочет.

если не сложно, разбейте пожалуйста файлик.

Заранее благодарен.
Вложения
Тип файла: dwg
DWG 2007
Help.dwg (733.3 Кб, 4688 просмотров)
-MonaX- вне форума  
 
Непрочитано 26.04.2013, 12:04
#156
AntonFox

КИП, проектировщик
 
Регистрация: 02.04.2012
Самара
Сообщений: 54


Доброго времени суток, уважаемый ALL!
Лисп не знаю, сам иногда пишу на ВБА мелкие проги. Уж не знаю поможет или нет мое сообщение, может кого на мысль наведет интересную или еще что.
Работаю и с генпланом и с монтажными чертежами (я КИПовец). Народ у нас по большей части "дикий" и про слои не знает, посему не редкость примитив красного цвета на слое "БЕЛОЕ" и т.п. Генплан вообще имеет порой десятки слоев и цвет примитивов может быть задан и по слою, и по блоку, и напрямую указан.
Как правило мне надо всю подложку засунуть в один слой, покрасить в цвет 252 (254) и дальше уже чертить свое. Стиль печати у нас цветозависимый (зеленый - толстый, красный - средний, белый/черный и синий - тонкие, 252 и 254 - бледная подложка)
Я написал программку на ВБА:
- для всех примитивов, если цвет красный, белый, зеленый, синий, серый - на соответствующие слои.
- цвет "по блоку" для примитивов вне блоков считать как белый
- в каждом блоке провести подобную перестановку не разбивая блок, цвет выставить "по блоку" или "по слою" (по умолчанию - "по блоку" стоит)
- все что не попало под эти правила - желтым и на отдельный слой.

В итоге чаще всего получаю серую подложку с несколькими желтыми не проработанными примитивами - можно работать )))
Иногда до запуска программы выделяю все и делаю вручную серым, удаляю размеры и лишние линии (выноски и т.п.)
AntonFox вне форума  
 
Автор темы   Непрочитано 26.04.2013, 22:56
#157
VVA

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


glyuck1, Посмотри внимательно на имена блоков. Перед первым вызовом он имее имя *U47, после второго *U46, после 3 *U45. То есть похоже твой блок 47 раз сделали анонимным. Надеюсь направление куда копать понял?

*Добавлено* Я помнил, что "где-то я эту булочку видел". Нашел. Почитай посты #137 и #138 и еще здесь. Там есть пример вызова UX 50 раз подряд

-MonaX-,

Хочет он этого
Я еще раз проверил код версии 2.23 (vl-load-com) там есть. Не поленись, пожалуйста, скачать последнюю версию.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 10.06.2013 в 22:55.
VVA вне форума  
 
Непрочитано 27.04.2013, 14:53
#158
crosandr

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


Небольшой вопрос. Хочется, чтобы в диалоговом окне команды BGBLFIX поо умолчанию была снята галочка "Неименованные" и так же по умолчанию были включены галочки "Игнорировать заблокированные слои", "Установить одинаковые масштабы" и "Разрешить расчленение". Какие строчки кода нужно подправить?
crosandr вне форума  
 
Автор темы   Непрочитано 29.04.2013, 16:10
1 | #159
VVA

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


crosandr,
найди в коде строчку
Код:
[Выделить все]
(setq what nil opt 3657)
замени число 3657 на 30281
Код:
[Выделить все]
(setq what nil opt 30281)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 30.04.2013, 20:35
#160
VVA

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


Обновил до версии 2.24 Учел в UX "хитрости" типа многократно вложенного анонимного блока. Пример смотреть в #154 и по ссылкам в #157. В #154 есть еще одна хитрость. В него добавлена маскировка по габаритам всего блока. Долго искал ошибку в UX, пока не додумался включить контуры wipeout'a. Добавил в UX изменение порядка прорисовка для wipeout'ов "на задний план" после расчленения блока
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум 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