|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
3 | | #1 |
LISP. Обнуление координаты Z (аналог FLATTEN )
Инженер LISP
Минск
Регистрация: 11.05.2005
Сообщений: 6,996
|
||
Просмотров: 186295
|
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Некоторые отзывы о работе программы можно почитать здесь: Удаление дублированных элементов чертежа
Другие варианты обнуления координаты Z: 1. FLATTEN из Express Tools 2. Начиная с 2007-й версии команда _Flatshot (для тел и поверхностей) 3. Еще один вариант обнуления Z. Ссылка на команду Z0 Цитата:
Код:
http://dwg.ru/dnl/25 http://dwg.ru/dnl/296 6. Вариант Lee MAC (аналог п.3 с обработкой блокировки слоев) Код:
7. Утилита от Stolmachev (без проверки): "Утюг" ZZ (ещё один, почти универсальный, flatten) и здесь https://forum.dwg.ru/showpost.php?p=...9&postcount=39
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 14.03.2020 в 19:44. Причина: Добавлен п.6 |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Пост 2, п.1 и 2.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Superflatten обновилась до версии 2.0 beta
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
Занудства ради, пару замечаний по программе:
- Нет опции скрытия невидимых линий (во Flatten есть, коряво, но все-же есть) - Странно работает опция переименования блоков, я так понимаю, что при выборе этой опции выбранные блоки должны оставаться блоками, но с другим именем, но происходит не так - выбранные блоки 0-го уровня вложенности разбиваются (не все, возможно дело в из динамичности, или в содержании атрибутов), а вложенные блоки модифицируются, не разбиваются, но при этом и не переименовываются |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
andrk, Почитай внимательно п.2 из #2
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
andrk, Подними глаза на 1 строчку выше (или ниже) и пройдись по ссылке в моей подписи
....................................................................| ....................................................................| ....................................................................| ....................................................................V
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 14.04.2011
Сообщений: 5
|
попробовал superflatten 2.0 beta...
если выбираю часть каких-то объектов, то все хорошо. но вот когда делаю через выбрать все, чтобы быть уверенным, то выскакивает: "Команда: _superflatten найдено: 39944 Analyzing selection... | Error: Ошибка Automation. Ключ не найден" Прокомментируйте пжста.. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Попробуй версию 1.2, выполник п. 1,2,3
Если не поможет, то 1. Предварительно чертежу сделай _purge и _audit. 2. Проверь на отсутствие proxy. 3. Выставь переменную Demandload=0, закрой и открой снова рисунок. 4. повтори команду 5. если все равно будет ошибка, есть еще п. 1,3,4,5
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
У меня следующая проблема. Никогда такого не было. А здесь пришел инжиниринг, где попался блок (см. вложение). Методом тыка я его нашел. Хотел зайти в редактор блока, а нетушки. Не получилось. Аудит ничего не дал. Думаю, что в аналогах будет то же. А эта программа видно, что мощная
Выберите объекты: Analyzing selection... \ Error: Ошибка Automation. Ключ не найден Помогите пожалуйста... |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
По поводу редактора блоков, я перемудрил. Вернул в предыдущее значение переменную - DEMANDLOAD. Но не в этом проблемма. Суть: есть чужие чертежи (100 штук) иностранные. Тоесть препираться с исполнителем из-за бугра будет долго. В этих чертежах есть НЕЕЕЕЕЕЕЕЕСКОЛЬКО примитивов которые не лежат на нуле. Мне нужно всю эту работу сплющить. Но сами понимаете, что проганять через пальчики 100 чертежей неправильно. Я создал связку BAT->SCR->LSP (самое время поблагодарить Д. Эббота) где лиспом выступает суперфлаттен. Перед этим тестил СФ (SuperFlatten). Нарадоватся не мог. Тут мне один исполнитель говорит, что моя связка еще сыровата и требует усовершенствования. Дал мне чертеж. Сделал я вид спереди. Действительно, - плющить надо. Действия: EXPLODEALLPROXY, аудит с исправлением ошибок, тройной _purge, аудит с исправлением ошибок. Загрузка СФ. Запуск СФ. Сколько объектов "_all" с подтверждением. И мне кад говорит:
Analyzing selection... | Error: Ошибка Automation. Ключ не найден ...и не сплющил. методом отбора дружественных по отношению к СФ примитивов я пришел к тому, что на чертеже остался один блок (уже видели). удалил я хлам ("очистить" + " проверить") и остался с носом, кад твердит все то же: Analyzing selection... | Error: Ошибка Automation. Ключ не найден Итог, как так меня этот блок полностью устраивает (вы видите, что он плоский), но в подальшей жизни, может еще какой то такой попадется и я на запрос СФа буду говорить "_all" и ничего не буду иметь. Про запуск конвеера (BAT->SCR->LSP) вообще говорить нет смысла. |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Здравствуйте, уважаемые форумчане. Крутил, вертел я на праздниках эту проблемму и кажется мне, что вектор ее решения я нашел. Имя блока было Auslauf gekьrzt. Я поменял на имя блока Auslauf gekurzt и как бы проблема решилась. Думаю, прекрасно. Я добавлю немецкий язык в компьютер и все решиться. Но нет. Воз и ныне там. Есть у кого-нибудь какие-то соображения еще?
Нашел друга по несчастью http://forum.dwg.ru/showthread.php?t=49870 Последний раз редактировалось Вовочка, 05.05.2011 в 11:26. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Пробуй. Оставлю сообщение автору
Изменения 2011-05-05 Unicod символы в блоках 2011-10-12 Функция ModBlockScale отредактирована точность округления с 1e-2 на 1e-12
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 12.10.2011 в 17:56. Причина: Масштабный коэффициент |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я написал ему. Подождем официального релиза
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
asii, еще варианты есть в #2
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
При очередном использовании данной программы командная строка мне выдала:
Flattening selection... | Выберите открепляемые размеры ... Откреплено: 0. Error: AutoCAD.Application: Значение должно быть ненулевым Что нужно делать? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Вовочка,
1. Выложить чертеж сюда 2. Пока пробовать другие варианты (см #2 и ниже)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
По ссылке SuperFlatten 2.0b beta VVA.rar из #1 скачай обновленный SF
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Здравствуйте. Можно ли еще чуток отшлифовать программу?
Вопрос в следующем. Есть файл с разработанным фундаментом. Соответственно там присутствуют размеры и текст. После паруминутного редактирования этого файла. Я заметил, что текст везде стал как-бы жирным. Нашел вот-эту ветку: http://forum.dwg.ru/showthread.php?t=35216. О, думаю, вот сейчас меня SF выручит. Прогнал чертеж через него, а кукиш. Ушел в туман. Сделал вид спереди, смотрю, все ок - весь чертеж как бы в одну линию. Знакомые посоветовали попробовать утилитку от VetalBy, которая идет в комплекте VetCAD - FLATTEN_VC. И вы знаете помогло. Не понравилось следующее: 1. Утилитка не просит меня указать примитивы, а шерстит весь чертеж. 2. Из-за одной подпрограмки ставить весь комплекс VetCAD считаю не логично. VetalBy, не пойми неправильно, а по поводу предварительного выбора, подумай. ВетКАД от этого только выиграет. ЗЫ. Да, чуть не забыл. КАД 2008 текст на базе АРИАЛ ЗЫЫ. И можно, что бы динамика динамических блоков оставалась. А то как бы ручки изменения блоков присутствуют, а геометрия статична. Последний раз редактировалось Вовочка, 22.11.2011 в 16:30. |
|||
![]() |
|
||||
Регистрация: 11.12.2011
Сообщений: 3
|
Простите, если не совсем в тему.
Ваш супер-флат не смог заинтересовать меня, поскольку продукт, в котором работает наш институт - ZWCAD-2009i, а этот супермэн сразу же, без разговоров, заваливает Зюкад-2009ай. Возможно, "супер" мог бы работать в ZWCAD-2012, но там он начинает в цикле спрашивать о том, чего я не понимаю. --------------------------------- Поэтому - позвольте всем предложить мой скромный вклад в виде собственного разглаживателя ПЛОСКИХ чертежей. Конечно, ни о каких "телах" он не знает. Работает лисп довольно медленно, но настойчиво и почти дружественно. Называется он ЗероЗет. Обычно после его загрузки я нажимаю 3 раза Enter (так получается, увы). Проверял его в лицензионном Автокаде-2007-рус, но у нас мало таких лицензий, поэтому меньше опыта, а в Зюкаде он делает своё дело без проблем. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Stolmachev, Спасибо. Добавил в перечень #2
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
привычка, Без файла трудно что-то посоветовать. Приложи файл или фрагмент файла
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 11.12.2011
Сообщений: 3
|
Ратибору -
мне пришло сообщение о Вашем вопросе, но какая утилита имеется в виду - не пойму. Если речь о суперфлаттене, то и бог с ним, а если о моей зе-зет, то она, по идее, ничего НЕ ДОЛЖНА РАСЧЛЕНЯТЬ, там я использую только (entmod..). Но - на всякий случай - осмелюсь предложить новую версию - она переделана на более толковый диалог (использует "zz.dcl") и, в связи с этим, тщательнее почищена. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Pamu6op, Если хочешь чтобы помогли, то ответы должны быть информативнее. Телепатов здесь нет.
1. Какой именно. Дам приаттачено 2 версии и на 2 еще есть ссылки? 2. Какой СПДС имеешь ввиду? СПДС GraphiCS или Autodesk СПДС модуль? 3. Версия и разрядность операционной системы 4. Версия и разрядность Автокада, наличие установленных сервиспаков и сторонних приложений. И вообще, может у тебя BricsCad и т.п.? 5. Крайне желательно приаттачить dwg файл с образцами блоков. Вот минимум, с которого стоит начинать разговор. Так же можно почитать в справке по форуму Как получить максимально быстрый и развернутый ответ на свой вопрос? и Как добавить вложение в сообщение? PS >Stolmachev Спасибо. Добавил ссылку в 1-й пост
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 11.12.2011
Сообщений: 3
|
Жаль. Пришлите, пожал., пример DWG с такими блоками (СПДС), может, я что-нибудь замечу? можно прямо на мой имэйл: stolmachev@ya.ru
|
|||
![]() |
|
||||
Регистрация: 30.11.2012
Сообщений: 3
|
.
1. Пробывал все три утилиты все разбивают блоки СПДС GraphiCS 2. СПДС GraphiCS 3. Windows 7 64 бита 4. Автокад 2012 64 без сп 5. Крайне желательно приаттачить dwg файл с образцами блоков. Последний раз редактировалось Pamu6op, 29.06.2013 в 17:49. |
|||
![]() |
|
||||
Самозанятый КМ+КМД Регистрация: 09.09.2004
Раменское
Сообщений: 1,852
|
Не совсем понимаю.. Чертежи чужие, не мои. На листах (paper) не работает 3д орбита и нет возможности увидеть, есть ли разлет объектов по оси Z.
На части чертежей разлет есть, на других нет. Узнаю копированием объектов в модель (model), но это долго. Есть ли возможность это увидеть другим способом? |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Проверил. Действительно SF с этим не справляется. Но, тебе поможет одноименная утилиа из ВЕТКАДа. А вот увидеть не перетаскивая чертеж в модель помоему невозможно, разве что в значении "Z" свойств .
__________________
AutoCAD 2011. |
|||
![]() |
|
||||
Регистрация: 17.04.2008
Сообщений: 154
|
Не совсем понял, что приозошло. Настрил СФ так, чтобы все хорошо работало, в том числе и с динамическими блоками.
Прошло некоторое время, опять команда СФ гробит динамическим блокам их ручки, не могу понять в чем дело ![]() Виндоус 7 х64 Автокад 2013 рус сп1 Сохранение выставлено в 2010-ю версию Файл прилагаю. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
proteirei, При обнулении Z периодически так же сталкивались с некоторыми проблемами. Поэтому в свое время сделал команду обнуления Z путем замены на Z=0 во всех примитивах по dxf кодам 10 11 12 13 14 38, исключая 3DSOLID и дополнительно обрабатывая размеры (10 11 12 13 14). Объекты "плющатся" только в текущем пространстве. Содержимое блоков не обрабатывается (не стояло такой задачи). Ссылку добавил в 1-й пост. В твоем чертеже боки не испортило.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
proteirei,Выложи пример "непереносимого" блока, посмотрю в чем дело
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я думаю, что нет. Вполне могло что-то добавиться в 14 автокаде (например недокументированная переменная)
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 13.04.2014 в 12:50. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 3
|
Здравствуйте.
Та же самая проблема с Z-координатой. Перепробовал последовательно все средства, начиная от команды _flatten до лиспов Joe Burke, утюг и пр. Список испробованных лиспов: 2D.lsp flatten.lsp Flatten2.lsp FLATTEN_EM_ALL.lsp SuperFlatten 1.2c.lsp SuperFlatten 2.0b beta.lsp SuperFlatten 2.0b beta VVA.lsp Z0.LSP Z0b.lsp ZZ.lsp Никакими средствами не удалось сплющить модель полностью, все равно остаются объекты с Z, отличной от нуля в ту и другую сторону. Вложения: 1. Чертеж с "проклятой Z-координатой". 2. Архив с 10-ю применявшимися лиспами. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Peskov, тебя наличие прокси-объектов не смущает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 3
|
Файл очищался последовательно по инструкции отсюда: https://docs.google.com/document/d/1...it?usp=sharing
После очистки стал весить 3+ Мб вместо 9+ Мб. Возможно, какие-то прокси остались? Но я их в таком случае не могу выловить. Файл чистился от прокси по инструкции из темы "Как уменьшить объем файла dwg." и похудел на 6 Мб ![]() Только после очистки взялся за ось Z... Протокол: Команда: EXPLODEALLPROXY Удалено Proxy: 0 Новых объектов: 0 Команда: REMOVEALLPROXY Первая метка объекта: <1>, последняя метка объекта: <1AE96B> Всего найдено proxy-объектов: 0. Из них proxy-примитивов: 0. Всего удалено proxy-объектов: 0. Из них proxy-примитивов: 0. Для проверки ошибок выполните команду _AUDIT Последний раз редактировалось Кулик Алексей aka kpblc, 20.11.2014 в 10:08. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
ACAD2015 обнаружил в файле еще прокси. После очистки и flatten'a стал весить 1,8 Мб
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Руками (если это вообще возможно).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
пищевая технология Регистрация: 02.06.2009
Киев
Сообщений: 283
![]() |
Если блок, который нужно расчленить, имеет умляуты, _SF не работает. Кто-то знает выход. Переименование не предлагайте. Что я должен сделать на локальном Русском, чтобы и сплющить, и умляуты оставить?
__________________
AutoCAD 2011. Последний раз редактировалось Вовочка, 28.10.2015 в 13:26. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Символы из немецкого алфавита. Грубо говоря, "А" с кружком наверху (кто знает немецкий, поправьте меня, пожалуйста).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
так и есть
Ää, Öö и Üü |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
Еще ошибка от супера
Команда: SUPERFLATTEN Выберите объекты: Противоположный угол: найдено: 185 Выберите объекты: Analyzing selection... - Error: Ошибка Automation. Ключ не найден
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
osnapz поменяй. Правда, срабатывает не всегда.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 27.10.2010
Сообщений: 14
|
Добрый день! Вроде не первый день замужем, но столкнулся с казебоброй которую не могу решить: 1)выбираю полилинии с отметкой уровня "не равно 0"-выбираются; в свойствах назначаю НОЛЬ- и линии разлетаются кому куда понравилось. Из параллельно-перпендикулярной графики получается радиально-концентрическая херня! Прошу прощения за мой французский!
Последний раз редактировалось Archidar, 05.02.2019 в 17:31. |
|||
![]() |
|
||||
сбоку и спереди на свой блок посмотри
![]() взорви свой блок выбери все и SF полилинии не просто в ноль, они под углом...
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 27.10.2010
Сообщений: 14
|
Дык я по этому сюда и обратился. Как!? Как это могло наЧЁРТиться!? Специально захочешь сделать- так не получится. Я когда этот файл взял в работу, попал в ступор.
Пришлось взорвать полилинии- тогда , превратившись в отрезки они потеряли свои собственные точки отсчета и вписались в МирСистКоорд. Только тогда и обнулились. Но КАК так нарисовалось? |
|||
![]() |
|
||||
рандомно крутили ПСК рисовали, потом опять крутили ПСК и опять рисовали.
Вот мне, что на дружественном форуме подогнали ![]() рисунок выглядит как чертеж, только с одного ракурса... Offtop: кто занимается Street Painting или Madonnari рвут волосенки и рыдают от зависти
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Offtop:
Цитата:
![]() дист и глазам не веришь ((( обрезать удлинить не рабтает... (отрезки не коллинеарны)) плющим
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Цитата:
у меня ничего не слетает
__________________
Мастерская СПДС |
||||
![]() |
|
||||
начинающий инженер-гидротехник Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 911
|
Вот такая же проблема.
В приложении. Autocad 2015, использую SF от VVA |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
kacugu, На странице автора , была выложена версия SuperFlatten 1.2g. Проверил на твоем файле, вроде динблоки не ломает
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
начинающий инженер-гидротехник Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 911
|
Попробовал ещё версию 2.0с отсюда. Вроде тоже работает нормально и не ломает динамические блоки
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
А слона то я и не заметил. Добавил в #1
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 29.07.2017
Сообщений: 201
|
здравствуйте, вызываю команду SF и консоль пишет следующее:
Цитата:
Обычный _flatten выдает следующее: Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
mindchamber, проверь сначала на ошибки (_audit)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
mindchamber, Сделал _purge. Запустил версию 1.2g
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
Задам вопрос тут.
Можно как-то визуализировать (подсветить, выделить, пометить, указать) примитивы у которых проблемы с координатой Z ? Вопрос связан с тем что есть чертежи у которых ошибка Цитата:
Отсюда и возникла мысль найти данный объект и вручную исправить.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
инженер Регистрация: 03.08.2007
Сообщений: 1,418
|
|
|||
![]() |
|
||||
начинающий инженер-гидротехник Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 911
|
Просьба к знатокам лиспа.
Лисп "SuperFlatten 2.0c" при "обнулении" взрывал мультивыноски (по-крайней мере у меня). На просторах инета был откопан следующий код и его адаптированная вариация вставлена в версию 2.0с (строки 2112-2129) : Код:
Собственно просьба: оценить найденный код на возможность использования, может там какие-нибудь подводные камни есть. |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
А если в блоке? анонимном? Взрывать? Не пойдет!
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 398
|
Тема не про лисп, а больше про настройку блока, но связана с обнулением координат.
Когда применяю автокадовскую команду flatten, то блок вместо обнуления координаты Z улетает куда-то в ад (кордината Z не обнуляется, а координата Y становится слишкм большой, обнуляется координата Х). Подскажите, в чем может быть дело, что не так с этим блоком? |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 775
|
Цитата:
Или выбрать подобные и в свойствах Z выставить 0. Последний раз редактировалось Ingpro, 19.09.2024 в 14:41. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 398
|
Спасибо за ответ, он натолкнул на дальнейшие разбирательства. Полез в свои лиспы, и оказалось, что у меня был установлен вот такой простеньки лисп.
Код:
Блок действительно простой до безобразия, сам лисп тоже в пару строчек всего. Почему перемещается блок при выполнении лиспа - непонятно, все остальные примитивы работают как надо. Собственно в этом и состоит мой вопрос. Изменить руками координату Z в моем приложенном файле, безусловно, можно, но рабочий файл с кучей блоков и не только с таким, так что это не вариант. В рабочем файле пользовался автокадовским флаттеном, он не смог все блоки изменить, поэтому видимо в свое время и пришлось устанавливать внешний лисп. Последний раз редактировалось posetitel, 19.09.2024 в 15:26. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 398
|
в начало координат ничего не перемещено, блоки переместились в координату Z=1.21E+83 только мои (зеленый крестик), которые прошу тут проверить, остальные блоки обнулили свою координату Z, надписи, линии все стало с координатой Z=0, кроме приложенного блока
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Чертовски (потенциально) опасный код, если что
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
1. Не отработает, если точка будет по Y где-нибудь в -1e80.
2. Работает только в текущей системе координат 3. Нарисуй полилиниюю с дуговыми сегментами в ПСК, повернутой относительно оси Ох (к примеру) на 45 градусов. Выполни код. Посмотри на результат. 4. Нарисуй коробку (тоже в немировой системе координат), помести куда-нибудь в 1e90. Выполни код. И не забудь про _.audit
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 398
|
пробовал также лиспом Z0 от VAA из сообщения https://forum.dwg.ru/showpost.php?p=...1&postcount=23 блок почему-то перемещается в координату Z=2776.13, а не в 0, как требуется (да и X и Y улетают)
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 398
|
Спасибо.
Мне на будущее, как посмотреть нормаль блока? Да и как такое вообще получилось: топографы криво выгрузили из своих программ, или изначально кто-то блок крутил-вертел и затаскал до изменения нормали, и вообще такие подлянки распространенные? |
|||
![]() |
|
||||
Регистрация: 27.06.2025
Сообщений: 2
|
;; Версия для обнуления координаты Z всех объектов включая содержимое блоков
(defun C:ZEROZ ( / ent entdata processed enttype total-count block-processed) (princ "\nОбнуление координаты Z всех объектов (включая содержимое блоков)...") (setq processed 0) (setq total-count 0) (setq block-processed 0) ;; Сначала обрабатываем определения блоков (setq block-processed (process-block-definitions)) ;; Начинаем с первого объекта в базе данных (setq ent (entnext)) ;; Проходим по ВСЕМ объектам в чертеже (while ent (setq total-count (1+ total-count)) (setq entdata (entget ent)) ;; Проверяем что данные объекта получены успешно (if entdata (progn (setq enttype (cdr (assoc 0 entdata))) ;; Обрабатываем объект если он подходящего типа (if (member enttype '("LINE" "CIRCLE" "ARC" "POINT" "TEXT" "MTEXT" "INSERT" "LWPOLYLINE" "POLYLINE" "VERTEX" "ELLIPSE" "SPLINE" "HATCH" "SOLID" "3DFACE" "DIMENSION" "LEADER" "MLINE" "ATTDEF" "ATTRIB")) (if (zero-z-entity ent entdata) (setq processed (1+ processed)) ) ) ) ) ;; Переходим к следующему объекту (setq ent (entnext ent)) ) ;; Регенерируем чертеж для обновления блоков (command "_.REGEN") (princ (strcat "\nПроверено объектов: " (itoa total-count))) (princ (strcat "\nОбработано объектов: " (itoa processed))) (princ (strcat "\nОбработано определений блоков: " (itoa block-processed))) (princ "\nГотово!") (princ) ) ;; Функция для обработки определений блоков (defun process-block-definitions ( / block-table block-name block-def ent processed) (setq processed 0) (setq block-table (tblnext "BLOCK" T)) ; Первая запись в таблице блоков (while block-table (setq block-name (cdr (assoc 2 block-table))) ;; Пропускаем системные блоки (начинающиеся с *) (if (and block-name (/= (substr block-name 1 1) "*") (/= (substr block-name 1 1) "~")) (progn ;; Получаем определение блока (setq block-def (tblobjname "BLOCK" block-name)) (if block-def (progn ;; Обрабатываем все объекты в определении блока (setq ent (entnext block-def)) (while (and ent (/= (cdr (assoc 0 (entget ent))) "ENDBLK")) (if (zero-z-entity ent (entget ent)) (setq processed (1+ processed)) ) (setq ent (entnext ent)) ) ) ) ) ) ;; Переходим к следующему блоку (setq block-table (tblnext "BLOCK")) ) processed ) ;; Функция для обнуления Z координат конкретного объекта (defun zero-z-entity (ent entdata / enttype modified point-codes current-point) (setq enttype (cdr (assoc 0 entdata))) (setq modified nil) ;; Обнуляем уровень (elevation) - код 38 (if (assoc 38 entdata) (progn (setq entdata (subst (cons 38 0.0) (assoc 38 entdata) entdata)) (setq modified T) ) ) ;; Определяем коды точек для разных типов объектов (setq point-codes (cond ((= enttype "LINE") '(10 11)) ((member enttype '("CIRCLE" "ARC" "POINT" "TEXT" "MTEXT" "INSERT" "ATTDEF" "ATTRIB")) '(10)) ((= enttype "VERTEX") '(10)) ((= enttype "LWPOLYLINE") '(10)) ((= enttype "POLYLINE") '(10)) ((= enttype "ELLIPSE") '(10 11)) ((= enttype "SPLINE") '(10)) ((= enttype "3DFACE") '(10 11 12 13)) ((= enttype "SOLID") '(10 11 12 13)) ((member enttype '("DIMENSION" "LEADER")) '(10 11 12 13 14 15 16)) (T '(10)) ) ) ;; Обрабатываем все точки с найденными кодами (foreach code point-codes (if (assoc code entdata) (progn (setq current-point (cdr (assoc code entdata))) (if (and current-point (>= (length current-point) 3)) (progn (setq entdata (subst (cons code (list (car current-point) (cadr current-point) 0.0)) (assoc code entdata) entdata)) (setq modified T) ) ) ) ) ) ;; Обновляем объект если были изменения (if modified (progn (entmod entdata) (entupd ent) T ) nil ) ) ;; Альтернативная команда - взрывает блоки и обрабатывает результат (defun C:ZEROZ-EXPLODE ( / ss i ent entdata processed exploded-count) (princ "\nВыберите блоки для взрыва и обнуления Z координат:") (setq ss (ssget '((0 . "INSERT")))) (if ss (progn (setq processed 0) (setq exploded-count 0) (setq i 0) (while (< i (sslength ss)) (setq ent (ssname ss i)) (setq entdata (entget ent)) ;; Взрываем блок (command "_.EXPLODE" ent) (setq exploded-count (1+ exploded-count)) (setq i (1+ i)) ) ;; Теперь обрабатываем все объекты заново (setq ent (entnext)) (while ent (setq entdata (entget ent)) (if entdata (progn (setq enttype (cdr (assoc 0 entdata))) (if (member enttype '("LINE" "CIRCLE" "ARC" "POINT" "TEXT" "MTEXT" "LWPOLYLINE" "POLYLINE" "VERTEX" "ELLIPSE" "SPLINE" "HATCH" "SOLID" "3DFACE" "DIMENSION" "LEADER" "MLINE" "ATTRIB")) (if (zero-z-entity ent entdata) (setq processed (1+ processed)) ) ) ) ) (setq ent (entnext ent)) ) (princ (strcat "\nВзорвано блоков: " (itoa exploded-count))) (princ (strcat "\nОбработано объектов: " (itoa processed))) (princ "\nГотово!") ) (princ "\nБлоки не выбраны.") ) (princ) ) ;; Команда для обработки только выбранных объектов (defun C:ZEROZ-SEL ( / ss i ent entdata processed) (princ "\nВыберите объекты для обнуления координаты Z:") (setq ss (ssget)) (if ss (progn (setq processed 0) (setq i 0) (while (< i (sslength ss)) (setq ent (ssname ss i)) (setq entdata (entget ent)) (if (zero-z-entity ent entdata) (setq processed (1+ processed)) ) (setq i (1+ i)) ) (princ (strcat "\nОбработано объектов: " (itoa processed) " из " (itoa (sslength ss)))) (princ "\nГотово!") ) (princ "\nОбъекты не выбраны.") ) (princ) ) (princ "\nЗагружены команды:") (princ "\n ZEROZ - обнуление Z координат всех объектов + содержимое блоков") (princ "\n ZEROZ-SEL - обнуление Z координат выбранных объектов") (princ "\n ZEROZ-EXPLODE - взрыв выбранных блоков и обнуление Z координат") (princ) |
|||
![]() |
|
||||
Регистрация: 27.06.2025
Сообщений: 2
|
Цитата:
В общем, пару дней мучал ИИ, у меня работает с блоками, только что проверил Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 22.08.2025 в 00:06. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,445
|
1. Пользуй форматирование, читать станет сильно проще.
2. Как только у тебя появятся примитивы не в МСК, так тут же вечер перестанет быть томным. 3. Добавь в блоки твердые тела и сетки, а потом на блоки дай разные масштабы и разные ОСК. Проверь работу своего кода...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аналог функции EVAL (LISP) в Exele | kp+ | LISP | 11 | 01.04.2010 16:52 |
Сменить быстро координату Z у нескольких сплайнов. | andrey25 | AutoCAD | 11 | 18.09.2008 16:28 |
Координаты точки пересечения line и pline (LISP) | paradoxvaha | LISP | 3 | 10.07.2007 13:04 |
загрузка DOS прог через LISP | Gaa | LISP | 15 | 12.08.2005 19:19 |