|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Новая задачка для ЛИСП умельцев
проектирование КМ, КМД
Регистрация: 02.05.2005
Сообщений: 25
|
||
Просмотров: 34841
|
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>Лентяй
1. А как же значки радиусов и диаметров? 2. А как же количество десятичных знаков которое для размеров устанавливается отдельно? 3. А если слой случайно заблокирован, то выскочит непонятная для пользователя ошибка и что уже "надписано" а что нет совершенно непонятно. >Gostushev Должен переписывать размеры "как есть". Я подумал что нелишне такие размеры временно метить и они красятся в цвет №22 (если конечно в определении стиля цвета ByBlock). Чтобы убрать покраску, сотрите строчку (vla-put-Color dim 22). Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Код:
![]() Да, а заморозками-отморозками - вожжайтесь сами, ибо мне - ЛЕНИВО! ![]() |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>Лентяй
Цитата:
![]() Цитата:
Я просто избрал другой "железобетонный", хотя и не элегантный способ забирания текста "как есть" из взорванной копии размера. Да я зануда, однако считаю что если человек просит програмку то невполне вежливо давать ему полуфабрикат, а хотя бы что то приближенное к тому как оно должно быть или хотя бы предупреждать где могут возникнуть проблемы. Кстати, уже совсем будучи занудой. После повторного использования програмка выдаёт ошибку: Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
![]() Цитата:
Цитата:
![]() Код:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Разозлил я тебя :?:
![]() Цитата:
Цитата:
Я тоже сначала написал типа твоего. Но потом понял что лень вдаваться в частности и быстренько накидал вариант по принципу скопировал-взорвал-взял-подтёр. Лень знаешь ли вдаваться во все частности, а оставить как у тебя занудство не даёт ![]() Цитата:
Код:
![]() Ну да ладно. Не буду тебя больше доставать. Тем более что самому далеко до совершенства. Я ж не ShaggyDoc чтобы лекции читать. С занудским приветом Фантомас ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
А если textoverride нет?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
>>kpblc
вообще все размеры забиты вручную. Но если проскочит размер без override, желательно чтоб он подсветился и НЕ посчитался. ЗЫ. Подсветка должна сработать не зависимо от размерного стиля (даже если в нем стоит другой цвет). о как! ![]() |
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
Программа есть Findhanddim.vlx называется от Рипс Э. И erips@yahoo.com Пользуюсь ею.
Скачать можно здесь http://helpstud.org/load/acad/findhanddim.zip |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
> Krieger : Попробуй такое:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Цитата:
![]() Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Цитата:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 24.10.2005
Новокузнецк
Сообщений: 1,124
![]() |
Цитата:
|
|||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
>>kpblc
в целом код, работает, но: 1. он считает все размеры какие есть на чертеже; 2. если вбит размер с текстом он тоже считается; 3. нет возможности выбора считаемых размеров; 4. не отмечается ничего цветом и толщина не меняется; 5. и вначале я просил, чтоб посчитанная цифра вылевалась в новый размер, т.е. отметил несколько размеров, они посчитались, все что "не то" отметилось цветом (об этой возможности мы говорили, можно ее не делать ![]() В коде для Krieger меняется и цвет и толщина. Заранее спасибо! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
> serg01 : Давай тогда еще раз ТЗ с самого начала и для тупого. Я уже не могу сегодня нормальный код написать, это факт. Только если завтра.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Код:
Делалось, чтоб тыкать носом ![]() |
||||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
>>kpblc
Хорошо. Давай заново. Имеем размеры, которые проставлены вручную. Чтоб на калькуляторе всю цепочку не подсчитывать нужно выделить эти размеры, ввести команду и результатом должно явиться следующее: 1. Все то, что присутствует в поле text override в виде целых чисел (кроме текста, символов, текта+цифры, цифры не целые) посчиталось. Все, что кроме целых чисел должно выделиться красным цветом и в расчетах учавствовать не должно. 2. Следом после этого должно высвятиться приглашение на ввод 2-х точек начала и конца будующего линейного размера, а посчитанный результат должен будет записаться в поле text override этого размера. Надеюсь теперь понятно объяснил. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Ну закрутился по работе, бывает, извини. Пробуй:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Работает как надо?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
ну почти как надо
![]() Но этот вариант вполне устраивает! ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Цитата:
Вполне может оказаться, что у тебя в настройках размерного стиля стоит цвет не ByBlock, а ByLayer или какой-то предопределенный. Тогда работать, конечно, не будет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 04.07.2005
Иркутск
Сообщений: 213
|
Цвет стоит в стиле определенного цвета, это да. Удобно это. Поменял на byblock и естественно заработало. А нельзя сделать так, чтоб цвет менялся даже в случае установки его в размерном стиле жестко за определенным цветом ?
ЗЫ. лиспины, ранее проскакивавшие это делали, но функционал у них был не тот. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
В общем несколько вариантов:
1. Меняет цвет внутри размеров на красный (установленный в переменной color) Код:
Код:
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Ну то, что работает, понятно. Дело в том, что "унутренности" изменивших цвет размеров разные - посмотри ради интересу на них в части цветов текста, выносных и размерных линий.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
GEODATA Engineering S.p.A. Регистрация: 11.02.2005
Монино
Сообщений: 692
|
Кулик Алексей aka kpblc, не подскажешь, для первого варианта
Цитата:
|
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
подниму эту тему, ибо нужно немного модифицировать лисп.
1 - при любом изменении вручную размеров в поле текста, нужно просто подчеркнуть текст и все больше никаких телодвижений.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 29.05.2009
Сообщений: 104
|
Помогите пожалуйста с решением проблемы. Здешние программы посмотрел, но они почему то не все размеры окрашивают - с чем связано - непонятно.
Задача у меня такая. Есть чертеж с кучей размеров, начерченный в масштабе M. Среди них есть размеры нормальные, размеры, вбитые в ручную (не содержат <>), и размеры чей масштаб не соответствует масштабу М. Нужна программа, которая окрасит нормальные размеры в зеленый цвет, не соответствующие масштабу - в красный, вбитые в ручную - оставит как есть. Работа программы. Вводим команду, выделяем мышкой область чертежа, при этом выделяются только размеры: линейные, круговые, угловые. Enter. Размеры, содержащие "<>" стали зеленые, размеры, чей масштаб не соответствует текущей переменной Dimlfac стали красные, остальные - остались без изменений. Спасибо, если кто поможет. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Настроить размерный стиль: все примитивы размера должны располагаться на слое "0" и иметь свойства "ByBlock" ("ПоБлоку").
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 05.03.2012
Санкт-Петербург
Сообщений: 20
![]() |
|
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Код:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Не верблюд Регистрация: 07.06.2010
Москва
Сообщений: 1,179
|
Подниму тему.
Есть файл с кучей перебитых размеров. Они прекрасно находятся через qselect. Но есть "1292" перебитый на "1300" (кто-то не умеет пользоваться округлением, да), и "2300" перебитый на "3000". Нужно выделить размеры, в которых реальное значение отличается от "перебитого" больше, чем на некоторое значение. Может быть, такое уже делали, но не нашел. Если есть - ткните носом. Думаю такая программа будет полезна не только мне в борьбе с "веселыми картинками".
__________________
Мой блог по Revit |
|||
![]() |
|
||||
Не верблюд Регистрация: 07.06.2010
Москва
Сообщений: 1,179
|
Дима_, огромное спасибо! Когда будут взвешивать грехи - смело сообщайте, что этот код спас кучу людей от нудного труда
![]()
__________________
Мой блог по Revit |
|||
![]() |
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,326
|
Похожая задача.
Подскажите пожалуйста, есть ли готовое решение для цепочек размеров: - хотелось бы чтобы в выбранной группе размеров содержимое перебивалось по условию, например: для значения 1000 перебивалось на "2х500=<>" для 1500 "3х500=<>" для 2000 "4х500=<>" для 2500 "5х500=<>" ... ну и так далее, пускай даже эти условия будут в теле макроса или лиспа, а при необходимости их надо будет там изменить. Спасибо. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
v.psk, Как-то так в первом приближении
Размеры должны быть не перебитые, а вычисленные Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 18.07.2017 в 09:46. Причина: новая версия |
|||
![]() |
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,326
|
Отличная реализация. Спасибо. Багов не нашел.
Хотелось бы из удобства пользования дополнить лисп двумя штуками: - возможностью ввода из диалогового окна значения этой переменной шага - 500 или другое, удобно если последнее введенное значение будет "по умолчанию" - подстановка значений выполнялась бы только для выделенных объектов.... Напишу для чего... например при раскладке блоков дополнительного армирования но изополям, их можно наставить примерно, поставив округление в размерах, тогда среди размеров цепочки целые размеры окажутся в габаритных размерах блока, в направлении шага установки арматуры. Их и требуется "перебить". Когда планов много, требуется перебить сотни размеров к виду 5х200=1000 итп..., ну и например образмеривание перфорации теплоизоляционных вкладышей, шага хомутов, закладных, ... итд итп... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
А сам?
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,326
|
|
|||
![]() |
|
||||
проектирование Регистрация: 16.09.2005
KZ
Сообщений: 141
|
Offtop:
Цитата:
![]() Принцип тот же - сначала считаешь, что во вложенных скобках, потом во внешних, а соседние - по порядку, слева направо. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
И почему-то модифицированные размеры, перестают менять масштаб, пока кисточкой только свойства не перенесешь не меняют
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
инженер Регистрация: 03.08.2007
Сообщений: 1,403
|
dextron3, В ГОСТ 2.307—2011 вроде так:
5.48 При нанесении размеров, определяющих расстояние межд)/ равномерно расположенными одинаковыми элементами изделия (например, отверстиями), рекомендуется вместо размерных цепей наносить размер между соседними элементами и размер между крайними элементами в виде произведения количества промежутков между элементами на размер промежутка |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лисп для копирования данных нескольких мтекстов по принципу расположения. | Red Nova | LISP | 14 | 18.06.2008 22:08 |