|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
25 | | #1 |
LISP. Подготовка подосновы
Инженер LISP
Минск
Регистрация: 11.05.2005
Сообщений: 6,996
|
||
Просмотров: 448559
|
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Эх дополнить бы еще эту подборку моим MaskSoft, но я не меценат и некогда сейчас выдерать все это из моих кодов, наполнять библиотечными функциями.
мне просто не понятно почему никому в голову не приходила идея сделать выгрузку/загрузку xref по маске описанной в текстовом объекте чертежа. Тогда можно загружать выгружать нужно количество подоснов одним кликом (реально одним). Это еще быстрее чем фильтры слоев, которые работают по маске названия слоя, только там нужно сначала выбрать фильтр, потом Ctrl+A и замораживать а потом проводить обратную процедуру. Конечно и для слоев у меня было, с них все и началось, и есть еще несколько процедур для того чтобы работа с подосновами стала еще более комфортной. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Если найдешь время, то опиши поподробнее. Можно в личку. С подосновами работаем плотно, поэтому может пригодиться по работе
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
"Нормализация блоков" мне не нравится принципиально. Не хочу все блоки файла нормализировать, то есть превращать их составляющие в слой 0 и так далее. Хочу нормализировать определенные блоки, по клику, а все сразу только как опцию. Среди блоков может быть целый кусок с другого чертежа, и ему "нормализация" повредит.
|
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
нет такой команды
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Задание:
Есть файл где добрый архитектор нарисовал все в нулевом или другом слое, но для красоты рисовал окна синим, двери коричневым, стены белые, мебель бордовый, ну и т.п. суть в том что в одном слое Алгоритм: 1. Лисп проверяет наличие цветов задействованные в чертеже 2. Создает данное количество слоев с назавнием соотвествующим присвоенному цвету: red, orange, black и т.п. 3. Раскидывает все по слоям если красным цветом нарисваны линии разной толщины то создаются слои: red020, red015 и т.п. но, перед ним уже должен сработать другой лисп который производит туже операцию только: размеры в размерный слой, штриховки в штриховой, он у меня имеется но его не достаточно. очень бы пригодилось, посоветуйтесь у вас в отделе, была бы нужная вещь для тех кто использует архитектурные чертежи, а именно овешники вкашники электрики
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
А если цвет красный и вес поблоку?
А если цвет красный и вес послою? А если цвет красный и вес поумолчанию? А если цвет RGB?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
2. А как ты можешь править чужой файл? После этого чья фамилия будет стоять в штампе? А может, он применяет особый стиль печати, учитывающий нюансы с цветом? В статье про создание подосновы говорится как исправить сделанное архом, но при этом создается новый файл, за который его первоначальный автор уже не несет ответственности. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Если файл переделывается по технологии, описанной в статье, то хотя-бы удалением ненужной смежникам информации. Я считаю, если ты прикоснулся к моему файлу, сохранил его (даже ничего не поменяв) то я за него уже не отвечаю. По дате сохранения файла видно, что это не то, что вам передали. Когда мой файл оказывается кем-то сохрaнен после меня, всегда разыскиваю данного товарища и спрашиваю, что он в нем сделал. Как правило, отвечают что случайно нажали на Save. Но я хотя-бы бегло, перепроверяю.
|
|||
![]() |
|
||||
Спасибо за лисп - пригодился.
Использовал для "взрыва" блоков перед выдачей электронной версии результата работы генподрядчику (давно задумывался как не выдавать свою автоматизацию и при том, сохранить возможность подкорректировать штампы и т. п.). Только вот, блоки созданные в СПДС 6.1.859 (ACAD 2010) не обрабатываются. Их так-то нормально взрывают штатные комманды. Последний раз редактировалось Apex-E, 09.05.2011 в 15:46. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
СПДС GraphiCS оперирует собственными объектами, и обрабатывать их надо командами СПДС GraphiCS.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
В геониксе есть команда для преобразования объектов геоникса в объекты Автокада. Думаю в СПДС должно быть что-то подобное
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
Тут в одной теме 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 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Буду, и наверное сделаю диалог для выбора опций, но позднее
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
пока нет
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Oliver_88, Спасибо за дефектацию. Исправил #1
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA, При взрыве
Команда: BGBLEXP Взрываю дин блок на котором имеется маскировка, поверх маскировки наложеный атрибут с текстом. При разбивке маскировка накладывается поверх текста. Должно быть наобород. Текст, под текстом маскировка. Есть решение. Все что записанно в атрибутах заного прописывается поверх маскировки. Как то так. А в общем прога по взрыву отличная |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Файлик к студию
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Eddicordo, Если взорвать блок просто explode, то атрибут также уйдет вниз. Поэтому в bgblexp варианта выхода не вижу. Могу предложить это Send to back все заливки во всех блоках Наверное включу в этот сборник
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA,
Вот я и говорю что есть вариант выполнения взрыва уважаемым Frigate учасника форума. Он реализовал взрыв таким образом. 1) Сначала взрывает сам блок. 2) Запоминает всю запись в атрибутах. 3) Программо вставляет на места атрибутов text на передний план. Цитата:
Ждем обновления сборника ![]() |
|||
![]() |
|
||||
Не ожидал, что вот это:
Код:
Причем, после обработки они изменили цвет, но если их пошевелить - снова возвращали себе исходный. Лог: Код:
Последний раз редактировалось Do$, 09.06.2011 в 16:52. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Do$, Размеры представляют из себя анонимные *DNNN блоки. Поэтому так ипроисходит. После отпуска планирую переписать BGBLFIX, тогда исключу и размеры
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Delineante Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 396
![]() |
VVA, подборка команд просто незаменимая, огромное спасибо!
часто пользуюсь BGRGB2ACI, сейчас понадобилось наоборот поменять в блоках цвет ACI на RGB (нужно заменить цвет red на 255,0,0) можете добавить в этот сборник? |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA,
Здравствуй. Короче обнаружил глюк взрыва дин блока в котором присутствует атрибут. Если в атрибуте прописано что то типа "метр в кубе" или "в квадрате", то при взрыве вместо символа "м3" (в кубе) пишется квадратик или вопросительный знак. И это не есть хорошо. Поскольку программа удобна для взрыва всего что есть на чертеже, а как правило без верхнего индекса не обойтись. Либо просматривай что взрываешь и после взрыва проверяй все ли отлично взорвал, и корректируй вручную все верхние индексы |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Eddicordo Файлик приложи
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
а случаем нет такой проги, которая действовала наподобие MERGE, только с сохранением цвета примитивов.
т.е. есть два слоя, на каждом примитивы с цветом по слою допустим хочу все это дело собрать на один слой (допустим третий), но что бы объёкты каждого из слоёв остались прежнего цвета, только конечно получится что цвет назначен явно. это про те же подосновы. если хочется сохранить разноцветность чертежа, но все разместить на одном слое (да и управляемость сохранится хоть как то). PS^ если цвет задан явно, то впринципе и MERGE не меняет цветсти... значит надо просто задать всем примитивам цвета явно. Последний раз редактировалось ssn, 02.08.2011 в 18:13. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
а нельзя ли лисп из поста 42 немного откоректировать, что бы была возможность сразу при переопределении параметров цвета, тощины и прочего ещё и переносить объект на определённый слой (который можно было бы выбрать на чертеже допустим)
если выбор примитива есть - все объекты на этот слой, если выбор пустой - просто переназначение свойств... получится почти команда MERGE... В идеале это бы конечно срастить эти две команды в одну. просто когда очень много слоёв команда MERGE тоже запарая (выбор каждого слоя отдельно) |
||||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
При наличии в блоке маскировки, после расчленения любой из указанных команд, меняется произвольным образом порядок прорисовки- часто она вылазит на верх. И если в чертеже несколько блоков перекрывающих друг друга, после расчленения предстоит невероятная работа по раскладке всего по порядку. Самое странное, вставки одного и того же блока расчленяются по разному.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, Выложи пример файла
Eddicordo, Верхние и нижние индексы починил. Пока не выкладываю, переделываю FixBlok. Диалог готов, осталось код немного доработать
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Диалог будет на русском, если кодовая страница ANSI_1251, в остальных случаях английский. Смесь - чтобы прикинуть как будет смотреться диалог.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Файл с блоком. Блок несколько урезан, атрибуты решеткой, но в реальности они должны быть, и обычным burst блок нельзя обработать. После burst маскировка сохраняет положение. А вот в рекомендованом на форуме Burst Upgraded с маскировкой та же беда.
|
|||
![]() |
|
||||
инженер-электрик Регистрация: 21.10.2010
Краснодар
Сообщений: 134
|
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Имелось ввиду Layer merge
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
angel-fear, Ты это о чем?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-электрик Регистрация: 13.10.2007
Калининград
Сообщений: 151
|
VVA, здравствуйте
Команда "BGCOLORXREF", меняет цвет выбранной внешней ссылки, а как вернуть исходное состояние цвета? Файл прилагаю, ссылка в файле "1136-11-ЭН.dwg" одноцветная, когда как исходный файл "11_02838_500_не_согл.dwg" разноцветный.
__________________
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. /В. Гюго/ |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA, Привет.
Цитата:
Благодарю. ) |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Eddicordo,
Выложил, тестируй. Изменил команду BgBLFIX, правда толком еще не оттестировал. Так что тестируй так же
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
А как ты собирался с командами это делать?
Сделай промежуточный lsp файл или в bgtools допиши свою команду Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Добавилось пару команд
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 2.15
BGAll2RGB - работает с вложенными блоками U2B - переименовывает анонимный блок верхнего уровня (можно вызывать в редакторе блоков). Задачи переименовывать вложенные анонимные блоки не стояло. Оно надо? Добавил команды копирования и переименования (BGCD и BGRB) одного из вхождений блока (включая динамические), как продолжение этой темы
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Delineante Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 396
![]() |
Теперь все работает, супер!
Есть одна проблема, когда в блоке меняется цвет на RGB, то меняется цвет всех элементов блока. Т.е. белый цвет тоже меняется на RGB и не печатается, а нужно поменять только красную штриховку. В моем случае нужно что-то наподобии BGCBL2, только для RGB. u2b в редакторе блока выдает: Comando: u2b Select block: New block name: 123 no function definition: TABLELIST я для анонимных блоков использую другой лисп, но его тоже надо запускать из редактора блоков. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
ASLYS,
Обновил до 2.16 Внес изменения, что белый/черный (цвет 7) меняется в RGB на черный 0,0,0 Обновил BGCBL2. Теперь можно цвета выбирать из ACI, RGB и альбомов цветов Добавил
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
То, что появляется имя "$BG$_ ***" так и должно быть. Это имя статического блока.
Блок не удаляется, если на него есть ссылка в модели, в листе, в описании другого блока. Специальных мер по "не удалению" блоков не предпринимается
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Заметил особенность. Команда BGBLDYN2A преобразовывает все блоки во всех пространствах и листа и модели. А команды BGBLDYNEXP1, BGBLEXP1NOATT и BGBLEXP работают с объектами только текущего пространства. Возможно ли их действие расширить на весь файл?
|
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Добрый день, у меня небольшой вопрос по команде BGHATCHDEL. Задача следующая. Есть блок в котором куча ненужной штриховки. Хочется эту штриховку оттуда удалить, чтоб оставить только линии. Команда BGHATCHDEL удаляет штриховку со всего чертежа даже если сказать ей, чтоб на замороженных и заблокированных слоях ничего не трогать (слои и замораживал, и блокировал естественно). Это баг или я что-то не так делаю?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr, Скачай последнюю (2.16) версию. BGHATCHDEL сейчас спрашивает это
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
работаю с этой версией
Цитата:
Приложил файл, в котором нужно удалить штриховку из блока test. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr,
Проверил. Все работает Еще раз обращаю внимание, что речь идет о слоях. У тебя в блоке TEST штриховка а 0 слое. В блоке A$C07DF5D4C на слое ZALIVKA 1. При загрузке bgtools в командной строке пишется Цитата:
3. Заблокировал слой "ZALIVKA" 3. Вызвал BGHATCHDEL и ответил НЕТ. Штриховка из блока TEST удалилась. PS В будущем добавлю команду удаления штриховки их конкретного блока
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
|
|||
![]() |
|
||||
ПГС Регистрация: 24.11.2011
Сообщений: 31
|
На AutoCAD 2013 версия 2.10 команды BGBLDYN2A и BGBLDYN2S преобразовывают нормально. Обновил до версии 2.16. Атрибуты с полями стали ###.
BGBLDYN2A - Преобразовывает динамические блоки в анонимные BGBLDYN2S - Преобразовывает динамические блоки в статические |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Alex_80, приложи файл, проверю (правда не на 2013)
Вовочка, Именно поэтому программа игнорирует подрезанные блоки, т.к. все возможные методы (express, vla-exlpode, _explode) игнорируют при взрыве подрезку.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
Код:
VVA, если сочтете возможным, такой приближенный вариант расчленения подрезанных блоков с сохранением подрезки, добавьте команду в основной пакет bgtools.
__________________
cadtools |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Супер. Только не понял. Зачем мне указывать точку внутри или снаружи. И так понятно, что человек захочет оставить то что видимо сейчас, а не инверсию. ИМХО
VVA: эта подпрограмма обязана жить в БГтулсе. еще раз спасибо, что вы есть, товарищи программисты!!! |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Вовочка, проблема в том, что это Ты глазками видишь какая часть подрезана, а программно мне не удалось это определить, поэтому и появился дополнительный запрос на точку внутри или снаружи контура
__________________
cadtools |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
TararykovDG, Спасибо, добавлю. Чуть освобожусь с работой. Так как работают командные методы с выбором линией и рамкой, то нужно будет дополнительно проверить, что полученная полилиния контура подрезки целиком видна на экране.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
shartal, как правильно заметил VVA, да и я сам оговаривался об этом в посте #83, в команде BGBLXCLIPEXP используются командные методы, объекты формируются набором, все это приводит к крайней неустойчивости возможного результата, но другого варианта пока нет. P. S. и лучше вместо картинки выложи файл с блоком (желательно в версии ACAD2008 или ниже) где не верно работает команда, мне проще будет разобраться
__________________
cadtools |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Такой вопрос. Есть ли программа, которая может всю палитру и альбомы цветов перевести к номерам цветов? Почему пишу в этой ветке, приходит ко мне подоснова от архитекторов. Там условно 100 цветов АРХу мало 256 номеров цветов и он выбирает из палитры. Чертеж красивый, что сказать. Только при предпросмотре на печать (и при монохроме и при грейскейле) я имею цветной рисунок. Я от и подумал. Запускаю команду и она все цвета из палитры объектов присваивает СХОЖЫЕ (что-бы чертеж оставался красивым).
Ну и хотел спросить у VVA проверил ли он программу из поста №83 для добавления в комбанй BG? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Support - ACD, ASD, ACA, ACM, RAC, RST Регистрация: 19.10.2004
Stuttgart-Петербург
Сообщений: 238
|
VVA, в 7 номере журнала autocad-magazin (немецкий журнал) за 2011 год статья на 3 страницы об этой подборке программ, тогда еще версия 2.10
__________________
без DWG мы никуда - и не туда, и не сюда... Спасибо за то, что Вы есть, коллеги ;) |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
YRat, Ага. Я только свою фамилию смог прочитать :-)
http://forum.dwg.ru/showpost.php?p=804475&postcount=115
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Если пройтись по ссылкам 93-поста и дойти до руды, выйдем на тему Подоснова http://forum.dwg.ru/showthread.php?t...F1%ED%EE%E2%E0
Может, есть созревшие поговорить на эту тему? Все хвалят лисп от VVA, но создается впечатление что используется он для частных нужд а не для комплексного приготовления подосновы, для чего этот лисп, и создавался. Или вы до сих пор требуете от своих архов выдавать вам в кажестве подосновы вместо официального чертежа некий полупустой план с закрытыми некоторыми слоями? А они почему-то тратят свое драг. время на неоплачиваемые вами хотелки и вынуждены работать по вашей подсказке, а не как им, возможно, удобней |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Vova, кто же против? Вопросы создаются по мере углубления в программку и если она не справляется, то ее расширяют. У меня возникли некоторые предложения, я их высказывал - пообещали после майских проверить (см. мои посты). И еще есть там подпрограмма CFT. Она убивает все поля, что не всегда хорошо. В некоторых случаях нужен выбор а не все. Спасибо.
|
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Новый вариант команды BGBLXCLIPEXP - взорвать подрезанный блок
Код:
__________________
cadtools |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Не хочу показаться ханжой, но в обозначенном лиспе более 20 локальных определений функции *error*, по сути выполняющих одно и тоже, так почему бы не использовать хотя б одну из них, вместо громоздкой vl-catch-all-apply
Последний раз редактировалось gomer, 16.07.2012 в 19:49. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
![]() P.S. Я тоже не хочу показаться ханжой. Специально посчитал в bgtools 2.16.lsp количество локальных определений функции *error* - их ровно 15 ![]()
__________________
cadtools |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, Рассматривай это как набор программ, собранных вместе. Собирая bgtools я использую программы разных хороших людей, пишущих на лиспе. В основном код включается "как есть". Цели перелопачивать все для придания некой единообразности не ставилось. Если на входе и на выходе меня все устраивает, то, как говорится, "не мешай машине ездить"
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Хорошо-бы в командах BGBLCC, BGENCC, BGCATT, BGCBL2 после первого изменения цвета для последующх по умолчанию оставался выбранный цвет. Ведь перекраска осуществляется многократно и каждый раз заново подставлять тот-же цвет стремно
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
dextron3, изъясняешься как Эзоп. Перезагрузил код
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA, заработало, а можно макрос (типа красной кнопки или for blondy) что бы все по порядку запрашивало, а ты только успевай да - нет- отмена, а то при такой работе MS DOS напоминает
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
dextron3, Я опять ничего не понял. Что ты хочешь чтобы по порядку запрашивало?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA, Тоесть:
1. Лисп запускался одной командой и все функции (а именно команды) которые выделены жирным работали по порядку автоматически одна за другой чтобы не вникать в суть процесса что там происходит но в итоге было все что надо, а именно готовая подоснова
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
К имени команды добавь C: и возьми в скобки
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 22.08.2012
Сообщений: 8
|
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zerg_od, Добавил Опцию "Игнорировать заблокированные слои"
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA,
1. добавьте команду чтобы все линии одной толщины делала по типу выбора цвета 2. мультилинии переводились в линии 3. мультитексты переводились в тексты и при этом не съезжали (был такой лисп) 4. Размеры в слой размеры, линии в слой линии, тексты в слой тексты, штриховка в слой штриховка 5. Также добавьте команду поиск нулевых текстов (есть такой лисп) 6. добавьте команду FLAT (обнуление Z) выделялось автоматически, ну и двойного вида 7. ну и в конце ПУРДЖЕ
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Offtop: $5000 за каждую хотелку - и вуаля!
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
dextron3, ни в жизнь не поверю. Часть функционала уже реализована в AutoCAD 2013, часть - другими лиспами. Остальное надо далеко не всем и далеко не всегда.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
BackGround - знакомое буквосочетание?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Да, этот лисп сделан для приготовления подосновы (background) из архитектурного чертежа и руками смежника. Предполагается что архи делают как умеют, никто на них не давит и не заставляет делать чтобы удобнее было не автору чертежа, а смежнику: закрыл "ненужные" слои, перекрасил и все. Поскольку встречается засилие блоков, да еще вложенных, с атрибутами, сделанных не в нуле и не послою-поблоку и с другими прибабахами в программе большое внимание уделено блокам. Насколько я знаю у вас по-другому. Даже заставляете архов передавать вам готовые подосновы. У нас это нонсенс. Мы получаем от архов их произведение и никому не приходит в голову заставлять их менять манеру черчения. А попробовали-бы-нас бысто поставили бы на место. Потому что архитекторы-главные. Это они дают нам, смежникам работу а не мы им.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zerg_od, выложи пример
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Был глюк. Обновил до 2.20 Тестируй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
В моем 102 содержалась просьба оставлять цвет по умолчанию в соответствии с последним выбранным. Это сделано, стало удобней. А еще удобней стало бы если вместо ОК, подтверждающего цвет можно было нажать клавишу ПРОБЕЛ. У нас так сделано по другим лиспам, где подтверждение последнего выбора осуществляется таким образом. Особенно это актуально при работе с двумя экранами поскольку диалоговое окно норовит ускакать на другой экран
|
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
1. Уточнаю свой 130. Клавиша ПРОБЕЛ должна не заменять, а дублировать ОК.
2. BGBLFIX. Обращаем внимание на тип линии, который можно сделать Byblock. Это означает что блок можно по желанию сделать, например, пунктирным. Но если блок небольшой по размерам (а таковыми являются многие символы) то пунктира не получится. Надо в редакторе блоков свойствами поменять его элементам масштаб типа линии, сделав его меньше единицы. А насколько-путем экспериментов. Предлагаю в диалоговое окно добавить выбор масштаба типов линии, например 0.8, 0.6, 0.4, 0.2, 0.1. Если этого недостаточно остальное придется подбирать вручную |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Ну и опять по команде BGBLFIX. Будет-ли полезно добавить в диал. окно еще два баксика с птичками по-умолчанию? Scale uniformly и Allow exploding. Все-таки большинство блоков это должны позволять. А кому не надо-просто уберут птички
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Vova, Спасибо. #132 и #133 возьму на заметку. Пока собираюсь в Москву на Autodesk University. По приезду постараюсь сделать. По поводу п.1 из #130 к сожалению ничего не получится, т.к. цвет в диалоге запрашивается функцией лиспа
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
При применении "U2BM - преобразовать UNNAMED в блок множественный выбор", эти блоки меняют свое положение.
Как-то исправимо, чтобы оставались на месте? Файл с подобными блоками прикладываю. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
По поводу Scale uniformly: Если блок встречается в описании другого блока и опция включена, то для него устанавливается масштаб по X,Y,Z = 1 Может опцию назвать Scale Uniformly=1? >АлексЮстасу В твоих блоках 210 поле (Normal) отличное от 0,0,1 Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
![]() Теперь остаются на местах! Это совсем не "мои" блоки - помощники изо всех сил стараются... От них еще приходят одинаковые именованные блоки, но с припиской в названии "_1", "_2"... Вопрос о подобных блоках: можно ли находить все блоки с разными именами, но с одинаковым внутренним описанием, и давать одно имя? Чтобы выделять все по одному имени, что-то делать с такими пачкой. Иначе разбираться с каждым отдельно тяжко. Например, нужно содержимое всех подобных блоков заменить на 3Д тела. Последний раз редактировалось АлексЮстасу, 16.10.2012 в 20:13. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Можно поискать блоки по маске и последовательно применить _blockreplace из ET
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 11.08.2011
Сообщений: 41
|
Добрый день. Можете ли добавить функцию типа BGCOLOR - только что-то вроде BGLNEWEITH - чтобы менялись толщины на подоснове на заданные. Например, я делаю в подоснове толщины линий, равные 0. А в совокупности с BGCOLOR=8 вообще получается отлично!
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zvyagaaa, Уже есть штатная команда _setbylayer. Выставь в настройках вес "послою", а слоям задай нужный тебе
>Vombat Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.07.2012
Сообщений: 15
|
здраствуйте. В описании написано:
Код:
С командной строки никак нельзя управлять параметрами команды? Поясню. Мне нужно на кнопку поставить команду, чтобы она меняла цвет всего текста в блоке, что имеет цвет "по слою" на "по блоку" и вторую кнопку, которая делает обратно. Если в рамках данного набора команд не реализовать, то подскажите, пожалуйста, как это можно сделать. |
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
VVA, Здравствуй.
Обнаружил корявость команды BGCFT - Конвертирует все поля в обычный текст Если на чертеже присутствует таблица, то при конвертации всех полей в обычный текст в таблицах меняется шрифт (особенно если таблица выполнена в стиле СТАНДАРТ). Есть предложение конвертировать не все поля на чертеже, а методом выделения. Аналогично команде BGBLEXP - Взрывает блок и все блоки, входящие в него, превращая видимые атрибуты в текст |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Eddicordo, Из этого набора данной командой не пользовался. Есть отдельно написанная прога, вроде автор тоже VVA. Там все нормально конвертит, и есть возможность выбора: либо конвертить все (CFT) либо по выбору (CFTSEL).
|
|||
![]() |
|
||||
КИП и А Регистрация: 28.04.2010
Киев
Сообщений: 101
![]() |
Astartes, Возможно Вы и правы, что данное вложение работает корректно. Идея не в этом. Идея первоначальная см. первый пост "LISP. Подготовка подосновы".
Тоесть все изменения Господин VVA вносит в один лисп. Но спасибо за смышленость ) |
|||
![]() |
|
||||
Регистрация: 01.02.2013
Сообщений: 1
|
VVA, доброго времени суток!
Выражаю искреннюю благодарность за бескорыстную работу, подборка очень помогает! ![]() Очень хотелось бы развития команды BGBLXCLIPEXP. На данный момент команда работает корректно, но только в том случае если взрываемый блок не лежит "над" или "под" другими объектами, если говорить точно, то всё что попадает на линию контура обрезки блока тоже обрезается. Попробуйте взорвать командой BGBLXCLIPEXP блок в приложенном файле и посмотрите что станет с полилинией пересекающей блок. Короче, на данный момент команда на практике полезна только если отодвигать подрезанные блоки "в сторонку" там взрывать и возвращать результат обратно. Иначе, блоки режут всё что попадает на их контур и получается неправда. Можно ли это как-то исправить? |
|||
![]() |
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Проверю, но уже завтра
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Тестируйте. Выложил версию 2.23
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 11.03.2013
Сообщений: 2
|
Странный день.... Проблема с блоком (или блоками). Ради интереса скачивал файлы с форума (пробовал "взрывать" чужие) и все получалось. Значит дело все таки в кривом подходе с моей стороны.... Подскажите пожалуйста, направления... Попробуйте взорвать. Исходник мне этот не обязателен. Просто у меня куча проектов в таком формате.
![]() |
|||
![]() |
|
||||
Регистрация: 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" не очень понимаю, что он от меня хочет. если не сложно, разбейте пожалуйста файлик. Заранее благодарен. |
|||
![]() |
|
||||
КИП, проектировщик Регистрация: 02.04.2012
Самара
Сообщений: 53
|
Доброго времени суток, уважаемый ALL!
Лисп не знаю, сам иногда пишу на ВБА мелкие проги. Уж не знаю поможет или нет мое сообщение, может кого на мысль наведет интересную или еще что. Работаю и с генпланом и с монтажными чертежами (я КИПовец). Народ у нас по большей части "дикий" и про слои не знает, посему не редкость примитив красного цвета на слое "БЕЛОЕ" и т.п. Генплан вообще имеет порой десятки слоев и цвет примитивов может быть задан и по слою, и по блоку, и напрямую указан. Как правило мне надо всю подложку засунуть в один слой, покрасить в цвет 252 (254) и дальше уже чертить свое. Стиль печати у нас цветозависимый (зеленый - толстый, красный - средний, белый/черный и синий - тонкие, 252 и 254 - бледная подложка) Я написал программку на ВБА: - для всех примитивов, если цвет красный, белый, зеленый, синий, серый - на соответствующие слои. - цвет "по блоку" для примитивов вне блоков считать как белый - в каждом блоке провести подобную перестановку не разбивая блок, цвет выставить "по блоку" или "по слою" (по умолчанию - "по блоку" стоит) - все что не попало под эти правила - желтым и на отдельный слой. В итоге чаще всего получаю серую подложку с несколькими желтыми не проработанными примитивами - можно работать ))) Иногда до запуска программы выделяю все и делаю вручную серым, удаляю размеры и лишние линии (выноски и т.п.)
__________________
Ник AntonFox зарегистрирован! |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
glyuck1, Посмотри внимательно на имена блоков. Перед первым вызовом он имее имя *U47, после второго *U46, после 3 *U45. То есть похоже твой блок 47 раз сделали анонимным.
![]() *Добавлено* Я помнил, что "где-то я эту булочку видел". Нашел. Почитай посты #137 и #138 и еще здесь. Там есть пример вызова UX 50 раз подряд -MonaX-, Хочет он этого Я еще раз проверил код версии 2.23 (vl-load-com) там есть. Не поленись, пожалуйста, скачать последнюю версию.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 10.06.2013 в 22:55. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Небольшой вопрос. Хочется, чтобы в диалоговом окне команды BGBLFIX поо умолчанию была снята галочка "Неименованные" и так же по умолчанию были включены галочки "Игнорировать заблокированные слои", "Установить одинаковые масштабы" и "Разрешить расчленение". Какие строчки кода нужно подправить?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr,
найди в коде строчку Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 2.24 Учел в UX "хитрости" типа многократно вложенного анонимного блока. Пример смотреть в #154 и по ссылкам в #157. В #154 есть еще одна хитрость. В него добавлена маскировка по габаритам всего блока. Долго искал ошибку в UX, пока не додумался включить контуры wipeout'a. Добавил в UX изменение порядка прорисовка для wipeout'ов "на задний план" после расчленения блока
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
В приложенном файле при попытке изменить цвет примитивов, входящих в блок, команда BGBLCC выдает ошибку.
Команда BGCBL2 вообще ничего не делает. Пытался присвоить цвет 8. Использую автокад 2013 (файл в формате 2010), СПДС 8. Что не так? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Проблема в этом
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
А можно сделать, чтобы программа игнорировала все прокси объекты, а не вываливалась с ошибкой? Дело в том, что внутри блока много спдс-объектов и плющить их не хотелось бы. Понятно, что прокси-объекты не получат устанавливаемый цвет, но такой результат вполне бы устроил в некоторых случаях. Ну и выдавать сообщение, что не все объекты были обработаны, для получения полного результата используй EXPLODEALLPROXY и REMOVEALLPROXY.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr, можно, но чуть позже
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер систем безопасности Регистрация: 07.10.2011
Сообщений: 33
![]() |
Уважаемый VVA, недавно набрел на Вашу программу, оказалось именно то, что я давно искал. Вот только есть одна загвоздка. Возможно ли сделать так, чтобы при расчленении динамических блоков программа игнорировала включенный в блоке "запрет на расчленение" и всё равно его взрывала?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
1. Из этого сборника - BGBLFIX - там есть опция "разрешить расчленение" 2. здесь http://forum.dwg.ru/showthread.php?p=548610#post548610 3. http://forums.autodesk.com/t5/Visual...e/td-p/2107647 4. http://www.theswamp.org/index.php?topic=41980.0
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер систем безопасности Регистрация: 07.10.2011
Сообщений: 33
![]() |
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Например, в косяке с моей стороны. Проверить смогу через 2 недели. Пока можешь воспользоваться работающими версиями из других ссылок
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до 2.25.1 Была описка при записи dcl файла.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
_.qselect и вперед
![]() http://community.autodesk.ru/resources/autocad-kak-vypolnit-udalenie-primitivov-opredelennogo-tipa-iz-vsego-faila
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
L-vir, а "+" раскрывался?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Здравствуйте! Решил написать в этой теме, дабы не засорять форум. Вопросов два:
1). Мне нужна програмка, что бы из множества слоёв можно было сделать один текущим а все остальные замороженными, выбирая конкретный объект. У меня сейчас есть вот такая наработка: Код:
2). Есть ли на форуме топик вида "ищу программу"? Часто нужно бывает надо найти конкретный фрагмент кода, программу. Знающие люди сразу могут подсказать, а сам искать будешь долго. Или может быть есть готовый рубрикатор? .. может быть я плохо искал -/ |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
baaba,
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-электрик Регистрация: 13.10.2007
Калининград
Сообщений: 151
|
Здравствуйте,
подскажите пожалуйста, может кто сталкивался: 1. как можно команду BGCOLORXREF модернизировать так, что бы цвет штриховок с типом SOLID оставался неизменным? 2. есть ли LISP, который "из обратного" мог бы в "покрашенной ссылке", указывая слой восстанавливать цвета примитивов по этому слою? Заранее спасибо.
__________________
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. /В. Гюго/ |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Здесь "прародители" команд BGCOLOR*. В том числе ColorXREFL Цитата:
PS. Наверное, нужно добавить подобные команды и к BG*?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-электрик Регистрация: 13.10.2007
Калининград
Сообщений: 151
|
Vova, до перекраски были примитивы со сложными цветами. Нужно восстановить цвет этих примитивов.
VVA, программа bgtools отличная, такой прорыв при работе с внешними ссылками. Спасибо Вам большое за Ваш труд. При работе с ГенПланами, естественно, что съемка является внешней ссылкой. Я разрабатываю проект электроснабжения, и конечно к уже существующим сетям, я добавляю свои. При печати чертежей (monochrome.ctb) есть трудности их восприятия - в большом количестве серо-черных линий нельзя ничего разобрать! Для четкости восприятия решил красить ссылку цветом 253, а в стиле monochrome присвоить этому цвету - цвет из объекта. Если просто выполнить BGCOLORXREF , то сольются тексты на зданиях, которые штрихуются SOLID'ом, и не будет видно ни тип строения, ни номер и т.д. Поэтому я и хотел, что бы цвет штриховок с типом SOLID оставался неизменным. Для этого я в функции ChangeXrefAllObjectsColor из пакета bgtools убрал изменение цвета слоя примитива и добавил условие, чтобы объект HATCH игнорировался. (довольно грубо...) Потом в функции VVA COLORFL поменял часть кода: Код:
Теперь на чертеже все НЕ нужное - серое, цветом 253, а все нужное цветное! Чертеж стал заметно лучше читаться! Это я все к тому, что может многие с этим сталкиваются, а так можно сделать чертеж читабельнее, и если Вы решите, что в этом есть смысл, то можно это добавить к BG*...VVA,
__________________
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. /В. Гюго/ |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Потому что там блоки с именами *Exxx. Добавил их обработку. Обновил до версии 2.27
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 22.05.2009
Москва
Сообщений: 210
|
VVA, в команнде BGResetXRef -Сброс настроек слоев выбранных внешних ссылок на установленные в исходном файле, есть несколько параметров - Выберите XRef для сброса настроек или [Несколько/Все/выбор по Имени/Настройки] <Выход> . Две буквы Н для выбора. И у меня не получилось Настройки посмотреть. Xref не сбросил параметров слоев.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Нет. Только в рамках текущего пространства (модель, лист)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Модифицирую динамические блоки в статические командой BGBLDYN2S. При вставке нового статического блока в таблицу до края ячейки остается расстояние при нулевых отступах. При чем такое происходит только с квадратным блоком (см. вложение). Что тут не так?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr,Если в динамическом блоке есть несколько видимостей, и Автокад создает из динамического блока статический, то в "видимой" остается текущая видимость, а остальные остаются в блоке, только свойство видимости у них отключено
Загрузи лисп в Автокад, зайди в редактор блока и выполни команду ShowEM Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Как можно изменить цвет текста мультивыноски чохом для многих, если он был задан внутри редактора многострочного текста при редактировании/создании текста мультивыноски? Форум проискал нет такого лиспа. Подоснову готовят на белом, я же его органически не переношу - глаза выжигает.
__________________
tc71 |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
perpetule, думаю, что StripMtext отсюда - самое оно.
|
|||
![]() |
|
||||
Регистрация: 23.03.2010
Сообщений: 3
|
Здравствуйте!
Буквально только что познакомился с утилитами. Отличная вещь, сильно выручает. Полистав форум, попадались посты с обсуждением функции задания толщины линий для ссылки только в текущем чертеже по образу и подобию BGCOLORXREF. Существует ли сейчас такая функция? Может есть отдельный лисп? Объекты подгружаемого чертежа имеют толщины линий, отличные от "По Слою" |
|||
![]() |
|
||||
Регистрация: 23.03.2010
Сообщений: 3
|
Не совсем. Данная команда требует изменения исходного (подгружаемого) чертежа путем задания всем объектам свойств "По Слою".
А команда BGCOLORXREF из набора утилит не затрагивает исходный чертеж. Или команда _setbylayer работает только в текущем сеансе? |
|||
![]() |
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010
|
Ув. VVA!
Пожалуйста, что изменить в функции bg:block-color (BGBLCC - Изменяет цвет выбранных блоков), чтобы игнорировать, например, атрибуты и тесты (перекрашиваем всё внутри блока, кроме текстов и атрибутов)? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Для атрибутов просто закоментарить кусок
Код:
Чтобы исключить тексты нужно вносить изменения в ф-цию _pl:block-color Пока у меня большая загрузка на работе, времени нет ----- добавлено через ~2 мин. ----- Отдельной функции в этом сборнике не существует. Как вариант - ссылкам задать уникальный цвет, например 151, а при печати в ctb файле этому цвету задать нужный вес линии
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось Кулик Алексей aka kpblc, 08.10.2014 в 17:14. |
|||
![]() |
|
||||
Инженер Регистрация: 29.07.2013
Москва
Сообщений: 5
|
Команда - BGBLCC - отличная. вот только хотелось бы еще одну что-то на подобие для следующей ситуации. Есть блок, в нем еще один блок, и название допустим у этого единого блока - СУПЕР БЛОК. Если я делаю копию блока СУПЕР БЛОК, то естественно их получается два. НО вот когда указывю командой - BGBLCC - один из блоков и меня цвет блока, второй дубликат тоже меняет цвет. А как сделать так что бы у дубликата не менялся цвет. просто на чертеже много всталвенно блоков однотипных с одним и тем же именем, а программа разом меняет их все. Как сделать так - что бы именно для выбранного меняла цвет
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 2.29
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
И снова я. После применения bgcft, в таблице, символы метр кубический превращается в метр квадратный. Шрифт mipgost, коды символов не менялись. Меняется независимо вставлен метр куб. одним символом или двумя. За пределами таблицы, в тексте все хорошо.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, Выложи пример. BGCFT форматирование текста не трогает. По поводу #209 настройки высоты текста и поворота хранились в свойствах ячейки. Я сначала читал текст, записывал в ячейку пустую строку, потом снова записывал прочтенный текст. При записи в ячейку пустой строки и слетали изменения, примененные индивидуально к ячейкам. Я эту строчку просто закомментировал.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 2.30 Проблема связана с этим vla-get-textString \U+ symbols
Как решить 100% для таблиц не нашел. Пока исключил обновление ячеек, если в них не содержится полей. Попасть на проблему можно в случае, если 1. В одной ячейке содержится и поле и текст с юникодом (\U+ ... ) 2. Если значение поля совпадают То есть если в таблице есть 2 ячейки с полями, возвращающими одинаковые значения и в этих ячейках содержится текст с юникодом (\U+ ... )
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 06.11.2014 в 22:11. |
|||
![]() |
|
||||
Регистрация: 27.06.2013
Сообщений: 58
|
Уважаемые авторы программы Можно преобразовать атрибуты в текст в размерах в таблицах без разрушения элемента (например как в вопросе http://forum.dwg.ru/showthread.php?p...#post1335098)? Было удобно иметь такую команду в арсенале. Спасибо!
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zmejsan, Обновил до версии 2.31
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Вопрос к VVA:
Программа BGHATCHDEL (удаление штриховки) удаляет любую штриховку из блоков. Как бы сделать так, чтобы штриховка удалялась по выбору. Например, мне надо удалить только штриховку SOLID из блоков, другие типы штриховок не трогать. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
1. Написать вариант удаления штриховок SOLID 2. Перебрать все штриховки и составить список имен для выбора 3. Считать имена штриховок из *.pat файлов В моей практике пока что так же требовалось удалять SOLID штриховки
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер систем безопасности Регистрация: 07.10.2011
Сообщений: 33
![]() |
Уважаемый VVA!
Можно ли добавить в bgtools команду для расчленения всех таблиц на чертеже, либо поправить bgballdyn2a и bgballdyn2s так, чтоб они видели блоки вставленные в ячейку таблицы? Все свободные дин. блоки на чертеже преобразовываются в статические либо анонимные, а те, что вставлены в ячейку таблицы игнорируются ((( Пример прилагаю. Последний раз редактировалось adu, 10.12.2014 в 15:57. |
|||
![]() |
|
||||
инженер систем безопасности Регистрация: 07.10.2011
Сообщений: 33
![]() |
Данное действие необходимо в составе множества других. Для одного чертежа конечно можно вручную исполнить, но когда их большое количество это очень затратно по времени.
Мне необходимо задать все эти действия (в том числе и расчленение таблиц) на одну кнопку. |
|||
![]() |
|
||||
Интересный случай в http://forum.dwg.ru/showthread.php?p...16#post1348616.
Анонимные блоки отметок высот (синего цвета) содержат вложенные тоже анонимные блоки. И, похоже, в каждом из них точка привязки с координатами с огромными значениями. Т.е. при разбивании или при преобразовании в именованные блоки все они отлетают на величину, равную этим значениям координат. Причем, возможно, у каждого из этих блоков отметок свои координаты точек привязки. Т.е., если все такие блоки преобразовать или все разбить, а потом сдвинуть, то они могут на свои места не сесть. Может быть предусмотреть еще одну команду - замены координат точки привязки на 0,0? В принципе, готов снять это предложение - анонимные блоки из той темы почему-то нормально разбиваются обычным _explode и без отлетания. ![]()
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 12.12.2014 в 20:49. |
||||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Странная вещь происходит. В чертеже есть аннотативный блок, который имеет в себе больше одного аннотативного масштаба. В блоке есть односточный и многострочный атрибуты. К чертежу применяется BGBLALLDYN2S или BGBLALLDYN2A. Блок правильно преобразовывается и отображается. После сохранения, закрытия и открытия, многострочный атрибут отображается в том масштабе в котором блок вставлялся в чертеж. Т.е. текущий масштаб на момент вставки был 1:100, блоку был добавлен масштаб 1:200, видовой экран имеет маштаб 1;200 и до закрытия все выглядит отлично. После открытия многосторочный атрибут имеет высоту под масштаб 1:100.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, Выложи пример, посмотрю, хотя идей никаких. В вышеназванных командах используются стандартные методы динамических блоков
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 19.10.2012
Киев
Сообщений: 748
|
здравствуйте!
хотел спросить возможно ли в диалоговое окно "BGBLFIX" добавить просмотр миниатюр блоков? хотя по моему это выглядит как сверхнаглость ![]() простите если такое уже спрашивали, бегло просмотрел тему не увидел похожего вопроса |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
К сожалению в DCL этого нельзя. По крайней мере я не знаю как это можно сделать
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Команда BGCFT убивает текст в мультивыносках с полями. Содержимое полностью стирается.
А команда CFTAll отсюда http://forum.dwg.ru/showthread.php?t=20190&page=2 символы в вопросы превращает. Что делать.. Последний раз редактировалось shartal, 27.03.2015 в 15:29. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 2.32
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
В файле есть. Добавил в #1
без файла помочь ничем не смогу
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Просто открываю пустой файл, рисую несколько примитивов, руками меняю свойства. Вызываю программу, ничего не меняется. Может я неправильно понял назначение лиспа? (я так понял, что меняет все свойства объектов на "по слою").
Акад 2016демо. Вин7х64 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
RNB, Нет. Она явно задает примитивам свойства слоя Отрезок с цветом "послою" на слое "0" красного цвета после PFL будет красного цвета.
Это делает или Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Выложи файлик, в котом появляется я ошибка. А так же укажи версию и разрядность Автокада (и опрерационной системы на всякий случай)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Скажу честно, что этот вопрос пропустил. Нужно немного подумать
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Теперь ответ есть. Обновил до версии 2.34
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Версии 2.32-2.34 периодически выдают подобные штуки. 2.27 работает как часы, но там неполноценный BGCFT
Команда: BGBLEXP _.UNDO Текущие настройки: Авто = Вкл, Управление = Все, Объединить = Есть, Слой = Есть Количество отменяемых операций или [Авто/Управление/Начало/Конец/Метка/Обратно] <1>: _Mark Команда: _draworder Выберите объекты: найдено: 4 Выберите объекты: Задайте параметр перестановки [Перед объектами/За объектами/пЕредний план/зАдний план] <зАдний>: _f Выносная линия откреплена. Размер откреплен. Выносная линия откреплена. Команда: неверный тип аргумента: stringp nilВыполняется регенерация модели. Уточнение: так происходит после выделения через Ctrl+A и последующего применения команды. UPD. Также нашел одиночный блок, который не бьется версией 2.34, версией 2.27 - на ура. Отправил в скайп, ибо так и не понял, как к личному письму добавить вложение Последний раз редактировалось RNB, 05.06.2015 в 13:39. |
|||
![]() |
|
||||
Возможно ли создать вариант BGBLEXP с возможностью взрывать блоки с атрибутами ( с превращением в текст), работающий в том числе с блоками с запретом расчленения, хотя включать такую функцию в готовый пакет видимо не стоит ...
Либо как вариант - новая функция делающая указанный блок взрываемым, без вызова редактора блоков. P.S Функция делающая все блоки чертежа взрываемыми - есть, нужно именно с возможностью выбора explodable-true.lsp (IF (NULL C:explodable-true)(LOAD "explodable-true.lsp")) Вопрос снимается, есть готовое решение - успешно рушит блоки и атрибуты до текста причем у блоков с запретом взрываемости. http://www.lee-mac.com/upgradedburst.html
__________________
tc71 Последний раз редактировалось perpetule, 16.06.2015 в 12:11. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Подскажите пожалуйста, делаю U2BM. Всё нравится, но получается:
был один блок *U2 стало U2B-U2, U2B-U2-1, U2B-U2-2 и т д. А мне нужно что бы был один блок, U2 например. Можно как то этого достичь? |
||||
![]() |
|
||||
Попробовал сам сварганить. Заработало:
Код:
http://adndevblog.typepad.com/autoca...sp-or-vba.html См. defun c:ren_blk |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
На анонимных блоках не сработает. На динамических блоках (как мне кажется) не сработает.
----- добавлено через 43 сек. ----- http://adn-cis.org/rename-anonymous-...sp-or-vba.html
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Предлагаю меню для использования функций из программы BGTOOLS.
Для удобства использования я сделал для меню панельку с кнопками и перераспределил эти функции в 4 группы: Операции с БЛоками Операции с ЦВетом Операции с СЛоями Операции с ПОлями Последняя кнопка запускает программу удаления штриховок. Меню несколько корявое (длинноваты кнопки с названиями программ), может, кто-нибудь оптимизирует его? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
TAPA3, извини, конечно, но:
1. иконки прекрасно импортируются в cuix. Их отдельно предоставлять не нужно вообще. 2. зачем нужен документ "подготовка подосновы" я не очень понял. 3. mnr (и, на будущее - mnc) файл не требуется: его AutoCAD создает автоматически.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 05.07.2013
Сообщений: 39
|
Здравствуйте! Подскажите пожалуйста как можно убрать в лиспе окно с подтверждение команд BGCFT и BGCFTSEL? Нужно чтобы при вводе в командную строку не появлялось окно с подтверждением команд а выполнялась сразу команда! Help me
![]() |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
исправил. проверяй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
После применения команды BGBLEXP1NOATT , в строке состояния остается инфа о проделанной работе. Она отображается у всех открытых к данному моменту файлов и не пропадает даже если закрыть файл, где команда запущена была. Исчезает только после создания нового файла.
|
|||
![]() |
|
||||
Регистрация: 13.02.2014
Сообщений: 17
|
При выборе цвет всем объектам командой bgcolor, пишется: "Ошибка Automation. Отсутствует описание" и не меняется цвет.
При BGCBL2 - "Ошибка Automation. Ключ не найденОшибка Automation. Неверный слой" Последний раз редактировалось VaniaLSD, 28.10.2015 в 14:26. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
VaniaLSD, Выложи пример dwg файла, в котором происходит ошибка
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
у меня так же все работает. поэтому и прошу выложить проблемный файл
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
VaniaLSD, В файле полно ошибок. А так же если сделать _Zoom _all, то он улетает к солнцу
Цитата:
Цитата:
Цитата:
Добавил отлов ошибок. Обновил #1
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Почти все. Я в #276 привел данные глючной мультивыноски, audit'ом она не лечилась, а жизнь портила. Поэтому отлов ошибок пришлось все равно добавлять
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zvyagaaa, Можно, но только в понедельник. Можешь пока сам добавить в lsp файл эту функцию
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
или Reset XRef Layers
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 07.12.2015
Сообщений: 4
|
Дело в том что во внешней ссылке есть блоки, цвет которых задан не по блоку а принудительно (например зеленый). Команда BGCOLORXREF изменяет цвет всей внешней ссылки, включая все блоки (независимо какой цвет был задан в редакторе блоков), но при повторном открытии эти блоки остаются опять неизменные, т.е. зеленые. Системная переменная VISRETAIN стоит на 1. Или решение проблемы можно только путем сброса цветов блоков во внешней ссылке?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Так и должно быть. Нормализуй блоки и выполняй чертежи по принятым правилам - и все будет хорошо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Решение
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Генплан Регистрация: 16.03.2014
Сообщений: 33
|
Здравствуйте уважаемые форумчане!
Можно ли как то команду BGCFT (Конвертирует все поля в обычный текст) заточить так, чтобы не открывая чертежи, пачкой преобразовывать поля? Мы просто юзаем подшивки, ссылаемся полями из разных чертежей на общие данные, и если внедрение ссылок решается формированием комплекта, то поля остаются. А значит снова открывать сто-пятьсот чертежей. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
Заметил также, что если файла подшивки нет, то поля не превращаются в решетки, но и исправить их источник тоже нельзя. Может, просто отправлять да и шут с ними, этими полями? Хотя, может, я и не совсем понял, что имеется в виду под "ссылаемся полями на общие данные" - может, там и появляются решетки? В реализации массового преобразования полей в куче файлов разом я вижу как минимум один препон: доступ к неактивному файлу из лиспа есть только через ActiveX, а с его помощью, насколько я знаю, нельзя получить код поля мультивыноски. Его, вроде бы, можно получить только через dxf, то есть - AutoLISP, а он не может работать с неактивным документом. Поэтому как минимум с мультивыносками - уже пролёт. Поправьте меня если я ошибаюсь. |
|||
![]() |
|
||||
Генплан Регистрация: 16.03.2014
Сообщений: 33
|
Цитата:
У нас, думаю как и у большинства компаний, определенная процедура передачи комплекта Заказчику: Первая папка с файлами dwg, doc/docx, jpeg/png и т.п. составляющие в целом комплект. Чтобы Заказчик дал комплект мальчику, мальчик открыл нужный файл, померял там что нужно, или копирнул. Поработал в общем. Файлы без подписей-картинок. Вторая папка с единым или россыпью файлами pdf, типа подписанные (подписи-картинки). Чтобы опять же - Заказчик дал его мальчику, мальчик отправил тупо на печать, готов экземпляр куда там нужно. Итого - только в одном комплекте может быть под сто и больше чертежей. По требованию Заказчика в одном файле может быть один лист, плюс в имени файла шифр листа. С введением подшивки конечно распечатать в pdf или кинуть нужный комплект на плоттер стало значительно проще. Введение системы внешних ссылок тоже дает ощутимые плюсы. Введение полей со ссылкой на свойства подшивки предполагали плюсы (изменение например названия объекта, фамилии ГИПа и т.д.), однако за время работы над объектом единственное что пока менял - дату)). Ну а при комплектовании чертежей в ревизию мы преобразовываем поля и внедряем ссылки, чтобы у Заказчика не возникло сложностей с чертежами. Команда eTransmit решает проблему массового внедрения внешних ссылок (конечно при условии отсутствия прокси-объектов)), как я уже писал. Не скажу что такая система нравится, но что есть, с тем и работаем. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата отсюда Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 11.12.2015 в 21:58. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Alex_GSP, и Вам не хворать
![]() А как? Пробую Код:
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Для мультивыноски нужно ковырять dxf. Отредактировал #293
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 03.01.2016
Сообщений: 7
|
Здравствуйте! Пытаюсь командой BGCTFCEL преобразовать поля в размерных примитивах. В примитиве размерное значение находится над размерной линиией, а вставленное поле под ней. В текстовой строке размерного примитива прописан код
Код:
Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
WilliamClassic, Обновил до версии 2.41
----- добавлено через ~3 ч. ----- ЗЫ Плохо скопировал код. Файл перезалил. Архив переименовал в bgtools 2.41a.zip
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 04.01.2016 в 17:34. |
|||
![]() |
|
||||
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
![]() |
Очень часто приходится работать с чертежами АР, выполненными в Архикаде.
Такие чертежи, экспортированные в dwg несут в себе множество слоев "ном_пера" что-то там. Пока отключишь на всех подложках все не нужные для работы слои - замучаешься. Есть какая-то потребность оптимизировать этот процесс. Может быть можно перенести настройки видимости слоев с одной X-ref на другую аналогичную? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Создаешь фильтр слоев, устанавливаешь видимость. VISRETAIN - в 1, например
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Это делается Диспетчером конфигурации слоев, который можно импортировать в файл. Есть одно не удобство, названия слоев ссылки начинаются с названия файла ссылки, чтобы конфигурация работала, надо ссылку переименовывать в соотв. с названием сохраненным в конфигурации. И можно это делать только если ссылка одна.
|
|||
![]() |
|
||||
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
![]() |
Не очень доходчиво...давайте на пальцах )
у меня в рабочем файле 5 ссылок (в каждой по 70 слоев): план 1го этажа...план 5го этажа. В принципе то названия у слоев одинаковые, но в рабочем файле им предварительно выставлен индекс, состоящий из названия файла ссылки. Мне в данный момент для работы нужны например только 5 слоев из 70 в каждом X-ref. Тоесть мне надо отключить 325 слоев. Из-за этого индекса, я не могу сделать это быстро при помощи фильтра или диспетчера конфигурации. Ну может быть могу, но не умею )) |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Звездочки * в имени в помощь. И без разницы, что стоит в начале/конце линии.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Пока видео делал, уже ответили...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
![]() |
Спасибо за видео, а теперь вот моя картинка...Все слои одной X-ref не влезают в экран, а у меня таких 5. Красным цветом обведены слои, которые в данный момент хочу отключить, оставить только оси, колонны и несущие стены, и так 5 раз. Но это в данный момент времени, а может быть завтра мне понадобиться включить другие слои, и так тоже 5 раз. В общем геммор.
Я так понимаю, мне для решения задачи надо немного модифицировать BGResetXRef, только в качестве эталона надо принимать не исходный файл, а указанную ссылку. |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Soldat_OV, ты чего в результате хочешь получить? Переименовать дин.блок?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
Хочу чтобы динамический блок стал "нормальным", чтобы с этим блоком можно было программно работать. Например, у меня динамический блок - рамка для чертежа и мне надо из его атрибутов брать размеры и передавать их как рамку на печать. Если у меня динамический блок - рамка с именем "*U*", то я не смогу точно знать из какого блока мне брать атрибуты, для дальнейшей обработки. И вообще если у меня на чертеже несколько одинаковых динамических блоков, но некоторые из них unnamed, я не могу их собрать в один набор для дальнейшей обработки. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
У динамического блока получить значения параметров (программно) - не проблема вообще ни разу. Получить имя дин.блока - тоже (см.свойство EffectiveName). Получить вхождения дин.блока - тоже можно (решения на форуме были).
Я вообще не понимаю сути твоей проблемы.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
1. Брать размеры из атрибутов Редактирование атрибутов блока (скрытых и постоянных) 2. Размеры брать прямо из параметров динамического блока. В таком случае атрибуты не нужны вовсе кто знает есть ли доступ к параметрам динамичесого блока из Lisp Я бы рекомендовал 2-й вариант
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
Цитата:
![]() Спасибо, попробую 2-й вариант! ![]() |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
И снова я возвращаюсь к обработке динамических блоков. С рамкой для печати я разобралась, все получилось! Спасибо!
Но я решила переименовывать динамические блоки, вместо имени *U... я беру EffectiveName. И тут у меня начались танцы динамических блоков. При переименовывании у динамического блока меняется свойство Flip, если значение установлено как Flip. После переименовывания свойство меняется на противоположное и блок переворачивается! Небольшое уточнение, блок переворачивается в конце, перед следующим запросом. Что делать? Почему это происходит? Подскажите, пожалуйста! Переименовываю таким способом: Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 22.03.2016 в 10:31. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Во-первых, очень странная маска для wcmatch. Во-вторых, насколько я помню (могу ошибаться), переименовать анонимный блок "в лоб" невозможно. И, наконец, в-третьих: ну вставлено, к примеру, 10 дин.блоков с одинаковым эффективным именем. И тут один из них подобным кодом "переименовывается". Что произойдет с остальными вхождениями этого блока?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
Кулик Алексей aka kpblc, Во-первых, маску для wcmatch я у кого-то подсмотрела
![]() Во-вторых, имя у блока меняется, после запуска программы ![]() В-третьих, это для наглядности я беру один блок, но планируется выбирать все анонимные блоки и всем менять имя на EffectiveName. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Или в этой теме смотри команды Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
VVA, Спасибо огромное! Функции BGCB и BGRB, работают отлично! Но конечный результат - все блоки переименовать. Поэтому в этой теме http://forum.dwg.ru/showthread.php?p=577878#post577878 я почти нашла то, что мне нужно!
Но возник вопрос к Кулик Алексей aka kpblc. Программа в посте #3 из темы "LISP: Переименование одного из вхождений блока" меняет у всех динамических блоков EffectiveName? Или я может чего не так поняла? ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
А для чего все это нужно?
Эти команды не подойдут? Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
VVA, Это все не просто
![]() Цель в итоге такая: когда приходят чертежи от смежников (архитекторов), чертежи скажем так, не очень высокого качества, и для того, чтобы продолжить с ними работу, необходима первоначальная чистка, которая на один проект приходится 10-20 раз. Т.е. каждый раз, когда по одному проекту приходит измененный чертеж от смежников, приходиться чистить одно и тоже. Так вот написана программа, которая запоминает удаление объектов, записывает их, а потом при последующих чертежах с изменениями запускается. Что экономит время на чистку. Но для того, чтобы правильно происходила повторная чистка применительно к блокам, необходимо, чтобы у всех динамических блоков были одинаковые имена. Вот отсюда и необходимость привести все блоки в порядок. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Каким образом запоминает? Если речь идет про один и тот же чертеж, то метка примитива (dxf группа 5) будет уникальна в этом чертеже. Вполне достаточно. Чтобы отследить изменение геометрии, или других свойств (слой, цвет, вес) можно сравнивать (хранить) подсчитанную хеш-сумму строки entget примитива (можно набор только конкретных полей) Это обсуждалось в теме Lisp. Выделение нового в чертеже Там же есть и готовые примеры
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2009
Воронеж
Сообщений: 39
|
VVA, к сожалению метка примитива (dxf группа 5) не подходит, так как чаще всего все чертежи от архитектора собираются в один чертеж, а при вставке чертежа как блок и последующей его разбивке, метка примитива меняется. Также рассматривали вариант копирования и вставки, но при этом handle тоже меняется. Т.е. каждый раз, когда приходят чертежи, они собираются в один и проходит чистка, т.е. удаление примитивов и разбивка блоков. Определенные признаки (в зависимости от типа примитива) записываются в текстовый файл, а при последующей чистке считываются строчки из файла и повторно удаляются.
За ссылку большое спасибо! Обязательно изучу ее ![]() |
|||
![]() |
|
||||
Регистрация: 06.04.2012
Львов
Сообщений: 47
|
Какой командой можно взорвать динамический блок, чтобы видимые атрибуты преобразовались в текст. Дело в том, что один из атрибутов содержит поле. Команды BGBLEXP1 и BGBLDYNEXP1 при взрыве удаляют его. С остальными атрибутами все отлично.
|
|||
![]() |
|
||||
проектирование а/дорог Регистрация: 03.07.2013
СПб
Сообщений: 388
|
Burst из express tools
Последний раз редактировалось Linkshunter, 24.03.2016 в 15:45. Причина: прочитал лицензию к ET |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Сделал, чтобы не удаляли. См. #1
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
В определении атрибута "ФАЙЛ" (в редакторе блока) включен режим "постоянный" и "установленный".
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 24.03.2016 в 20:46. |
|||
![]() |
|
||||
Регистрация: 06.04.2012
Львов
Сообщений: 47
|
Цитата:
Отключение режима "установленный" ничего не меняет - атрибут слетает. А вот если отключить режим "постоянный", тогда, да, атрибут ФАЙЛ остается после взрыва. Но он становится бесполезным. В этом блоке он после регенерации отражал имя файла, в который был вставлен. А при отключенном режиме "постоянный" он показывает имя файла, в котором создан блок и не обновляется при регенерации. Существуют ли команды, которые могут чисто разбить такой блок? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
У меня отображает имя файла, в который вставлен
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 06.04.2012
Львов
Сообщений: 47
|
Если просто открыть файл, скопировать и вставить блоком в чертеж - тогда имя файла чертежа отображает. Но если вставлять через команду Веткада (что намного быстрее), то отображается имя файла блока и не меняется при регенерации. Если втавить блок повторно Веткадом - только тогда отображается имя текущего чертежа. Получается, это баг Веткада.
А почему режим "Постоянный" так не "нравится" этим командам? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Установи этот режим, обнови блок и найди этот атрибут в окне свойств. Его там не будет, следовательно, его нет во вхождении блока, поэтому он не нравится командам.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 06.04.2012
Львов
Сообщений: 47
|
Да, в свойствах этого атрибута нет. Понимаю, что его нет во вхожении блока. Вот только непонятно, что видно в том самом месте, где в редакторе блоков стоит атрибут ФАЙЛ. И при этом отображает то, что забито полем в этом атрибуте?
Я не прикалываюсь, мне дейсвительно интересно ![]() |
|||
![]() |
|
||||
Регистрация: 02.04.2016
Сообщений: 12
|
VVA, не знаю насколько сложно в реализации...
LISP, который взрывает все блоки (1, 2, 3... уровней), входящие в состав целевого блока (0 уровня), не взрывая его. В результате получаем блок с набором примитивов вместо каши с многоуровневыми вхождениями блоков. В идеале — с мультивыбором блоков для данного типа обработки. Если есть возможность реализации — буду рад. Наверняка пригодится кому-либо еще. Возможно решите включить в состав bgtools (думаю оно того стоит). |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Что делать, если блоку, который надо разбить, установлен признак "неразбиваемости"? Как обрабатывать заблокированные, замороженные и выключенные слои? Как обрабатывать атрибуты?
P.S. В принципе, можно попробовать использовать готовые исходники burst...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 02.04.2016
Сообщений: 12
|
Кулик Алексей aka kpblc,
— неразбиваемость: не обрабатывать, игнорировать, на совести пользователя (BGBLFIX) — обработка слоев: не обрабатывать, игнорировать, на совести пользователя (вручную) — атрибуты блока: преобразовывать в текст средствами самой функции (или удалять) |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Образец штриховки любой или только SOLID?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Для работы нужно, чтобы bgtools были загружены (либо скопировать оттуда функции bg:layer-status-save и bg:layer-status-restore)
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Зайди в редактор блоков и посмотри имя образца штриховки. Оно не SOLID, а _SOLID
Поменяй на SOLID, и все отработает BGBLFIX , обрабатывает указанные в списке для нормализации блоки в таблице описания блоков. Там без разницы, вложенный блок или нет. Но у меня ощущения что я не понял сути вопроса
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 24.05.2009
Екатеринбург
Сообщений: 86
|
VVA, спасибо, вот, что получилось, что гораздо быстрее стандартных средств!
Чтобы выделить объект для проектирования или досъемку, приходиться выполнять такой алгоритм команд 1. BGCOLOR - Задает выбранный цвет всем объектам 2. BGHSCOLOR - Задает цвет 255 штриховкам всех блоков. 3. BGHSCOLOR1 - Задает цвет заданный BGCOLOR штриховкам выбранных блоков, так как их гораздо меньше, чем со штриховкой 255 4. BGENCC - Изменяет цвет выбранного элемента блока, где штриховка _SOLID В итоге получается приложенный файл, сделанный из предыдущего. |
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Необходимо взрывать динамические блоки с геометрическими зависимостями так, чтоб геометрия оставалась неизменной, а зависимости снимались.
Выполняю BGBLDYN2S затем explode - геометрия неизменна, но все свойства примитивов и атрибуты естественно теряются После BGBLDYN2S + BGBLEXP геометрия разлетается. Если после BGBLDYN2S в редакторе блоков снять все зависимости, сохранить его, и выполнить BGBLEXP -то получается то что нужно. Может сможете дописать к BGBLDYN2S снятие всех зависимостей внутри блока? Или отдельной командой, которая отфильтрует только статические блоки из выборки и снимет внутри них зависимости. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
quazi, выложи dwg с примером. Посмотрю. Зависимостям никогда не пользовался
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
vlax-erased-p - функция лиспа. Даже не знаю что посоветовать. Может переустановить Автокад?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 17.07.2008
Сообщений: 75
|
Ситуация оказалась совсем загадочной, установил не удаляя другой ACad, т.е. был 2015, установлен 2016.
В 2016 то-же самое сообщение в командной строке, может в системе что-то потерялось? Что в самом Windows отвечает за поддержку этих функций? |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
попробуйте так:
1.Открыть пустой чертеж. 2. В комстроке "(vl-load-com)" - вставлять/вводить вместе со скобками. И ввод. 3. Наберите/вставьте в комстроке "(vlax-erased-p)" и ввод. Должно ругнуться - что слишком мало аргументов. Если так - то функция работает. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Интересно. С чего акад решил устанавливать переменную CMDECHO, причем неинициализированной переменной (значением nil). Но не ругнулось же на отсутствие определения vlax-erased-p. Теперь попробуйте перед первым вызовом любой команды из bgtools один раз в комстроке ввести "(vl-load-com)".
|
|||
![]() |
|
||||
Регистрация: 17.07.2008
Сообщений: 75
|
переустановил сервиспак 2016 и ситуация исправилась
но есть одна странность с командой BGCFT повесил макрос на кнопку Код:
вызов BGCFT пробелом приносит нужный результат, сначала думал что дело в макросе, но почему иногда вызов BGCFT напрямую заканчивается так-же? есть ли способ вызова BGCFT без диалогового окна? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я сейчас в отпуске и не смогу ничего посмотреть до 5 сентября. Вдруг если забуду, напомни после 5-го
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Проверил на 2016 Автокаде. Все работает. Версию bgtools специально скачивал с #1. WIndows 7x64 корпоративная, Автокад 2016 SP1 + hotfix
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
В макросе вызвать
Код:
Код:
Кнопка Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Цитата:
Но к сожалению взрывания блоков мне не избежать, а они гады разлетаются. В приложенном файле несколько вхождений блока. Блок содежит геометрические и 2 размерные зависимости. Применив BGBLEXP ко всему чертежу получаю кашу. BGBLEXP к первому блоку отрабатывает нормально, просто сохраняются зависимости которые можно снять вручную. Если выполнить BGBLEXP, а за ней _DelConstraint к полученным примитивам, то таким образом по одному можно корректно обработать все блоки. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Может, тогда попробовать сначала вообще все зависимости снести?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Цитата:
Пример во вложении. Делаю (_stripconstraint), затем BGBLEXP - штриховки вылазят наверх. Теперь можно для каждой полученной штриховки выполнить _hatchedit и выбрать Draw order: Send Behind Boundary - получается необходимый порядок, выглядит как до взрывания. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Мыслей пока никаких. Даже штатная команда не восстанавливает порядок следования. fixDraworder так же не помог
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Отопление и вентиляция Регистрация: 31.10.2008
Москва
Сообщений: 445
|
у меня предложение . было бы хорошо если бы BGBLALLDYN2S , не просто формировал из 1000 динамических блоков 1000 статических.а брал бы значения всех свойств и формировал новый блок тип анзвание_свойтсво1_значение_свойства1_ .... и т.д. чтобы в итоге получлось не 1000 новых блоков а 15-20 .
и еще можно добавить удаление всех wipeout, а то wipeout в количестве 1000-2000 inre очень тормозят чертеж |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 21.10.2008
Петербург
Сообщений: 19
![]() |
Добрый день. При использовании BGCFT из состава bgtools 3.1a наблюдаю следующую проблему:
Имеется рамка со штампом - динамический блок, в котором номер текущего листа берётся из названия вкладки листа и указывается в штампе посредством вставки в атрибут этого дин. блока с помощью поля (Ctrl+F) такого DieselExpression: Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Могу пока только предложить исключать из обработки поля со ссылкой на diesel выражение и переменную CTAB. Т.е. тексты и атрибуты, в содержании которых есть ссылка на поле "%<\\AcDiesel $(getvar,\"CTAB\")>%" будут исключаться из обработки. Делать?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 21.10.2008
Петербург
Сообщений: 19
![]() |
Спасибо, не нужно, решение из #399 помогло.
Благодарю, помогло! Это принудительная перезагрузка переменной ctab просто? (С последующим обновлением листа). |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
VVA, возможно добавить вариант команды BG1BLEXP но только когда блок вставлен 1 раз.
Поясню, приходят чертежи экспортированные из других программ, где часто все отрисовано блоками, и данный блок используется 1 раз. Хотелось что-бы команда взрывала такие блоки, естественно с сохранением значений атрибутов.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
zenon, В принципе не вижу проблем. Вопрос что считать вставкой блока:
1. вставка блока 1 раз в текущее пространство (например модель), при этом блок может быть вставлен в пространство листа 2. вообще во всем чертеже существует только одно вхождение блока 3. считать ли вставкой вхождение блока в состав другого блока?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
1. вставка блока 1 раз в текущее пространство (например модель), при этом блок может быть вставлен в пространство листа - возможно сделать только для текущего пространства?
2. вообще во всем чертеже существует только одно вхождение блока - именно так. 3. считать ли вставкой вхождение блока в состав другого блока? - нет, только первый уровень.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Мне кажется, или эти пункты конфликтуют между собой?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
С чего бы им конфликтовать? Ты находишься в листе, а единственное вхождение блока - в модели.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Переформулирую вопрос. Возможное вхождение с состав другого блока не анализируем. Анализ есть ли блок, имеющий одно вхождение в другом пространстве исключаем. Если он имеет одно входение в другом пространстве, то его нет в текущем. Нефиг тогда здесь вызывать команду
Остается такое определение 1. Блок вставлен 1 раз в текущее пространсво (например модель). При этом возможные вставки блока в другое пространство (например листа/листов) и возможное вхождение блока в состав другого блока не анализируются Так?
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 19.07.2017 в 16:36. |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Цитата:
![]()
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Как это в чем? Во первом пункте zenon просит сделать проверку только для текущего пространства, а во втором, чтобы во ВСЁМ чертеже был только один блок.
Последний раз редактировалось RNB, 20.07.2017 в 14:35. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Эммм... Как бы тебе объяснить? А, во, придумал!
1. В квартире (может быть) есть паук 2. Его надо убить 3. Проверить только кухню. 4. Если паук на кухне не обнаружен, выйти из квартиры. Так более наглядно? ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Цитата:
А во втором просит проверить всю квартиру на наличие паука. Цитата:
Наглядно? То о чём договорились дальше здесь в расчет не берется, ибо про конфликт я писал до этого. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Offtop: Для dwg.ru есть новая фишка - объясняться в пауках.
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
У меня почему всё равно получается анонимный блок (unnamed block), вот такой например: *U232
У меня массив блоков, а нужно взорвать, что бы были единичные вхождения блока, но с тем же именем. Файл прилагаю. Последний раз редактировалось baaba, 04.09.2017 в 17:35. Причина: дополнил, приложил пример |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Код команд M2U и M2B одинаков. Наверное, когда-то невнимательно внес (или забыл внести) изменения. Внес исправления
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 16
|
Добрый день, уважаемые спецы.
Возник вопрос с приложенным файлом. Заказчик выполняет чертёж в связке АвтоКАД+СПДС+Что-тоЕщё. Файл формата АвтоКАД2010. На чертеже имеются блоки которые при взрыве исчезают. Опробованы различные варианты и с bgtools и ExplodeM. Если применить BGBLEXP - все найденные блоки исчезают. Другие различные варианты и комбинации также не дали результатов. Требуется взорвать блоки, но так чтобы всё осталось на плане. Прошу помощи уважаемые. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
М.б., ExpodeAllProxy?
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
Здравствуйте!
Благодарю автора(ов) за отличную программу! Есть предложение(пожелание) по развитию этой программы. Было бы замечательно, если можно было бы делать статическими не только динамические блоки 1 уровня, но и вложенные, даже при многократном вложении. Готовлю файлы для передачи смежникам и заказчику, не хочу, чтобы динамические блоки (свои наработки для быстрого редактирования) оставались в чертежах. Просто взрывать все блоки не подходит, т.к. использую в блоках маску для наложения поверх других элементов в модели. Когда такой блок (серия блоков), расположенные в строгой последовательности один над другим взрываются, маска уползает куда-то не туда и ненужные элементы вылазят на передний план. DXF не подходит, т.к. нужен редактируемый файл именно в ДВГ. |
|||
![]() |
|
||||
Регистрация: 30.10.2008
Сообщений: 53
|
Цитата:
----- добавлено через ~3 мин. ----- Такой вопрос: можно ли как-то подавить окно диалога подтверждения, который есть в некоторых командах, например в BGCFT? Пока в код не лез, но там же по идее просто один блок удалить, или можно проще? Пробую использовать команды в составе макросов. |
|||
![]() |
|
||||
Регистрация: 10.06.2011
Сообщений: 8
|
Цитата:
мне такое не известно. Последний раз редактировалось ServantosS, 27.12.2017 в 08:43. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 27.10.2015
Сообщений: 18
|
При использовании команды BGBLEXP1 возникла проблема.
Ситуация такая. В блок 1-го уровня входят блоки с атрибутами. При этом блок 1го уровня лежит на слое "Слой1", а блоки 2-го уровня на слое "Слой2". После использования команды BGBLEXP1 блоки 2-го уровня оказываются на слое "Слой2", а их атрибуты на слое "Слой1". Можно ли переделать команду так, что бы атрибуты блоков 2-го уровня оставались на слое своего блока? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Doctor_Che, Можно. Файлик с примером приложи
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.03.2018
Сообщений: 1
|
Цитата:
Попробовал загрузить на соседнем компе. Там 2014. Без проблем, все работает |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
(vl-load-com) ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Правильнее так (vl-load-com) ? и как вариант еще Что делать, если не работает ActiveX
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 08.02.2007
С-Петербург
Сообщений: 127
![]() |
Добрый день.
Не нашел поиском, рискну спросить. Можно сделать так чтобы BGCOLOR не перекрашивала заблокированные слои? ----- добавлено через ~7 мин. ----- И забыл еще спросить. Есть ли подобная утилита для установки веса линии всем выбранным примитивам? |
|||
![]() |
|
||||
Регистрация: 19.10.2012
Киев
Сообщений: 748
|
Цитата:
выбираете примитивы и перекрашиваете в любом удобном месте (на картинке жолтым показал: где цвет, вес и тип линий менять) [IMG]http://i.*******info/i9/fb5da91fe45df4826f0af97ec3bbfb15/1522851675/65564/1225344/tcnm.jpg[/IMG] |
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 08.02.2007
С-Петербург
Сообщений: 127
![]() |
Товарищи, я может не так выразился, но выделить все и задать цвет, вес и т.п. без чужой помощи за 15 лет научился как-то сам
![]() BGCOLOR задает цвет всем объектам (ну или почти всем), включая блоки, блоки в блоках и т.д. Есть ли подобная утилита, которая задаст вес всем линиям на чертеже, включая примитивы в блоках? BGCOLOR перекрашивает все объекты на всех слоях, будь они выключены, заморожены, заблокированы, в отличии от BGHATCHDEL, которая спрашивает удалять с заблокированных и замороженных или нет. |
|||
![]() |
|
||||
Регистрация: 19.10.2012
Киев
Сообщений: 748
|
Цитата:
нормализируете блоки а дальше любые извр BGCOLOR |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Можно. Нужно посмотреть код. Давно писал, не помню. Гляну завтра на работе
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.04.2018
Сообщений: 6
|
Добрый день, спасибо большое за хорошее LISP-приложение! Можно ли ещё внести в него 2 изменения по BGBLEXP:
1. - Выделить отдельную команду для взрыва блока без сохранениия полей в атрибутах? 2. - И при взрыве блоков, чтоб сохранялись постоянные атрибуты? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Поэтому поля остаются в версии 3.3. Для меня важнее скорость при обработке большого количества блоков, сохранение многострочных атрибутов как мтекста с маскировкой
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 3.5
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
VVA, заметил одну особенность команды BGCFT (снос полей). Она обрабатывает помимо блоков еще и внешние ссылки. Не знаю, задумано ли это так или просто получилось само собой, но это на мой взгляд не совсем правильно. Во-первых, подоснова, как правило, разрабатывается другими людьми, а менять их чертежи - дурной тон. А во-вторых, на чертежах с большим количеством (10+) увесистых внешних ссылок Автокад уходит в задумчивое состояние, из которого не возвращается (в обозримом будущем - пробовал ждать около часа).
Можно было бы воспользоваться BGCFTSEL, но она не преобразует поля, которые сидят в текстах внутри блока, преобразует только поля в атрибутах. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
skkkk, Была ошибка в логике. Вроде пофиксил. Тестируй. Теперь автокад не должен уходить в задумчивое состояние при наличии ссылок
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
VVA, в задумчивое состояние он уходить перестал (всего-то на секунды три задумался), но также и перестал убирать поля в блоках. В предыдущей версии (у меня была 3.1а) в строке Modemacro (в левом нижнем углу) начиналась переборка всех блоков чертежа и, как я понимаю - заодно и внешних ссылок, на которых Автокад вис. В новой версии этой "переборки" не наблюдается. И поля в блоках - как в текстах, так и в атрибутах - остаются.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Здравствуйте!
При помощи M2B minserted блоки взрываются, но становятся анонимными, в то время как судя по описанию я ожидаю что это будет тот блок, который и был вставлен через minsert (дело в том что с помошью minsert лично удобно оперировать с массивами, например стоянки, но их некорректно воспринимают некоторые программы, 3Dmax, Revit). А при U2B после "выбери блок" вообще ничего не происходит? Скажите, я неправильно трактую описание действия этих подпрограмм? PS. Использую версию 3.5.1 |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
baaba, Проверил на своей версии и специально скачал текущую с #1 - взрывает до блоков, который и был вставлен через minsert
Попробуй скачать еще раз и при загрузке убедить, что грузится эта версия Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.04.2018
Сообщений: 6
|
Здравствуйте, спасибо большое за вашу работу!
Пользуюсь функцией BGBLEXP для извлечения блоков, есть такая просьба: можно ли при извлечении сразу же удалять геометрические зависимости ( так как при одновременном выборе нескольких блоков и запуска BGBLEXP образуется хаос). В файле пример блока |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
KohovecM, Странно. Там только запрос добавился. На моем автокаде 2013 работает. Озвучь версию Автокада, Windows.
Проверял на файле из #448
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 30.06.2018 в 15:53. |
|||
![]() |
|
||||
Заметил 2 вещи: 1. Нужно быть в WCS, нужно быть внимательнее. Но это не проблема. 2. Переносит объекты в текущий слой со свойствами "послою", вместо того что бы оставить как есть. Это сильно затрудняет. Если можно - хотелось бы обсудить.
|
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
baaba, Обсудить можно. Выложи пример. Но отвечу только через неделю, т.к. буду в командировке
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
Цитата:
PS Я серьёзно задумался над возможностью переползти полностью на BricsCAD |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Спасибо за информацию, но на эти грабли я уже натыкался
А что с вопросами в #452? Командировка уже закончилась. Выложи пример - посмотрю что не так
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
Кстати minsert плохо от слова совсем отображается в Revit, 3DS Max, потому это для меня так важно. То что надо помнить про WCS это не столь критично, но нужно держать в голове. У меня вылетает. Было бы хорошо что бы разбивка происходила в любой UCS с сохранением конфигурации. Это второе пожелание |
||||
![]() |
|
||||
Поддержка BricsCAD модифицировала ваш код, прилагаю
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Если в коде используется ActiveX, то вряд ли. В конце концов, кто мешает проверить?
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 07.12.2017
Сообщений: 12
|
В bat:
d: cd d:\222 FOR %%f IN (*.dwg) DO "C:\Program Files\Autodesk\AutoCAD 2013\accoreconsole.exe" /i "%%f" /s "D:\222\qw3.scr" В scr: (LOAD "D:\\222\\bgtools 3.1a.lsp") BGCFT QSAVE Находит, загружает, после команды ВGCFT пишет:bad argument:VLA-OBJECT nilbad argument type: VLA-OBJECT nil. Просто я с LISP мягко говоря на вы и не понимаю чего он хочет. Вот и думаю дальше рыть, либо действительно никак. Да, при обычном перетаскивании скрипта в окно редактора,все работает. Последний раз редактировалось sychp84, 29.07.2018 в 19:46. Причина: Уточнение |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Я код уже не помню, а просматривать его лениво. Вот что нашел в собственных архивах: http://autolisp.ru/2014/03/04/accoreconsole-lisp-debug/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата отсюда
Цитата:
Сделал Тестируй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Вчера решил попробовать применить команду BGCFT на своих файлах с обилием полей в таблицах.
Часть файлов откаталась просто на загляденье, а часть не хочет - сразу после вызова команды и нажатия ОК в предупреждающем окне "мы все умрем" (спасибо разработчику за заботу, реально полезно) Акад пишет в строке: "Converting Field in Automation Error. Description was not provided.Automation Error. Invalid layer" и возвращается в исходное "Command:" Попробовал версии скрипта 3,3 и 3,7 - одинаково. Автокад "обычный", 2014х64 со всеми сервиспаками. Файлы сохранены всегда в версии 2010. Заблокированных слоев в файле нет, замороженных тоже. Есть блоки с запретом на взрыв, но они есть и в тех файлах, что нормально подвеглись насилию. Подскажите, в чем может быть подвох? ----- добавлено через ~5 ч. ----- Добавлю, еще потыркался - после противного английского сообщения и возврата к строке "Command:" нажимаю правую кнопку мыши (повтор последней команды) и высвечивается EXECUTETOOL. Автокад чего-то ждет, еще одно нажатие правой кнопкой мыши повторяет BGCFT |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
ArchPavel,файлик с примером приложи. Я уже с сегодняшнего дня в отпуске, поэтому смогу попытаться посмотреть в чем дело или в субботу 15 сентября, или уже после 29.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Дико извиняюсь за задержку.
Попытался вычленить часть чертежа для "показать", и на нем скрипт выдал совсем новое: Command: BGCFT Converting Field in bad argument type: (or stringp symbolp): nilAutomation Error. Invalid layer Файл с этой "ошибкой" во вложении ----- добавлено через ~1 ч. ----- Однако, удаление этих двух полей из чертежа не снимает проблемы, приведенной в файле 123_spb_2.dwg - автокад после предупреждения "мы все умрем" успевает обработать существенную часть полей на чертежах, но затем, выдав ошибку, перестает обрабатывать. Необработанными остаются поля как раз с того плана, что я выложил ранее. Данная ошибка не поддается устранению и файл выходит частично переработанный, частично нет, то есть совсем не айс. Последний раз редактировалось ArchPavel, 21.09.2018 в 14:03. Причина: Проблема сохранилась |
|||
![]() |
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Людоед пойман, в том смысле, что купированы поля, дающие Converting Field in Automation Error. Description was not provided.Automation Error. Invalid layer.
Они изначально не привязаны к полилиниям (суть этих полей в чертеже - брать площадь полилинии), т.е. решетку отображают изначально (использовались как шаблон). Однако на другие решетки в чертежах скрипт везде реагировал благосколонно, перерабатывая такое поле в решетку в виде текста, а вот на эти два - что то ему мешает. Надеюсь поможет. |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
Давно пользуюсь этим лиспом. Разработчику респект, но только в качестве разбивки многоуровневых блоков с атрибутами.
Щаз возникла необходимость разбить много разных блоков в которых запрет на разбивку стоит. UХ вроде частично справился с этой задачей, правда не очень корректно (почему то некоторые блоки перевернул) да и к сожалению каждый блок нужно выбирать отдельно, что по сути равносильно тому что зайти в блок и включить разбивку. Может подскажете как быстро разбить разом кучу разных неразбиваемых блоков? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
ArchPavel, Пропустил твой пост. Посмотрю в ближайшее время
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Тоже вычленил людоеда. Команда BGCFT в этом файле выдает ошибку.
Цитата:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Извиняюсь за задержку, был занят. Вроде пофиксил. Пробуйте версию 3.8
kacugu, #473 - убери галку с чек-бокса "Слой на 0" Stik, #474 Блок создан скорее всего программно с большим количеством атрибутов с пустым значением, который затем преобразован в МН-Блок с количеством столбцов и строк = 1 Выполни команды M2B - преобразование МН блок в неименованный блок U2B - преобразовать в именованный BGBLEXP - расчленить блок
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Спасибо за поиск решения проблемы.
К сожалению, проблема "незавершенного конвертирования" (из 123_spb_2.dwg) сохранилась. В моем файле часть полей преобразовывается, затем Command: BGCFT > Converting Field in bad argument type: (or stringp symbolp): nilAutomation Error. Invalid layer и стоп. Остальная часть остается не конвертирована. Проблема двух полей (желтое и красное из 123_spb_1.dwg) решена, скрипт съедает их теперь без заминки. Но я считал их лишь препятствием на пути к решению основной проблемы в 123_spb_2.dwg... Проверено на AutoCAD 2014x64 и AutoCAD 2018x64 ----- добавлено через ~2 мин. ----- Может ли быть такое ,что мешает какой-либо предзагруженный скрипт? Например LayerDIrector или DimLay... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
ArchPavel, Недосмотрел, обновил до 3.8.1. Тестируй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
posetitel, Нельзя. При указании блока точка выбора используется для определения оставляемой области подрезки. Плюс там много операций, использующих команды Автокада, при вызове которых необходимо, чтобы объекты были на экране. Для показа блоков с подрезкой есть команда BGBLXCLIP
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
скажите, а как в одном лиспе уместить несколько команд, которые будут автоматически выполняться одна за другой?
например, сначала выполняю BGLAYDEL, потом BG1BLEXP и т.д., конкретную комбинация включает команды не только работы с подосновой, пока хотел бы понять принцип |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Определенные в лиспе - да. Ну или через command / command-s / vl-cmdf
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
а есть команда или лисп, которые внедряют в чертеж все чертежи из внешних ссылок?
вроде как соответствует теме работы с подосновой, надо все выданные чертежи внедрить в один и на нем уже работать. Последний раз редактировалось posetitel, 26.11.2018 в 13:30. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
posetitel, во-первых, действия администрации не обсуждаются - читай правила.
Во-вторых, один и тот же вопрос в тысяче мест, мягко говоря, вызывает недоумение - неужели понятие кросспостинга и что за этим следует, неизвестно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
в теме внедрение всех внешних ссылок командой и последующее EXPLODE указан код
Цитата:
|
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
удалил предыдущую запись.
вроде все заработало код прикладываю Цитата:
ну а стоит это делать или нет, решайте Последний раз редактировалось posetitel, 26.11.2018 в 16:51. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Пользовался раньше для преобразования полей в текст вот командой 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 сработала нормально. Проделал такой же эксперимент с обычным блоком и атрибутом с полем. Тоже нормально отработала команда. Похоже дело именно в динамических блоках. Во вложение пример дин. блока.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Astartes, Поправил. Обновил до версии 3.8.2
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
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 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Вместо
Код:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 26.02.2019
Сообщений: 1
|
Добрый день.
После запуска LISPa вываливается ошибка. (Команда: BGBLFIX ; ошибка: Ошибка Automation. Ключ не найден) Воспроизводится только на одном файле. В чем может быть проблема? Файл прикрепляю: https://yadi.sk/d/ri9FaIduOvUOTg |
|||
![]() |
|
||||
Добрый день.
Я столкнулся с тем что на одном "удачном" файле версия 3.3 работает изумительно, а версия 3.8.2 уходит в глубокую задумчивость и вызывает в конце концов какую-то внутреннюю ошибку Спасибо Кулик Алексей aka kpblc за замечание, сейчас поправлю пост и еще хотел спросить: - есть прекрасная функция "BGCOLOR - Задает выбранный цвет всем объектам" - при запуске она открывает окно выбора цвета. Есть ли возможность вызвать ее с параметром, номером цвета, что бы она просто отработала без вывода этого окна. Последний раз редактировалось Des501(К), 02.03.2019 в 08:15. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Des501(К), а тебе в пост что, файл не приложить?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
Буду тестить, но не плохо бы еще сообщить версию Автокада, его разрядность и до кучи операционную систему
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер-проектировщик Регистрация: 30.06.2010
Москва
Сообщений: 26
|
Всем привет!
Хочу выразить благодарность создателям этих полезных утилит! У меня вопрос вот какой, BGBLEXP сколько блоков может осилить за раз, есть ли ограничение в их количестве? Решил воспользоваться данными лиспами для очистки тяжелого файла, ТРЦ типа леруа плюс еще всякого там полно. Запустил сначала BGLAYDEL, файл с 12Мб стал 7Мб, далее BGBLFIX, чтобы можно было расчленять, далее BGBLEXP, после этого файл начал расти в итоге его размер превысил 23Мб и вообще перестал двигаться. Может быть такое, что из взорванных блоков первого уровня высыпались десятки тысяч других блоков, что и явилось причиной увеличения размера файла? Подсчитать количество блоков на чертеже после BGBLEXP через свойства нельзя, говорит типа ничего не выбрано, хотя выбрано на самом деле. Чередовал BGBLEXP с BGBLFIX раза три, в итоге через F2 посмотрел количество выбранных блоков 199953 items, не чертеж, а какая то бешенная матрешка. Я скорее всего неправильно пользуюсь программой. Подскажите в каких действиях ошибка. Винда 10/64, акад 17 инглиш. Спасибо! Установил bgtools3.8.2 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Криминала не замечено. Вроде все правильно делаешь В итоге: Без файла - гадание на кофейной гуще
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, Попробуй версию 3.3 из шапки. Там при расчленении использовался ExpressTools
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 02.07.2016
Сообщений: 251
|
Не понимаю, эта программа должна в паре ещё с какой-то работать? При выполнении команды BGCOLBL выбивает ошибку:
no function definition: _DWGRU-LAYER-CREATEОшибка Automation. Неверный слой. Нашёл где-то на форуме эту функцию _DWGRU-LAYER-CREATE загрузил её, вылезла новая ошибка no function definition: _KPBLC-LINETYPE-LOADОшибка Automation. Неверный слой Где всю библиотеку нужных функций взять, что бы команда BGCOLBL работала? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
valerik88, Там в коде описка. Поиском найди и замени _DWGRU-LAYER-CREATE на bg:layer-create. Я чуть позже обновлю архив
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил архив
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Эдуард Артурович, Я вам давал ответ в этой теме
Каким образом обрабатываете пакет файлов?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Offtop: (bg:msg-yes-no "Attenstion"
|
||||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
При обработке файла, приложенного к сообщению, командой BGLAYDEL акад виснет намертво. Чертеж dwg заархивировал, большой слишком. Использую версию 3.8.2.1. Акад 2013, Win 7x64
VVA, посмотрите, пожалуйста Последний раз редактировалось crosandr, 28.05.2019 в 12:39. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
crosandr, Обновил версию до 3.9 Но минуты полторы-две подождать придется
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Это лучше, чем 20-30. Я потом этот файл оставил ждать до упора. В итоге слои удалились, но ооочень уж долго, потому и возникло ощущение зависания.
Все работает. Генплан весом около 38М обработался примерно за минуту. Спасибо! Есть еще вопрос из разряда фантазий. Имеется файл с кучей слоев и только одним сформированным листом с одним видовым экраном. Есть желание максимально облегчить файл. Слои, которые выключены или заморожены в модели, удаляются командой BGLAYDEL. Можно ли еще удалять слои, которые отключены в единственном видовом экране? В идеале листов может быть несколько, соответственно и видовых экранов больше одного. То есть слои, не используемые ни в одном видовом экране, подлежат также удалению. Сильно сложно сделать дополнительную команду или опцию? Последний раз редактировалось crosandr, 31.05.2019 в 09:52. |
|||
![]() |
|
||||
Инженер Регистрация: 13.03.2013
Сообщений: 28
|
Цитата:
![]() |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
quazi, Попробуй этот вариант (bgtools должны быть загружены)
Код:
Добавил блоки с именем *A* Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 13.02.2014
Сообщений: 17
|
Добрый день!
Отличная программа! Только я пользуюсь только 1 функцией (bgcolor), так как остальные не понимаю))) А можно ли все линии, полилинии, тексты и т.д. перевести в один слой, так чтобы даже все что внутри блоков тоже переводилось в один слой, по аналогии bgcolor? |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
Кто то тут уже спрашивал, но я не помню где. Как у команды все поля в текст BGCFT убрать диалоговое окно с подтверждением о необходимости данной операции. Вопрос решился?
Аналогичный вопрос про BGCOLOR. Как правило нужно все превратить в белый. Диалоговое окно с выбором цвета тож бы убрать было бы не плохо Если бы не было диалоговых окон, можно было бы в макросе связать эти две комманды. Т.е. нажатие на одну кнопку убивало бы поля и превращало все в белый. Просто у нас требование в конторе такие - готовые чертежи должны быть белыми и без полей. Ну или более гибкими эти команды сделать, т.е. диалог не через диалоговые окна, а через командную строку. Тут через макрос можно было бы настроить как нужно) Цель минимизация лишних манипуляций и нажатий для ускорения процесса ----- добавлено через ~12 мин. ----- Цитата:
Попробовал такой вот макросик _ai_selall BGCFTSEL - работает диалогового окна нет и все поля в текст действительно Осталься вопрос только с BGCOLOR ----- добавлено через ~5 мин. ----- Ан нет - эта в атрибутах блоков не убивает поля) В обчем все поля убиваются вот таким макросом _ai_selall BGCFTSEL BGCFT Но от диалогового окна так и не избавился) Еще одын минус нашел( - BGCFTSEL и BGCF не убивают поля, если мтекст или текст с полем в блоке. В атрибутах вроде убивает ----- добавлено через ~8 ч. ----- Увидел https://forum.dwg.ru/showthread.php?...30#post1791330 #6, спасибо VVA Подскажите еще плиз как убрать диалоговое окно у BGCOLOR (по умолчанию нужен белый цвет), Заранее спасибо! ----- добавлено через ~15 мин. ----- Странно - дома попробовал еще раз - вроде все гуд - все поля убились. Хотя дома акад 2020, а на работе 2017 - может в этом дело или в файле может?. Ладно в понедельник еще раз попробую на работе Последний раз редактировалось allar8, 10.08.2019 в 10:14. |
|||
![]() |
|
||||
Проектировщик электроснабжения Регистрация: 15.09.2017
Санкт-Петербург
Сообщений: 4
|
Коллеги, добрый день
Во время очередной работы с плагином заметил объекты, которые НЕ поменяли свой цвет во время "покраски" всей архитектуры, а именно: - объекты AEC - и массивы Есть ли какие то решения в этом направлении? |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
|
|||
![]() |
|
||||
Проектировщик электроснабжения Регистрация: 15.09.2017
Санкт-Петербург
Сообщений: 4
|
Цитата:
Да, я без полей ... Прикреплял изначально dwg, видать не прикрепилось. Сейчас еще раз попробую https://forum.dwg.ru/attachment.php?...1&d=1565614783 |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
Да не все прикрепилось видел. Кстати меня наоборот ща интересует, как например у нек объектов не трогать цвета, т.е. исключать из действия плагина (в идеале исключать выбранный слой и конечно же еще раз повторюсь удобна была бы данная команда если б работала через командную строку, а не через диалоговые окна, чтоб каждый смог настроить для себя - все это для уменьшения манипуляций и для возможности создания различных комбинаций макросов). А в вашем файле странные эти блоки. Не родные - какие-то сторонние. Поэтому и не фурычит наверно. Мож спдсовские?
Последний раз редактировалось allar8, 13.08.2019 в 06:55. |
|||
![]() |
|
||||
Проектировщик электроснабжения Регистрация: 15.09.2017
Санкт-Петербург
Сообщений: 4
|
|
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
|
|||
![]() |
|
||||
мой лисп весьма слаб, подскажите кто может, как изменить диалог BGBLFIX (по умолчанию ) на такой вид, где поправить?
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
В 2019 команда bglaydel выдает ошибку:
Команда: Команда: BGLAYDEL Инициализация... Background tools v.3.9 Наберите в командной строке: BGLAYDEL - Удаление выключенных и замороженных слоев с примитивами BG1BLEXP - Взрывает блоки, состоящие из одного примитива (возможно другого блока) BGBLEXP - Взрывает блок и все блоки, входящие в него, превращая видимые атрибуты в текст BGBLEXP1 - Взрывает блоки 1-го уровня, превращая видимые атрибуты в текст BGBLDYNEXP1 - Взрывает динамические блоки 1-го уровня, превращая видимые атрибуты в текст BGBLEXP1NOATT - Взрывает блоки 1-го уровня, у которых нет видимых атрибутов BGBLXCLIP - Показывает подрезанные блоки BGBLXCLIPEXP - Взорвать подрезанный блок BGBLDYN2A - Преобразовывает динамические блоки в анонимные BGBLDYN2S - Преобразовывает динамические блоки в статические BGBLALLDYN2A - Преобразовывает ВСЕ динамические блоки в анонимные BGBLALLDYN2S - Преобразовывает ВСЕ динамические блоки в статические BGCB - копирует одно из вхождений блока в блок с новым именем. www.lee-mac.com BGRB - переименовывает одно из вхождений блока в блок с новым именем. www.lee-mac.com M2U - Преобразовать MINSERT (МН-БЛОК) в Unnamed блок M2B - Преобразовать MINSERT (МН-БЛОК) в блок U2B - Преобразовать UNNAMED в блок U2BM - Преобразовать UNNAMED в блок множественный выбор UX - Взорвать UNNAMED блок ======================================= BGRGB2ACI - Изменяет цвет с RGB на ACI BGAll2RGB - Изменяет ACI цвет в его RGB эквивалент BGCOLOR - Задает выбранный цвет всем объектам BGCOLORXREF - Меняет цвет выбранных внешних сылок (только в текушем сеансе) BGCOLBL - Установка послою цвета примитивов подосновы. Если цвет задан явно- создается новый слой BGResetXRef -Сброс настроек слоев выбранных внешних ссылок на установленные в исходном файле BGBLCC - Изменяет цвет выбранных блоков BGENCC - Изменяет цвет выбранного элемента блока BGCATT - Изменяет цвет атрибутов выбранных блоков BGCBL2 - Изменяет цвет в блоках 2 и более уровня (вложенных блоках) BGBLFIX - Нормализация блоков BGCFT - Конвертирует все поля в обычный текст BGCFTSEL - конвертирование полей в обычный текст в выбранных примитивах BGHATCHDEL - Удаление штриховки_.UNDO Текущие настройки: Авто = Вкл, Управление = Все, Объединить = Есть, Слой = Есть Количество отменяемых операций или [Авто/Управление/Начало/Конец/Метка/Обратно] <1>: _Mark Команда: Команда: _.-LAYDEL Выберите объект на слое для удаления или [Имя]: Команда: _yes Неизвестная команда "YES". Для вызова справки нажмите F1. Команда: Команда: _.Regenall Выполняется регенерация модели. Команда: *** Command _.UNDO _Back restore your layers |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, Cкачал и проверил версию 3.9 - все работает. Попробуй скачать архив заново
----- добавлено через ~18 мин. ----- doctorraz, Пропустил твое сообщение Найти поиском строку Цитата:
Должно стать Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Обновил до версии 3.11. Внес незначительные изменения. Для скрипта вызывай не команду, а функцию
Цитата:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
allar8, Читай первый пост, специально выделил красным
Цитата:
Вариант на кнопку Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
allar8, а в панели свойств не срабатывает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
Дык в том то и дело - надо через ком строку, чтоб в макрос можно было включить
Мож лучше кто подскажет решение моей задачи. Нуно это мне вот для чего. ^C^CBGCOLORCMD;7 - забеляю все объекты А эта команда забеляет так как надо - не трогает цвета самих слоев, а делает принудительный белый цвет всем объектам Но далее мне нужно среди всех белых некоторые объекты, загнанные в определенные слои выделить Т.е. я выбираю все эти слои и да ща это делаю через панель - применяю цвет по слою Мечта - выбор этих слоев и применение им цвета по слою - в одно нажатие Выбор слоев этих в одно нажатие я уже организовал - осталось цвет применить по слою Последний раз редактировалось allar8, 20.11.2019 в 15:55. |
|||
![]() |
|
||||
Регистрация: 12.08.2009
Сообщений: 464
|
Скрипт отлично работает, если он заканчивается этой функцией
(load "bgtools.lsp") (vl-load-com) (vl-catch-all-apply (function(lambda()(bglaydel t)))) Если после нее идет другая команда, намертво зависает. Например (load "bgtools.lsp") (vl-load-com) (vl-catch-all-apply (function(lambda()(bglaydel t)))) _close |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
shartal, ты что хочешь закрыть-то? Текущий документ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Может, просто долго делается?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, А если перед _close сделать _qsave?
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, А так
вариант1 Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Добавил еще пару проверок. Проверяй. версия 3.11a
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
shartal, можешь выложить скрипт целиком и dwg файл
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Автор (-ы)! Отчего же не англифицируете этот замечательный пакет? И не разместите его в Autodesk App Store?
Для радости счастливым соотечественникам и заграничным обездоленным?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Насколько я помню, в AppStore не так уж и просто разместить приложение. Да и установку для lsp сделать немного проблематично (по крайней мере было года 2-3 назад). Не думаю, что ситуация изменилась.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Ну она получается запускает bgblexp, которая просит выбрать блоки. Мне нужно в лиспе ответить, допустим, "all", чтобы лисп продолжился без моего участия. Корячился-корячился, не получается. Знаю, что упускаю что-то простое, но понять не могу.
UPD. Победил, но странною победой. Сделал функцию bgblexpall, с фильтром "_X" для ssget Последний раз редактировалось RNB, 18.12.2019 в 11:19. |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
|
|||
![]() |
|
||||
Цитата:
Да, в целом нужно повозиться. Но не смертельно. Сейчас же вообще не нашел англоязычного варианта. Сделать англоязычную версию, кажется, не трудно - не так много интерфейса, сообщений. Такой же пакет для всего мира пропадает!
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 18.12.2019 в 17:00. |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Такое решение даже лучше. В случае с тяжелым чертежом будет отрабатывать сильно быстрее, потому что не будет подсвечивать объекты ручками. Я думал, что all было в качестве примера, и сразу не придал значения этому важному факту. Только вижу единственный минус, за который я сразу уцепился: если код добавить в тело bgtools, при обновлении программы он может потерятся, забывшись к тому времени, и прога перестанет работать. Если, конечно, она не выведена в отдельный файл или VVA не захочет добавить ее в bgtools, что, возможно, и не лишено смысла.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
В качестве идеи - загнать все переводы в отдельный список (или вообще отдельный файл) и оттуда подтягивать
![]() Правда, этот путь не лишен недостатков, как мне кажется.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Так или иначе, но пакет изначально достоин широкой публикации. В англоязычном варианте - безусловно.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
VVA, подскажите а решение вот этого вопроса
https://forum.dwg.ru/showpost.php?p=...&postcount=402 уже существует?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Здравствуйте! При выполнении одной из команд (BGBLFIX) bgtools выдаётся следующее сообщение: "; ошибка: no function definition: VLAX-WRITE-ENABLED-P"
До последнего времени я этой ошибки не замечал. Пробовал версии 2.25 2.27 2.32 2.38 3.1а. Пробовал автокады с 2016 по 2020, и Ru, и en, с разными файлами в том числе с одним простейшим блоком. Во всех случаях одно и тоже. Что я делаю не так? И ещё: последние версии bgtools доступны? Где их взять? Может быть не бесплатные? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
(vl-load-com) случайно не пропущен?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Доступны. Всегда обновляются в #1 этой темы. На данный момент 3.11a
----- добавлено через ~9 мин. ----- Не пропущен, по крайней мере в версии, выложенной в #1 Проверил версию 3.11 на Автокаде 2019 - работает.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Ну, если ACAD не может нормально общаться с СОМ-объектами, то обычно это ведет к полной переустановке.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
как вариант BGBLXCLIPEXP из этой темы
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектирование гражданских зданий Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90
|
Цитата:
|
|||
![]() |
|
||||
Цитата:
![]()
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же! |
||||
![]() |
|
||||
опция команды BGBLFIX "Установить одинаковые масштабы" не работает с динамическими блоками (только со статикой)
Так должно быть?
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Зарубежный товарищ в полном восхищении от BGtools.
Но в полном расстройстве - у него в 2021 команда BGCOLORXREF выдает ошибку, цитирую: "Command: _BGCOLORXREF ; error: Automation Error. Description was not provided." Как помочь зарубежному поклоннику этого отличного набора команд? Писать ему прямо сюда на своем английском?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
АлексЮстасу, Ошибка выдается в каком-то конкретном чертеже или в любом?У меня пока нет 2021 Автокада, чтобы проверить.
Моно попробовать выполнить эту команду на этом же файле в ранней версии, например 2019?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Пардон, почему-то сразу не заметил ответа...
Я так понял человека, что он раньше с удовольствием пользовался в прежних версиях AutoCAD, и все было отлично. Он считает, что дело в новой версии: Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я пока не скачал 2021 Атокад, как скачаю, проверю. Сам не использую новые версии Автокада до выхода как минимум первого сервиспака
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 19.10.2012
Киев
Сообщений: 748
|
Здравствуйте!
есть проблема в файле похожие блоки с разными именами. Проблема заключается в том, что шрифт использованный в стилях отсутствует и его негде взять. Тоесть просто поменять шрифт никакого результата не дает. один блок тот что с площадью, изменяется шрифт только если зайти в него через редактор. Взрывать блоки самый крайний вариант и не хотелось бы. Нужно стять форматирование Мтекста внутри блоков. Может кто то подсказать, как это осуществить? |
|||
![]() |
|
||||
Цитата:
Сначала очистить, потом заменить шрифт.. и повторить для контроля ))
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же! |
||||
![]() |
|
||||
Оказалось не так все и страшно.
Австралийский товарищ обнаружил, что все-таки работает: Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Walkmax, Попробуй сделать _audit -yes перед вызовом команды. По сообщению это системная ошибка
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Скорее, синхронизировать атрибуты надо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
larusik511, многие искали решение этой задачи уже с десяток и более лет. Я пока решений не видел.
1. Восстановление взорванного текста - было предложено что-то провернуть с использованием textedit.arx, но, кажется, человек, посоветовавший это, не так понял задачу. По всей видимости он подумал, что текст разбит на отдельные буквы, каждая из которых все же текст, а не набор линий. 2. Is there any way to "unexplode" exploded text? В обоих ссылках мелькали мысли использовать распознаватели текста, но ничего конкретного, чтобы превратить "палки" в текст "на месте", прямо в файле dwg, предложено не было. Лично я не представляю пока, как такое можно реализовать. По второй ссылке был предложен вариант c длительными танцами с бубном через tiff, прогнать текст через распознаватель, получить его в целостном виде в Adobe Acrobat, а затем раскопировать по мтекстам в чертеже. Как-то я даже решил попробовать, не особо надеясь на успех, (а чем черт не шутит?) в последних версиях Автокада провернуть такое: распечатать файл с таким текстом в pdf, затем сконвертировать его обратно в dwg через PDFIMPORT. Результата также не было. Поэтому, боюсь, только ручной режим. Или попросить отправителя файла прислать нормальный dwg, если он у него, конечно, есть. Может, это - результат конвертирования из какого-то стороннего софта, вроде Corel'а. Последний раз редактировалось skkkk, 05.05.2020 в 01:02. |
|||
![]() |
|
||||
В комплекте ABBYY FineReader есть экранная распознавалка, которая распознаёт выбранную экранную область и копирует распознанный текст в буфер. Вполне может подойти для распознавания разбитого текста.
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
И какое отношение разбитый текст имеет к обработке подосновы?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Offtop: хз
![]() |
||||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Приветствую коллеги не пользовался данной штукой около 7 лет, вопрос такого характера, я поменял степень сжатия в тексте в определенных словах, после работы данной программы они опять расширились, это так и должно быть, или уже убрали, я в свой проект скопировал другой левый проект, и решил его зачистить подформатирвоать, но и мои тексты потеряли степень сжатия, но факт в том что я уже не помню где сжимал, а где нет, коэфициент примерно 0.9, вот только при распечатке увидел, объясните
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
сети Регистрация: 03.11.2008
Московия*
Сообщений: 5,914
|
|
|||
![]() |
|
||||
Дык ежели блок вставлять не в нулевой слой, то что внутри блока на слое ноль будет на слое куда вставлен блок, соответственно свойства "по слою" будут с этого слоя
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 29.07.2017
Сообщений: 199
|
Скажите пожалуйста а как с топосъемки убрать все объекты со слоя 0 на другой слой? Допустим у меня на топосъемке куча блоков, которые внутри блоков, которые внутри блоков и внутри этого блока находится полилиния на слое 0 ))) Взрывать блоки не вариант
|
|||
![]() |
|
||||
Зачем? Этот блок на другой слой и все будет по этому слою
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Цитата:
----- добавлено через ~9 мин. ----- Цитата:
https://forum.dwg.ru/showthread.php?t=21492 Качаешь лисп norm-blocks_v3.lsp Находишь в нем строчку (fun_property-set sub 'layer "0"), меняешь ноль на нужный тебе слой, кавычки НЕ трогаешь Загружаешь лисп в чертеж, пользуешь команду (norm-blocks 1) Радуешься и поишь хороших людей пивом Единственное НО - все объекты в блоках перейдут на это чудесный слой. ----- добавлено через ~8 мин. ----- Цитата:
https://forum.dwg.ru/showpost.php?p=875063&postcount=6 UPD. Проверено! Работает! Не забываем при запуске команы (ch-lay имя_заменяемого_слоя имя_нужного_слоя) имена слоев указывать в кавычках Последний раз редактировалось RNB, 19.04.2021 в 14:18. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
А какое это имеет отношение к теме топика?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Сначала в поиск, потом - в отдельную тему, если ничего не найдешь (в чем лично я сильно сомневаюсь)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 02.08.2019
Сообщений: 2
|
Получили файл от исполнителя в формате двг. В данном файле все собрано в один блок и называется он *U...... Разобрался, взорвал. Но внутри данного файла еще порядка двух сотен блоков. Они все такую же проблему в имени имеют.
Практически уверен что это специальная защита "из вредности". Не в первый раз. Вопрос один - как так можно сделать (сделать все блоки неименованными)? Вопрос два - как применить команду U2B ко всем неименованным блокам? P.S. Огромное спасибо авторам лиспа. только при помощи Вас смогли снять защиту с другого файла. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,169
|
1) например, ES_Convert.
2) как вариант - вместо U2B можно использовать U2BM. Последний раз редактировалось kp+, 09.12.2021 в 23:15. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Walkmax, нужен dwg файл
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 17.07.2008
Сообщений: 75
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Walkmax, Не смог посторить ошибку. Autocad 2020
----- добавлено через 35 сек. ----- Какая версия BGTOOLS? На сришноте 3.12
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 17.07.2008
Сообщений: 75
|
ACADVER = "24.0s (LMS Tech)"
Background tools v.3.12 ACADVER = "24.1s (LMS Tech)" Background tools v.3.12 Код:
Требуется обновление. Поймал источник, если в автозагрузке висит это, то BGCFT и BGCFTSEL не работают. Последний раз редактировалось Walkmax, 07.02.2022 в 00:27. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
А что с ним нужно делать?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Отопление и вентиляция Регистрация: 31.10.2008
Москва
Сообщений: 445
|
Ну воп первых она срабатывает только пишет
Exploded 0 blocks with one element. Found 0 blocks has xclip boundary. А во вторых если открыть шапку темы , то это вторая команда сверху. Вы возможно темой ошиблись? |
|||
![]() |
|
||||
Регистрация: 23.05.2007
Москва
Сообщений: 98
|
BGHATCHDEL - Удаление штриховки
Команда спрашивает "Удалять штриховку с заблокированных или замороженных слоев?" При нажатии кнопки "Нет" всё равно штриховку (штриховка в блоках и просто штриховка) удаляет с выключенных и/или замороженных слоёв. Штриховку на блокированном слое, при нажатии кнопки "Нет" оставляет. По смыслу должна не трогать штриховки, на замороженном слое? Следовательно не правильно что-то. Хотелось бы еще, чтобы учитывала "выключенный" слой. Проверял на "bgtools 3.3" и "bgtools 3.12". AutoCAD 2018ru
__________________
Вот так вот, ... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Можно как-то массово переименовать безымянные блоки *U... и блоки типа U... ? В чертеж многократно копировалась информация из файлов компаса и эти блоки засели неизвестно где, их никак не отловить и не удалить. При новой вставке получается конфликт имен, соответственно вставляется совсем не то, что в исходнике.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 22.04.2022
Сообщений: 13
|
Народ подскажите.
M2B отрабатывает(взрывает МН-блок до простого блока) если МН-блок больше чем 1х1. Если блок 1х1 - М2В не работает. BG1BLEXP U2B UX Эти команды тоже не работают. MH_1x1.dwg Последний раз редактировалось Sergi, 06.07.2022 в 09:54. |
|||
![]() |
|
||||
Регистрация: 04.04.2019
Сообщений: 20
|
Здравствуйте,
А можно ли добавить функцию BGCOLLTLWBL, которая помимо цвета разбирала бы и на толщину и на тип линий? Может быть интересна была бы функция, в которой параметры COL LT LW можно было бы включать и выключать по необходимости. Ведь бывают подосновы, которые вообще все на 2-х слоях нарисованы... |
|||
![]() |
|
||||
Регистрация: 04.04.2019
Сообщений: 20
|
Здравствуйте,
Предлагаю для функции BGCOLLTLWBL на основе BGCOLBL участок кода с перебором примитивов заменить на что то подобное: Код:
Так же можно пройтись и по блокам: Код:
Уважаемые авторы программы как вам такая идея? ----- добавлено через ~21 ч. ----- Вот, что в итоге у меня получилось. Без переключателя на обработку блоков: Код:
|
|||
![]() |
|
||||
сети Регистрация: 03.11.2008
Московия*
Сообщений: 5,914
|
Пробую пофиксить стили печати всех блоков на "по слою":
Command: _BGBLFIX ; error: Automation Error. The drawing is in color dependent plot style mode Command: Command: _PSTYLEMODE PSTYLEMODE = 0 (read only) Версия autocad 2022, версия bgtools 3.12a, файл могу отправить в приватном порядке. По возможности прошу посмотреть, что не так, и исправить. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
Может, _.convertpstyles сработает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
engngr, Вышли файл. Уже сталкивался с тем, что Автодеск начиная с 2021 Автокада изменил работу некоторых методов, например vla-put-ColorMethod. Приходится проверять версию Автокада
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Короче там ошибка выскакивала при попытке получить описание анонимного блока [(vla-item (vla-get-blocks adoc) bname))] Поставил отлов ошибок. Проверяй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектирование мостов Регистрация: 29.01.2014
Новосибирск
Сообщений: 431
|
Цитата:
Команда, которая всё взорвет здесь есть. А вот по поводу удалить лишнее - это же настолько индивидуальное понятие - "лишнее", у кого-то полчертежа, у кого-то 2 примитива... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Команда обрабатывает предварительный выбор. Функция SSSETFIRST "подсветит" набор. Пример ниже
Пусть набор будет сохранен в переменную ss Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402
|
pickfirst ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Проверить в Брикскаде не могу, в Автокаде работает. При выборе секрамкой объекты должны быть гарантированно на экране. Добавил пару библиотечных функций
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
BGBLEXP работает с предварительным выбором. Поэтому алгоритм такой
1. Сформировать нужный набор объектов 2. Вызвать BGBLEXP Пример (Взрывает все блоки в текущем пространстве) Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Повторно подниму свой вопрос #402
Данный функционал так и не удалось реализовать?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 04.12.2013
Сообщений: 74
|
Не ругайтесь, если повторю чей-то вопрос...
Можно ли перекрашивать всё, но в пределах выбранного? Потому что если даже скопировать часть чертежа в новый файл, там его полностью перекрасить и вставить обратно - все блоки перекрашиваются обратно. Остаются перекрашенными только примитивы. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,169
|
Цитата:
А чтобы перекрасить ЧАСТЬ вставленных экземпляров блоков, надо заменить их на копии, идентичные по содержанию, но с другими именами. Для этого пригодится команда BGRB. Правда, она работает с отдельными блоками. Как вариант, посмотрите здесь: https://dwg.ru/dnl/10891 |
|||
![]() |
|
||||
Регистрация: 04.12.2013
Сообщений: 74
|
Вообще пробовал команду BGCOLOR
Пусть в пространстве несколько планов. Один нужно перекрасить (почти все в один цвет). BGCOLOR - перекрашивает вообще всё. Даже скрытые элементы. Я пробовал скопировать в новый документ нужный план, перекрасить и скопировать обратно - при вставке перекрашенного плана в первоначальный документ все блоки возвращают свою первоначальную окраску. |
|||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,169
|
Цитата:
Более того, если не использовать bgtools, а перекрасить определения блоков по одному в штатном редакторе блоков - эффект будет тот же. Цитата:
Поймите разницу между определением блока и вставленными в чертеж экземплярами блока, и все станет на свои места. Разница - примерно как между типографской матрицей и напечатанными с нее листами ![]() PS Разбросать разные планы по разным файлам разве не представляется возможным? Последний раз редактировалось kp+, 25.07.2023 в 23:34. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Пробуй. Обновил до версии 3.13b. Дай обратную связь, сильно не тестировал
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
white_cat, Пока нет 2023 для проверки. Попробуй предварительно проверить черчеж на ошибки
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
Неожиданно наткнулся вот на какой баг (фичу?): если в блоке с рамкой и штампом на листах есть поле с переменной ctab, то при выполнении команды BGCTF поле во всех листах преобразовывается в текст с названием только первого листа.
Это в принципе логично, но не совсем отвечает задумке команды, хотелось, конечно, чтобы в каждом блоке оставалось то значение ctab, которое и было, но тогда возникнет противоречие, не может быть один блок на разных листах с разным текстом (собственно поэтому и захотел потестить команду). |
|||
![]() |
|
||||
Регистрация: 26.02.2025
Сообщений: 2
|
Всем здравствуйте! Не получилось победить беду из #632? Очень требуется такое решение. Необходимо поменять значение стиля печати для примитивов внутри блоков после конвертации при помощи ._CONVERTPSTYLES. Для примитивов с заданным цветом задается стиль печати Style_1. На этих объектах и выпадает данная ошибка.
|
|||
![]() |
|
||||
Регистрация: 10.01.2020
Сообщений: 415
|
1 Сначала надо перейти в режим с объектозависимым профилем печати
2 В коде файла bgtools 3.9.lsp нужно внести следующие изменения: строка 5733 | (defun bg:blfix (lst / cnt adoc opt ss cnta isRus locklay bobj old_color) ... строка 5766 | ;;_Color type byblock строка 5777 | (setq old_color (vla-get-color sub_item)) ... строка 5799 | ;;_Plot style type byblock строка 5800 | (if (vlax-write-enabled-p sub_item) строка 5801 | (if (= old_color 1) строка 5802 | (vla-put-PlotStyleName sub_item "Красное") строка 5803 | (vla-put-PlotStyleName sub_item "ByBlock") строка 5804 | ) ;_ end of if строка 5805 | ) ;_ end of if Изменения позволят устанавливать стиль печати "Красное" всем объектам внутри блока имеющим цвет №1 (красный) |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) | Red Nova | LISP | 5019 | 07.06.2025 23:43 |
{Конкурс} 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 |