| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Надо же, все оказалось проще, чем думал. Мог бы и вчера доделать.
Выкладываю последний вариант. Добавлена работа с размерами и вставка результата в размерный текст, вот только радиусы и диаметры не берет, и дуговые в радианах считает. Да так ли уж часто нужно такие размеры вычислять. Установка числа знаков после запятой снесена в пункт "Опции", по умолчанию =1 (самого этот запрос уже достал). Нельзя ввести ноль - так я от деления на ноль избавился. Обнаружилась интересная особенность: нельзя два раза подряд сделать вывод результата - логика программы не позволяет. Еще просьба, кому не лень потестируйте программку в AutoCAD 2008, ZW/Proge/Brics CADах. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Чуток подправил твой код. Теперь игнорирует угловые размеры, обрабатывает дуговой размер. Надеюсь ничего не испортил
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Сейчас АКАД заново загрузил, исходная версия v4.3 тоже нормально работает, разве что угловой размер не исключается. В #41 я малость дуговой и угловой размеры перепутал. Вообще, для углового размера можно сделать пересчет из радиан в единицы чертежа, но думаю не стоит мешать линейные и угловые величины.
Кстати, это может быть выложено в "Готовые программы"? Если да - нужно в некоторых местах до ума довести, нет - и так сойдет. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Правь и выкладывай. Я в версию 4.3 как раз и добавил обработку дугового размера и исключил из обработки угловой
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Благодарю. Хорошо сделано.
У меня есть предложение объединить хорошие стороны лиспов выложенных на этом форуме. Есть лисп выложенный Олегом (textcalc4.3) и лисп с поста 16, взятый с сайта caduser. Перечислю положительные стороны каждого (ИМХО). textcalc4.3 – есть возможность работать не только с текстом и мтекстом, но и с размерами используя одну команду. Есть возможность контроля количества цифр после запятой. лисп с поста 16 – Процесс выполнения действий упрощен, можно минимальным затратами времени сосчитать сумму текстов (я еще более его упростил, избавившись от вылетающего окна с содержанием суммы вычисления). Еще тут радует возможность не поштучного выбора, а группового (рамкой). Как бы я хотел чтоб выглядел финальный лисп. При всех достоинствах лиспа от Олега должен сказать, что постоянная нужда выбора подкоманд сбивает с толку, и нет возможности выбрать насколько объектов рамкой. На данный момент я использую оба лиспа. Создал несколько копий Лиспа с поста 16, в них поменял команды вызова и каждому задал определенную функцию ( + - * / ). Фактически нужными для меня оказались команды складывания и умножения. Для работы с размерами я пользуюсь программой от Олега. Олег создал очень интересную программу, с возможностью в процессе вычислений менять функцию, но как показывает практика важнее чтоб команда работала быстро. Предлагаю создать облегченную программу, состоящую из четырех команд (по команде на функцию), без запросов на подфункции. Знаю некоторые возможности созданные Олегом пропадают, но цель в убыстрении процесса вычислений. То есть команда после вызова работает так. (пример для суммирование) -выберите объекты, выбираем размеры или тексты которые нужно просуммировать (выбор возможен и рамкой и поштучно), enter, -выберите объект для записи значения, выбираем размер или текст, enter, (здесь как альтернативу enter-у думаю уместно разместить подменю по поводу округления, после чего опять-таки выбираем объект для записи, enter,) Процесс окончен. Если вы заметили количество действий сведено к минимуму. При этом количество цифр после запятой (округление) предлагаю по умолчанию оставить 1, для других случаев можно оставить запрос от 0 до 9. Надеюсь такой переделанный вариант программы приемлем для Олега, как для автора textcalc. P.S. textcalc и без предложенных мною изменений рекомендую в “Готовые программы” Последний раз редактировалось Red Nova, 14.02.2008 в 14:55. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Вот мой аналог #16. Правда результат пишет в новый текст, но это поправимо. Из особенностей:
Разбирает Мтексты по параграфам, Безразличен к . или , в разделителе Остальное в коментариях Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 14.02.2008 в 19:17. Причина: Без запроса Select object: |
|||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
На самом деле textcalc может и быстрее работать. В начале выбираем Функция > + > enter и щелкаем подряд на текстах. Есть программа для суммирования, получена урезанием textcalc-v3.2, но там нет размеров и вывода в текст, только в комстроку.
Насчет доработок буду думать. Выбор поштучно или рамкой. Если использовать ssget, то сразу после запроса "Выберите тексты:" вылазит "Select objects:" и от этого никак не избавиться. Мне такое не нравится. А вот при entsel'e пользователь более-менее точно знает в какой именно текст он ткнул. По некоторым причинам не хочу использовать vla-функции. Подумаю, что-нить изобрету. Запрос на кол-во цифр после запятой: "Выберите объект для записи значения [Опции] <Назад>: ". В опциях выбор кол-ва цифр, не зашел в опции - по умолчанию =1. Неплохо бы посмотреть как оформлять готовые программы. VVA или kpblc, ссылку на пример не дадите? Вы вроде собирались эти разделы (программы и функции) к единому виду приводить. Добавлю. Да, можно сделать выбор объектов оптом. Все хорошо, когда используются операции сложения или умножения. А каким образом при "-" и "/" выбрать из набора из чего вычитается и что делится? По-любому первый элемент вычислений придется выбирать отдельно от последующих. Получается три разных программы надо: общая(???), + и *, - и /. Последний раз редактировалось Олег К., 14.02.2008 в 14:27. Причина: думал |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
>Олег К. Там в основном говорилось как оформлять готовые ф-ции. Пример- любая ф-ция в разделе "Программирование->Библиотека функций"
В преамбуле при оформлении готовых программ нужнро описать для чего применяется, какие-то нюансы и органисения. (типа округление чисел из переменной LUPREC, угловые размеры не обрабатываются и т.п.). Дать возможный вариант макроса на кнопочку. Как пример см. здесь Проблема с запросом "Select objects:" тоже решаема, см. новый вариант кода с #46. Там этого запроса нет. Думаю с тем как это сделано разберешься. Так что, как говорится, "Даешь много хороших и разных программ"
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
VVA Жду вариант с возможностью вписать в текст или размер полученный результат. А в этой программе тоже можно сделать из + скажем * при помощи замены кокой–то строчки? Еще очень хотелось бы возможность поиграть с округлением.
Олег.К Честно говоря умножение или отнятие мне ни разу не приходилось использовать (на случай если с ними не получится). Еще в твоей программе плохо то что на моем компьютере (и дома и на работе) не получается мышкой выбрать подменю, команда норовит закончить вычисление. Приходится Клавой работать. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
res (+ res (apply '+ (mapcar 'atof str)))) и (apply '+ меняем на (apply '*
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
> dextron3 Это спрашивай не у меня, а у Red Nova
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,143
|
Red Nova, поделись где этот лисп суммирование размеров применять будешь,
я реально не могу найти ему применение... Буду благодарен
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
|
||||
Был у меня тут чертеж, где некоторые размеры переписаны (длинная цепочка), а сверху цепочки надо проставлять общий размер, равный сумме всех переписанных, вот и возникла идея, что если отметить сразу все размеры, суммировать их значения, можно результат вписать в общий размер.
|
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Пробуйте. Команды
SumTN - суммирование тестов в новый текст sumTE - суммирование тестов в существующий текст mulTN - умножение тестов в новый текст mulTE - умножение тестов в существующий текст Команды суммирования/умножения в существующий текст (sumTE, mulTE) могут вставлять полученный результат в текст, размер, атрибут блока, заполненную ячейку таблицы.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
VVA, Попал в точку, то что нужно. Быстро и удобно. Спасибо.
С вопросом разобрались. Теперь хочу предложить кое что посложнее. Как насчет полноценного калькулятора, способного работать с содержанием мтекста, размеров, длин отрезков, площадей замкнутых линий и штриховок и т.п. (выбор объектов происходит как в лиспе с поста 55)? Или уж совсем извращенная мысль. Я пользуюсь numlock калькулятором, может есть вариант его заставить видеть объекты AutoCAD-а? Допускаю что может на этот раз меня занесло, и идеи абсурдные, но было–бы здорово. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,850
|
Red Nova, у тебя какой версии AutoCAD?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
>> VVA Ну и программка! Куда уж мне теперь лезть!
>> Red Nova По #56. Эт конечно интересно когда надо посмотреть разницу реальной длины объекта и того, что на размере указано. Хотя не совсем понимаю зачем, это в свойствах размера посмотреть можно. Для подсчета длин линий тут программок разных до фига было, ничего изобретать не надо. Для площадей замкнутых фигур и штриховок есть команда AREA. В общем, попробуете объяснить зачем это все в одну кучу сгребать. У меня фантазия не развитая. |
|||
|
||||
Цитата:
А смысл в том, чтоб иметь калькулятор, в который можно вместо цифр ввести любое значение меры длины или там еще чего из AutoCAD. Нечто похожее на встроенный калькулятор, но с расширенными возможностями выбора объектов (у встроенного только длина отрезка, угол и координаты). Я часто использую Numlock калькулятор, для спецификаций (с мтекстом правда благодаря Олег К. и VVA разобрались), и других целей, когда в калькулятор вводишь вместо цифр параметры объектов AutoCAD. Разве у вас такого не было? Вопрос сейчас не в том чтоб узнать конкретный параметр (длина, площадь, сумма мтекстов…), для этой цели инструментов вроде как достаточно, а в том, чтоб значение этого параметра быстро ввести в калькулятор. |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Предложения по расчетным моделям сооружений | aldt | Расчетные программы | 8 | 06.07.2009 17:53 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |