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

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

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

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

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

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

Последний раз редактировалось VVA, 30.05.2019 в 17:11. Причина: См #513-#514
Просмотров: 233361
 
Автор темы   Непрочитано 19.11.2018, 17:42
1 | #481
VVA

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


posetitel, Нельзя. При указании блока точка выбора используется для определения оставляемой области подрезки. Плюс там много операций, использующих команды Автокада, при вызове которых необходимо, чтобы объекты были на экране. Для показа блоков с подрезкой есть команда BGBLXCLIP
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 26.11.2018, 11:26
#482
posetitel


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


скажите, а как в одном лиспе уместить несколько команд, которые будут автоматически выполняться одна за другой?
например, сначала выполняю BGLAYDEL, потом BG1BLEXP и т.д.,
конкретную комбинация включает команды не только работы с подосновой, пока хотел бы понять принцип
posetitel вне форума  
 
Непрочитано 26.11.2018, 12:55
1 | #483
skkkk

AutoCAD_2008->2011
 
Регистрация: 20.03.2008
Московская область
Сообщений: 2,235


posetitel, именно с этими командами у меня сработало следующим образом:
Код:
[Выделить все]
(defun C:ONELISP ( / )
	(C:BGLAYDEL)
	(C:BG1BLEXP)
)
Это общий принцип. Но, полагаю, теоретически, возможны конфликты разных команд. Надо пробовать.
skkkk на форуме  
 
Непрочитано 26.11.2018, 13:01
#484
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,455


а разве с префиксом команды надо вызывать?
Сергей812 вне форума  
 
Непрочитано 26.11.2018, 13:04
1 | #485
Кулик Алексей aka kpblc
Moderator

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


Определенные в лиспе - да. Ну или через command / command-s / vl-cmdf
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.11.2018, 13:17
#486
posetitel


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


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

Последний раз редактировалось posetitel, 26.11.2018 в 13:30.
posetitel вне форума  
 
Непрочитано 26.11.2018, 13:21
#487
Кулик Алексей aka kpblc
Moderator

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


posetitel, во-первых, действия администрации не обсуждаются - читай правила.
Во-вторых, один и тот же вопрос в тысяче мест, мягко говоря, вызывает недоумение - неужели понятие кросспостинга и что за этим следует, неизвестно?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.11.2018, 13:37
#488
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,455


а в третьих - есть поиск: тема с примером готового кода находится за несколько минут. Что мешает забить те же самые слова "Внедрение всех внешних ссылок" вместо поста в поисковую строку форума?
Сергей812 вне форума  
 
Непрочитано 26.11.2018, 14:21
#489
posetitel


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


в теме внедрение всех внешних ссылок командой и последующее EXPLODE указан код
Цитата:
(vl-load-com)
(vlax-for i (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (equal (vla-get-isxref i) :vlax-true)
(vla-bind i :vlax-false)
)
)
этот код не запускается, как будто он не до конца дописан
posetitel вне форума  
 
Непрочитано 26.11.2018, 14:30
#490
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,455


Просто надо этот код вставить внутри команды:
Код:
[Выделить все]
 (с:%Имя вашей команды%( / i )
...
) 
Сергей812 вне форума  
 
Непрочитано 26.11.2018, 16:04
#491
posetitel


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


удалил предыдущую запись.
вроде все заработало
код прикладываю
Цитата:
(c:vnedr ( / i )
(vl-load-com)
(vlax-for i (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (equal (vla-get-isxref i) :vlax-true)
(vla-bind i :vlax-false)
)
))
идея была в том числе и включить этот код в базовые команды лиспа работы с подосновой.
ну а стоит это делать или нет, решайте

Последний раз редактировалось posetitel, 26.11.2018 в 16:51.
posetitel вне форума  
 
Непрочитано 26.11.2018, 20:25
#492
posetitel


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


Сегодня обратил внимание, что в 14 автокаде команда BGLAYDEL ломает объекты СПДС-extension
файлы до запуска команды и после запуска прилагаю
Вложения
Тип файла: dwg
DWG 2013
Чертеж-до очистки.dwg (35.5 Кб, 8 просмотров)
Тип файла: dwg
DWG 2013
Чертеж-после очистки.dwg (34.0 Кб, 6 просмотров)
posetitel вне форума  
 
Непрочитано 28.11.2018, 11:32
#493
Astartes

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


Пользовался раньше для преобразования полей в текст вот командой cftall/(sel)
Отсюда http://forum.dwg.ru/showpost.php?p=395488&postcount=26
Но заметил что если использовать команду cftall, то значок диаметра в размере заменялся значком вопроса.
В посте указано что дальнейшее развитие в этой теме.
Попробовал команду BGCFT.
Но команда BGCFT у меня не работает.
___________
Команда: BGCFT
Converting Field in неверный тип аргумента: stringp nilОшибка Automation. Неверный слой
_____________

У меня поля внутри динамических блоков.
Но команда BGCFTSEL работает нормально.
Меня устраивала старая cftall, если бы не глюк со значком диаметра в размерах.

Можно конечно воспользоваться командой BGCFTSEL и выделить все рамкой, как альтернатива BGCFT.

Автокад 2016.

ЗЫ: Создал в пустом файле два мтекста. Во втором тексте сделал поле ссылающиеся на первый текст. Команда BGCFT сработала нормально.
Проделал такой же эксперимент с обычным блоком и атрибутом с полем. Тоже нормально отработала команда.
Похоже дело именно в динамических блоках.
Во вложение пример дин. блока.
Вложения
Тип файла: dwg
DWG 2010
111.dwg (130.8 Кб, 13 просмотров)
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Автор темы   Непрочитано 28.11.2018, 12:00
#494
VVA

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


Astartes, Поправил. Обновил до версии 3.8.2
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.11.2018, 12:17
#495
Astartes

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


VVA, Спасибо работает.
А какие строчки надо удалить, чтобы не выскакивало предупреждение о преобразовании полей?
Нашел в коде, удалил. Но чтото видать не то удалил или не до конца.

(bg:msg-yes-no "Внимание"
"Все поля будут преобразованы в текст !!!\nПродолжить?"
)
(bg:msg-yes-no "Attension"
"All fields will be transformed to the text!!!\nto Continue?"
)
__________________
AutoCad 2011 -> AutoCad 2013
Astartes вне форума  
 
Автор темы   Непрочитано 28.11.2018, 12:44
#496
VVA

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


Вместо
Код:
[Выделить все]
(defun C:BGCFT ()(ConvField->Text t)(princ))
поменяй на
Код:
[Выделить все]
(defun C:BGCFT ()(ConvField->Text nil)(princ))
А лучше создай свою команду
Код:
[Выделить все]
(defun C:BGCFTNOTASK ()(ConvField->Text nil)(princ))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 26.02.2019, 14:30
#497
neb0skreb


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


Добрый день.
После запуска LISPa вываливается ошибка.
(Команда: BGBLFIX
; ошибка: Ошибка Automation. Ключ не найден)
Воспроизводится только на одном файле.
В чем может быть проблема?
Файл прикрепляю: https://yadi.sk/d/ri9FaIduOvUOTg
neb0skreb вне форума  
 
Непрочитано 27.02.2019, 00:10
#498
engngr

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


Offtop:
Цитата:
Сообщение от neb0skreb Посмотреть сообщение
Файл прикрепляю
Не самый размазанный по z чертеж.
engngr вне форума  
 
Непрочитано 01.03.2019, 11:15
#499
Des501(К)


 
Регистрация: 01.03.2019
Одесса
Сообщений: 1
Отправить сообщение для Des501(К) с помощью Skype™


Добрый день.
Я столкнулся с тем что на одном "удачном" файле версия 3.3 работает изумительно, а версия 3.8.2 уходит в глубокую задумчивость и вызывает в конце концов какую-то внутреннюю ошибку

Спасибо Кулик Алексей aka kpblc за замечание, сейчас поправлю пост

и еще хотел спросить:
- есть прекрасная функция "BGCOLOR - Задает выбранный цвет всем объектам" - при запуске она открывает окно выбора цвета. Есть ли возможность вызвать ее с параметром, номером цвета, что бы она просто отработала без вывода этого окна.
Миниатюры
Нажмите на изображение для увеличения
Название: image_2019_03_01T07_35_27_221Z.png
Просмотров: 11
Размер:	29.1 Кб
ID:	211503  
Вложения
Тип файла: dwg chertezh-31-31.dwg (199.9 Кб, 6 просмотров)

Последний раз редактировалось Des501(К), 02.03.2019 в 08:15.
Des501(К) вне форума  
 
Непрочитано 01.03.2019, 12:37
#500
Кулик Алексей aka kpblc
Moderator

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


Des501(К), а тебе в пост что, файл не приложить?
__________________

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

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

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


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