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

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

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

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

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

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

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

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


Цитата:
Сообщение от Des501(К) Посмотреть сообщение
есть прекрасная функция "BGCOLOR - Задает выбранный цвет всем объектам" - при запуске она открывает окно выбора цвета. Есть ли возможность вызвать ее с параметром, номером цвета, что бы она просто отработала без вывода этого окна.
Есть частично, без обработки цвета в стиле мультилиний.
Код:
[Выделить все]
(ChangeAllObjectsColor (vla-get-activedocument(vlax-get-acad-object))  1)
где 1 - номер цвета

Цитата:
Сообщение от Des501(К) Посмотреть сообщение
а версия 3.8.2 уходит в глубокую задумчивость и вызывает в конце концов какую-то внутреннюю ошибку
Буду тестить, но не плохо бы еще сообщить версию Автокада, его разрядность и до кучи операционную систему
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.03.2019, 14:03
#502
Virt Norton

инженер-проектировщик
 
Регистрация: 30.06.2010
Москва
Сообщений: 26


Всем привет!
Хочу выразить благодарность создателям этих полезных утилит!

У меня вопрос вот какой, BGBLEXP сколько блоков может осилить за раз, есть ли ограничение в их количестве?

Решил воспользоваться данными лиспами для очистки тяжелого файла, ТРЦ типа леруа плюс еще всякого там полно.
Запустил сначала BGLAYDEL, файл с 12Мб стал 7Мб, далее BGBLFIX, чтобы можно было расчленять, далее BGBLEXP, после этого файл начал расти в итоге его размер превысил 23Мб и вообще перестал двигаться.
Может быть такое, что из взорванных блоков первого уровня высыпались десятки тысяч других блоков, что и явилось причиной увеличения размера файла?
Подсчитать количество блоков на чертеже после BGBLEXP через свойства нельзя, говорит типа ничего не выбрано, хотя выбрано на самом деле.
Чередовал BGBLEXP с BGBLFIX раза три, в итоге через F2 посмотрел количество выбранных блоков 199953 items, не чертеж, а какая то бешенная матрешка.
Я скорее всего неправильно пользуюсь программой.
Подскажите в каких действиях ошибка.

Винда 10/64, акад 17 инглиш.

Спасибо!

Установил bgtools3.8.2
Virt Norton вне форума  
 
Автор темы   Непрочитано 06.03.2019, 15:18
#503
VVA

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


Цитата:
Сообщение от Virt Norton Посмотреть сообщение
Может быть такое, что из взорванных блоков первого уровня высыпались десятки тысяч других блоков, что и явилось причиной увеличения размера файла?
Может. Мне такие чертежи попадались

Цитата:
Сообщение от Virt Norton Посмотреть сообщение
Подсчитать количество блоков на чертеже после BGBLEXP через свойства нельзя, говорит типа ничего не выбрано, хотя выбрано на самом деле.
Без файла - гадание на кофейной гуще

Цитата:
Сообщение от Virt Norton Посмотреть сообщение
Я скорее всего неправильно пользуюсь программой.
Криминала не замечено. Вроде все правильно делаешь

В итоге: Без файла - гадание на кофейной гуще
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.03.2019, 10:29
#504
Virt Norton

инженер-проектировщик
 
Регистрация: 30.06.2010
Москва
Сообщений: 26


А, что значит "достигнут внутренний предел стека"?
Сообщение появляется в ком строке как сообщение об ошибке
Virt Norton вне форума  
 
Непрочитано 03.04.2019, 11:01
#505
shartal


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


Добрый день. Команда BGBLEXP1NOATT изменяет порядок прорисовки объектов после расчленения блоков. Для сравнения, после расчленения блоков штатной командой, порядок не меняется. Можно с этим что- то сделать?
shartal вне форума  
 
Автор темы   Непрочитано 03.04.2019, 17:39
#506
VVA

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


shartal, Попробуй версию 3.3 из шапки. Там при расчленении использовался ExpressTools
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.04.2019, 09:43
#507
valerik88


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


Не понимаю, эта программа должна в паре ещё с какой-то работать? При выполнении команды BGCOLBL выбивает ошибку:
no function definition: _DWGRU-LAYER-CREATEОшибка Automation. Неверный слой.
Нашёл где-то на форуме эту функцию _DWGRU-LAYER-CREATE загрузил её, вылезла новая ошибка
no function definition: _KPBLC-LINETYPE-LOADОшибка Automation. Неверный слой

Где всю библиотеку нужных функций взять, что бы команда BGCOLBL работала?
valerik88 вне форума  
 
Автор темы   Непрочитано 15.04.2019, 14:08
#508
VVA

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


valerik88, Там в коде описка. Поиском найди и замени _DWGRU-LAYER-CREATE на bg:layer-create. Я чуть позже обновлю архив
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 17.04.2019, 18:09
2 | #509
VVA

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


Обновил архив
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.04.2019, 08:55
#510
Эдуард Артурович


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


Помогите, пожалуйста отключить уведомление, обрабатываю пакет файлов и на каждом приходится нажимать "ок"

Код:
[Выделить все]
 (bg:layer-status-save)(vla-startundomark Doc)
 (if (or (not Ask )
	 (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
	   (bg:msg-yes-no "Внимание"
	     "Все поля будут преобразованы в текст !!!\nПродолжить?"
	     )
	   (bg:msg-yes-no "Attension"
	     "All fields will be transformed to the text!!!\nto Continue?"
	     )
	   )
	 )
Эдуард Артурович вне форума  
 
Автор темы   Непрочитано 19.04.2019, 09:41
#511
VVA

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


Эдуард Артурович, Я вам давал ответ в этой теме
Каким образом обрабатываете пакет файлов?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.04.2019, 11:15
#512
koMon


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


Offtop: (bg:msg-yes-no "Attenstion"
koMon вне форума  
 
Непрочитано 28.05.2019, 12:12
#513
crosandr

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


При обработке файла, приложенного к сообщению, командой BGLAYDEL акад виснет намертво. Чертеж dwg заархивировал, большой слишком. Использую версию 3.8.2.1. Акад 2013, Win 7x64
VVA, посмотрите, пожалуйста
Вложения
Тип файла: zip П22.zip (9.85 Мб, 7 просмотров)

Последний раз редактировалось crosandr, 28.05.2019 в 12:39.
crosandr вне форума  
 
Автор темы   Непрочитано 30.05.2019, 17:11
#514
VVA

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


crosandr, Обновил версию до 3.9 Но минуты полторы-две подождать придется
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 31.05.2019, 08:56
#515
crosandr

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


Цитата:
Сообщение от VVA Посмотреть сообщение
минуты полторы-две подождать придется
Это лучше, чем 20-30. Я потом этот файл оставил ждать до упора. В итоге слои удалились, но ооочень уж долго, потому и возникло ощущение зависания.
Все работает. Генплан весом около 38М обработался примерно за минуту.
Спасибо!

Есть еще вопрос из разряда фантазий. Имеется файл с кучей слоев и только одним сформированным листом с одним видовым экраном. Есть желание максимально облегчить файл. Слои, которые выключены или заморожены в модели, удаляются командой BGLAYDEL. Можно ли еще удалять слои, которые отключены в единственном видовом экране?
В идеале листов может быть несколько, соответственно и видовых экранов больше одного. То есть слои, не используемые ни в одном видовом экране, подлежат также удалению.
Сильно сложно сделать дополнительную команду или опцию?

Последний раз редактировалось crosandr, 31.05.2019 в 09:52.
crosandr вне форума  
 
Непрочитано 31.05.2019, 10:22
#516
Диммм

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


Цитата:
Сообщение от crosandr Посмотреть сообщение
Имеется файл с кучей слоев и только одним сформированным листом с одним видовым экраном. Есть желание максимально облегчить файл. Слои, которые выключены или заморожены в модели, удаляются
Открываешь лист, нажимаешь правой кнопкой мыши на вкладке, и нажимаешь "Экспорт вкладки листа во вкладку модели". Как один из вариантов
Диммм вне форума  
 
Непрочитано 10.06.2019, 14:20
#517
quazi


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


В dwg файле куча блоков *A... Скорее всего это экспорт из tekla.
U2B их не берет. В чем хитрость? Как преобразовать в обычный блок?
Добавил шаблон и заработало
Код:
[Выделить все]
 (wcmatch bname "`*A*,`*U*,`*E*")

Последний раз редактировалось quazi, 10.06.2019 в 14:46.
quazi вне форума  
 
Автор темы   Непрочитано 10.06.2019, 14:33
#518
VVA

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


quazi, Попробуй этот вариант (bgtools должны быть загружены)
Код:
[Выделить все]
(defun C:U2B (/        adoc     blks     u1       n        obj
              objlist  uname    bname    *error*  bnameNew tmp_blk
             )
  ;;; Unnamed to Block
  (defun *error* (msg)
    (princ msg)
    (bg:layer-status-restore)
    (vla-endundomark adoc)
    (princ)
  ) ;_ end of defun
  (vl-load-com)
  (bg:layer-status-save)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object))
        blks (vla-get-blocks adoc)
  ) ;_ end of setq
  (vla-startundomark adoc)
  (if
    (and (setq uname (car (entsel (if (= (getvar "DWGCODEPAGE") "ANSI_1251") "\nВыбери блок: " "\nSelect block: "))))
         (wcmatch (setq bname (cdr (assoc 2 (entget uname)))) "`*U*,`*X*,`*E*,`*A*")
         (setq obj (vlax-ename->vla-object uname))
         (or (and (vlax-property-available-p obj "columns")
                  (vlax-property-available-p obj "rows")
                  (= (vla-get-columns obj) 1)
                  (= (vla-get-rows obj) 1)
             ) ;_ end of and
             (and (not (vlax-property-available-p obj "columns"))
                  (not (vlax-property-available-p obj "rows"))
             ) ;_ end of and
         ) ;_ end of or
         (setq bnameNew (getstring (if (= (getvar "DWGCODEPAGE") "ANSI_1251") "\nИмя блока: " "\nNew block name: ")))
         (or
         (while (or (not (snvalid bnameNew))
                    (member (strcase bnameNew) (tablelist "BLOCK"))
                ) ;_ end of or
           (alert (if (= (getvar "DWGCODEPAGE") "ANSI_1251") "\nНедопустимое имя блока" "Incorrect block name"))
           (setq bnameNew (getstring (if (= (getvar "DWGCODEPAGE") "ANSI_1251") "\nИмя блока: " "\nNew block name: ")))
         ) ;_ end of while
         t)
    ) ;_ end of and
     (progn
       (setq unnamed_block
              (vla-add (vla-get-blocks adoc)
                       (vlax-3d-point '(0 0 0))
                       bnameNew
              ) ;_ end of vla-add
       ) ;_ end of setq
       (setq u1 (vla-item blks bname)
             n  1
       ) ;_ end of setq
       (vlax-for item u1
         (grtext -1 (strcat "Working ... item " (itoa n)))
         (setq objlist (cons item objlist))
         (setq n (1+ n))
       ) ;_ end of vlax-for
       (setq n (vlax-3d-point(trans(vlax-safearray->list(vlax-variant-value(vla-get-insertionpoint obj))) 0 uname)))
  ;;;     (setq n (vlax-3d-point(trans (vlax-safearray->list(vlax-variant-value n)) uname 0)))
       (grtext -1 "Coping item. Begin ")
       (vla-copyobjects
                     adoc
                     (vlax-make-variant
                       (vlax-safearray-fill
                         (vlax-make-safearray
                           vlax-vbobject
                           (cons 0 (1- (length objlist)))
                         ) ;_ end of vlax-make-safearray
                         objlist
                       ) ;_ end of vlax-safearray-fill
                     ) ;_ end of vlax-make-variant
                                                  ;(vla-get-ModelSpace adoc)
                     unnamed_block
                   ) ;_ end of
       (grtext -1 "Coping item. End ")
       (setq
         tmp_blk (vla-insertblock
                   (bg:objectidtoobject adoc (vla-get-ownerid obj))
                                                  ;(vla-get-InsertionPoint obj)
                   n
                   (vla-get-name unnamed_block)
                   (vla-get-xscalefactor obj)
                   (vla-get-yscalefactor obj)
                   (vla-get-zscalefactor obj)
                   (vla-get-rotation obj)
                 ) ;_ end of vla-insertblock
       ) ;_ end of setq
(mapcar
	   '(lambda (x y) (vlax-put-property tmp_blk x y))
	   '(Linetype LineWeight Color Layer)
	   (mapcar
	     '(lambda (x)
		(vlax-get-property obj x))
	     '(Linetype LineWeight Color Layer)))
       (vla-put-Normal tmp_blk (vla-get-Normal obj))
       (entdel uname)
     ) ;_ end of progn
  ) ;_ end of if
  (bg:layer-status-restore)
  (vla-endundomark adoc)
  (princ)
) ;_ end of defun
----- добавлено через 39 сек. -----
Добавил блоки с именем *A*
Цитата:
(wcmatch (setq bname (cdr (assoc 2 (entget uname)))) "`*U*,`*X*,`*E*,`*A*")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.08.2019, 13:03
#519
VaniaLSD


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


Добрый день!
Отличная программа! Только я пользуюсь только 1 функцией (bgcolor), так как остальные не понимаю)))
А можно ли все линии, полилинии, тексты и т.д. перевести в один слой, так чтобы даже все что внутри блоков тоже переводилось в один слой, по аналогии bgcolor?
VaniaLSD вне форума  
 
Непрочитано 09.08.2019, 10:28
#520
allar8


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


Кто то тут уже спрашивал, но я не помню где. Как у команды все поля в текст BGCFT убрать диалоговое окно с подтверждением о необходимости данной операции. Вопрос решился?
Аналогичный вопрос про BGCOLOR. Как правило нужно все превратить в белый. Диалоговое окно с выбором цвета тож бы убрать было бы не плохо
Если бы не было диалоговых окон, можно было бы в макросе связать эти две комманды. Т.е. нажатие на одну кнопку убивало бы поля и превращало все в белый. Просто у нас требование в конторе такие - готовые чертежи должны быть белыми и без полей.
Ну или более гибкими эти команды сделать, т.е. диалог не через диалоговые окна, а через командную строку. Тут через макрос можно было бы настроить как нужно)
Цель минимизация лишних манипуляций и нажатий для ускорения процесса

----- добавлено через ~12 мин. -----
Цитата:
Сообщение от allar8 Посмотреть сообщение
Кто то тут уже спрашивал, но я не помню где. Как у команды все поля в текст BGCFT убрать диалоговое окно с подтверждением о необходимости данной операции. Вопрос решился?
Нашел решение, благодаря обнаруженному касяку в BGCFT - не убивала почему то поля из свойств подшивки.
Попробовал такой вот макросик _ai_selall BGCFTSEL - работает
диалогового окна нет и все поля в текст действительно
Осталься вопрос только с BGCOLOR

----- добавлено через ~5 мин. -----
Цитата:
Сообщение от allar8 Посмотреть сообщение
Попробовал такой вот макросик _ai_selall BGCFTSEL - работает
Ан нет - эта в атрибутах блоков не убивает поля)
В обчем все поля убиваются вот таким макросом _ai_selall BGCFTSEL BGCFT
Но от диалогового окна так и не избавился)

Еще одын минус нашел( - BGCFTSEL и BGCF не убивают поля, если мтекст или текст с полем в блоке. В атрибутах вроде убивает

----- добавлено через ~8 ч. -----
Цитата:
Сообщение от allar8 Посмотреть сообщение
Но от диалогового окна так и не избавился)
Увидел https://forum.dwg.ru/showthread.php?...30#post1791330 #6, спасибо VVA
Подскажите еще плиз как убрать диалоговое окно у BGCOLOR (по умолчанию нужен белый цвет), Заранее спасибо!

----- добавлено через ~15 мин. -----
Цитата:
Сообщение от allar8 Посмотреть сообщение
Еще одын минус нашел( - BGCFTSEL и BGCF не убивают поля, если мтекст или текст с полем в блоке. В атрибутах вроде убивает
Странно - дома попробовал еще раз - вроде все гуд - все поля убились. Хотя дома акад 2020, а на работе 2017 - может в этом дело или в файле может?. Ладно в понедельник еще раз попробую на работе

Последний раз редактировалось allar8, 10.08.2019 в 10:14.
allar8 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Подготовка подосновы

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

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


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