![]() |
|
|
![]() |
![]() |
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
LISP. Вставка в таблицу поля, соотвествующего площади примитива
Москва
Регистрация: 25.12.2005
Сообщений: 13,663
|
||
Просмотров: 198036
|
|
||||
Цитата:
Спасибо Владимир Громов (Profan на этом форуме) что начал потихоньку вытаскивать интересные темы. Мне показалась интересной идея Незнайки Цитата:
Кратко суть работы: Щелчком мыши внутри указываешь с какой ячейки таблицы начинать, выбираешь способ навигации (по строкам или столбцам), далее выбираешь объекты и их площади автоматом попадают в соответствии с установками и выбранным способом навигации в соответствующие строки или столбцы таблицы. Если строки или столбцы заканчиваются, то они добавляются. Код:
Обновлено 2012-05-16 Код:
Вариант, где при суммировании или вычитании используется выбор объектов ssget'ом. Это дает возможность выбирать рамкой, секрамкой или группой, если объекты предварительно сгруппировать командой _GROUP Остальное здесь: ATTSS (AREA To Table with Sum and Select))
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 31.08.2012 в 22:34. Причина: Обновлен вариант с суммированием (разделитель дробной части) |
||||
![]() |
|
||||
Вариант команды PAREATLB вставляет в таблицу тест с длиной примитива или площадью
Код:
Вариант PAREATLB с подчеркиванием MAREATT исправленная PAREATLB из #1 Вариант PTLB для мебели (BOXTLB) Вариант PTLB для размеров (DIMTLB)
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 17.10.2014 в 13:26. Причина: Добавилась новая настройка - округление |
||||
![]() |
|
||||
Очень интересная тема. Давно бъюсь над задачей ( как раз в тему топика ). При проектировании мои полилинии имеют несколько ключевых для меня свойств - это слой, тип линии,длина и значение Z. Никак не удается написать лисп , который рисовал бы таблицу из 4-х строк, в которой бы в "Поле" вписывал эти самые ключевые свойства. Если кто знает как это можно осуществить, буду весьма признателен.
|
||||
![]() |
|
||||
Полилинии какие: LWPOLYLINE, 2DPOLYLINE, 3DPOLYLINE. От этого зависит, где искать координату Z
Сами поля для твоих свойств Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
У 3d полилинии нет свойства "Уровень", соответственно полем на координату Z не сослаться
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
|
||||
![]() |
|
||||
Остальные (кроме Уровня) свойства есть у любых полилиний. Поэтому без разницы 3d или нет
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 20.12.2005
Murmansk
Сообщений: 107
|
to VVA
листинг выполнения для полилинии: Цитата:
![]() Что вообще этот лисп делает? |
|||
![]() |
|
||||
DonJad, Сами команды опубликованы в #1,2,3 (различные варианты)
Лисп работает правильно. Он печатает тебе значения полей указанной полилинии. Если скопировать в буфер тест %< ... >% и вставить в рекакторе текста, то получись поле со ссылкой на соотв. свойство (длину, стлой или тип линии)
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
acyxou, Нужно подправить или заменить ф-цию whatAcadVer
Код:
PS. Обновил пост #3, исправить в #1 нужно просить Profan'a
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 07.06.2010 в 20:02. |
||||
![]() |
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Ну я так и понял... спасибо огромное.
Меня вообще-то вот что интересует: раскладываю, например, 3 вида арматурных сеток, отличающихся по ширине, каждая в своем слое ("с1", "с2" и "с3" соответственно). Далее нужно составить спецификацию. Конечно удобно считать с найденным мною недавно лиспом под названием "entlen", но будучи еще более ленивым, хотелось бы упростить себе и эту задачу, а именно, сделать так, чтоб в ячейке таблицы спецификации, соответствующей конкретной сетке (с1, например), автоматом считалась длина всех полилиний, обозначающих данную сетку, т.е. сумма всех полилиний в слое "с1". И далее при изменении длин полилиний (сеток), поле бы обновлялось соответственно. Возможно ли такое сотворить при помощи данного лиспа? Заранее спасибо. |
|||
![]() |
|
||||
acyxou, Посмотри здесь: Связь графических объектов и текста Вышеизложенные команды вышли из этой темы.
Полями сделать нельзя. Можно сделать реакторами, но не по слоям и не в таблицу, а в текст. В таблицу можно вставить поле со ссылкой на данный текст.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 19.03.2015 в 21:39. Причина: уточнена ссылка |
||||
![]() |
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Цитата:
![]() |
|||
![]() |
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Отличный форум! Жаль, что раньше сюда не заходил, столько времени потерял
![]() Ребята помогите с задачкой, я в LISPe новичок, а вам разминка ![]() Классная команда PTLB, а если ее немного переделать , суть задачки в следующем : - есть замкнутая полилиния, нужно вставить в указанную точку рисунка или в существующий текст с заменой, текст с полем (FIELD), содержащий значение площади этого контура. При этом в установках можно выбирать шрифт вводимого нового текста, с выбором разделительного знака( . или ,) по принципу z-calc-text-value. думаю многим, особенно архитекторам, это очень поможет, заранее спасибо. я работаю в ACAD2007rus Последний раз редактировалось Largo GT, 13.03.2009 в 14:27. |
|||
![]() |
|
||||
LAmyk,
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
>LAmyk
попробуй здесь http://www.kitox.com/kitoxtools/helptools_ru.php команда: Меняет текст по эталону, скачать можно бесплатно здесь http://www.kitox.com/kitoxtools_ru.php |
|||
![]() |
|
||||
Тогда так
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 05.04.2009 в 20:04. Причина: См #28 |
||||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,593
![]() |
Можно я свои 5 копеек вставлю.
А может не мучится и предаствить пользователю самому выбирать что вставить из свойств объекта???
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Добавил обработку MTEXT'a. Изменил #24. Изменения выделил красным
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 05.02.2009
Сообщений: 37
|
после первого прохода от источника к риемнику
начинает подглючивать: Команда: test Выберите текст - источник: Выберите объекты: Выберите текст - приемник: Выберите объекты: _draworder Выберите объекты: найдено: 1 Выберите объекты: _U Выберите объекты: Команда: <имя объекта: 7D837550> Команда: TEST Неизвестная команда "TEST". Для вызова справки нажмите F1. Команда: Выберите текст - источник: Выберите объекты: Выберите текст - приемник: Выберите объекты: _draworder Выберите объекты: найдено: 1 Выберите объекты: _U Выберите объекты: Команда: <имя объекта: 7D837540> Команда: ; ошибка: Функция отменена |
|||
![]() |
|
||||
Исправил #24
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,593
![]() |
VVA, повторю еще раз свою мысль:
может не мучится и предоставить пользователю самому выбирать, что вставить из свойств объекта???
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
zenon, У разных объектов разные свойства, не все свойства отображаются полями.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,593
![]() |
мысль такая, через поле "Object" указываешь объект, и выбираешь. Нужно избавиться от промежуточных операция.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Цитата:
![]() Может не совсем понятно выражаюсь, поясню: На планах этажей считал площади помещений, с помощью команды КОНТУР обводил полилинией помещения и командой PTLB проставлял площади. Теперь планы нужно передавать заказчику и не только ему одному, я хотел почистить планы: удалил контуры помещений (так сказать чтоб врагу не досталось) да только тексты с полями (FIELD) превращаются в #### после РЕГЕНа, а взорвать их не получается ![]() подскажите пожалуйста как добиться желаемого ??? |
|||
![]() |
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Помогите плиз кто разбирается, а можно ли пероброзовать етот лисп под другую цель, есть необходимость штоб не обекты, тоисть не площадь щитывала, а размеры щитывала в таблицу и при етом в 1ну клетку кидало 3 поля по очереди, типа "125х290х500" ...
Тось напимер нарисовал 1 раз шкаф с размерами и зделал спецыфикацыю с полями ... а потом еси надо просто потянул шаф с размерами и в спецыфикации обновились размеры... |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,593
![]() |
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Извините за русский
![]() Но вопрос не в том что можно сделать шаблон, суть в быстром методе создавания полей с привязками к размерам... А у меня специфика работы в том што часто надо новые создавать вещи ... а если б кто помог кто луче "шарит" в лиспах начать эту тему то существенно помог.. Заранее спасибо огромное доброму человеку! ![]() |
|||
![]() |
|
||||
Positron, Выложи пример шкафа и таблицы с полями (dwg файл).
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Извиняюсь шо с таким запозданием... лето, отпуска
![]() вот пример, зелёным цветом выделил поле с привязкой к размеру... Суть в том што часто приходится менять габариты и после, вписывать в таблицу снова... А имея упрощонную возможность делать поле с привязкой к размеру поможет существенно, я думаю не только в подобной областе такая штука пригодится ![]() |
|||
![]() |
|
||||
Positron,
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 17.10.2014 в 13:27. Причина: Добавлен Get-ObjectID-x86-x64 |
||||
![]() |
|
||||
архитектура Регистрация: 09.09.2009
минск
Сообщений: 1
|
вопрос таков, как совместить #2 и #3. точнее заставить код из третьего сообщения автоматически продолжать вставлять значения прощадей/длин в таблицу?..
цены бы не было примочке этой.. ) /или это только у меня не работает? лично мне показалось не совсем логичным описание "перемещаться по столбцам/строкам" - с первого раза понять трудно. может лучше сделать "располагать в столбец/строку"? |
|||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 287
|
Вечер добрый. Извиняюсь, что поднимаю старую тему. Где-то я вроде бы видел ЛИСП, который тоже вставляет куда надо
![]() По первому варианту меня почти устраивает ЛИСП от VVA (2007-10-04 10:26:53) с командой PAREATLB, но есть некоторые пожелания: 1. Разделителем целой и дробной части хотелось бы видеть запятую, но без изменения системных настроек AutoCAD или Windows. 2. Хочется, чтобы текст вставлялся в слой, отличный от текущего, с возвратом к текущему. 3. Самое главное: ЛИСП выполняется только в пределах одного пространства? Можно ли сделать так: вошёл в видовой экран, выбрал или построил полилинию, затем вышел из видового экрана, указал ячейку таблицы, расположенной в пространстве листа, и так далее? А то у меня таблицы в листах, а планировка в модели. Если кто-нибудь сможет помочь, буду благодарен. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,663
|
Вот здесь есть моя программа:
http://www.caduser.ru/forum/index.ph...D=44&TID=19751 Только там площадь выводится на экран и записывается в файл. Возможно, где-то есть аналогичные программы. |
|||
![]() |
|
||||
Регистрация: 08.02.2010
Сообщений: 10
|
не знаю, можно ли писать запросы в ветку "готовые программы"...
а можно к Лиспу в #24 добавить такую штуку: Выбираем текст-источник, лисп запоминает текущий вид выбираем текст-приемник, лисп запоминает текущий вид и переключает нас на вид текста-источника, затем опять на текст приемника и так далее. короче говоря, переключать вид по очереди то на предыдущий источник, то на предыдущий приемник. Тем самым можно будет избежать кучи перемещений по экрану. надеюсь, понятно описал... |
|||
![]() |
|
||||
ilya_sp, Пробуй. Название придумай сам. У меня сегодня с этим тяжело
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 22.04.2011 в 10:13. |
||||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 287
|
Всем привет. К своему сообщению №44. Точку на запятую я исправил сам; как ни странно, в самом тексте ЛИСП. Со вторым вопросом хуже, ЛИСП-то я всё-таки не знаю... Попробовал сделать макрос
Код:
|
|||
![]() |
|
||||
Цитата:
Код:
(cons 8 "AREA") Обязательно убери коментарий - символ ; вначале
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 287
|
VVA, спасибо! Со слоем и текстовым стилем всё получилось. Возник другой вопрос. Поле формируется из однострочного текста, а он не подхватывает из текущего стиля ширину 0.8 и угол наклона 15. К тому же хотелось бы видеть на плане эту надпись подчёркнутой. Можно ли это осуществить, или сделать вместо однострочного многострочный текст?
Последний раз редактировалось Archeo, 12.02.2010 в 16:41. Причина: Снял вопрос о высоте текста |
|||
![]() |
|
||||
Замени на это
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 287
|
Спасибо, почти всё работает. За исключением одного момента: когда прицеливаешься и выбираешь точку вставки, то текст с полем отображается подчёркнутым, а после вставки подчёркивание пропадает... Шо бы это значило? Сейчас у меня текст кода такой:
Код:
|
|||
![]() |
|
||||
Инженер-проектировщик автомобильных дорог Регистрация: 21.10.2009
Южно-Сахалинск
Сообщений: 245
![]() |
Всем привет. Можно ли данный код приспособить так, чтобы он брал площадь объектов находящихся на одном слое и суммировал в одну ячейку, а когда я выбираю другой объект, который принадлежит другому слою, то он начинает в след ячейку суммировать площади этих объектов. В данном случае этот объект "Штриховка".
и чтобы можно было изначально забивать масштабы по x y. Вызвали команду задали масштабы (след вызывание должно быть подтверждение enter предыдущего значения или новое значение) потыкали в штриховку получили суммы штриховок с одинаковыми слоями в разных ячейках таблицы. Способом построчно например. И можно например было бы сделать так чтобы нажимать на штриховки не по порядку по слойно, а например сначало нажали на слой1-в первую ячейку попала площадь, потом слой2-во вторую ячейку попала площадь, потом опять слой1-суммировала в первую ячейку с тем что там уже имеется. то есть тыкать в разнобой по штриховке и быть уверенным что по слойно все сложится правильно. И чтобы при заданных масштабах результат выдавало в гектарах в ячейки ![]() Вот все вроде что хочется. |
|||
![]() |
|
||||
Присоединяюсь к этой просьбе:
Цитата:
Проблема временно решена этим лиспом http://forum.dwg.ru/showpost.php?p=228481&postcount=14 Последний раз редактировалось DimAS]/[K, 12.05.2010 в 02:45. |
||||
![]() |
|
||||
Делов то
![]() в конце кода замените это: Код:
Код:
Код:
Код:
Последний раз редактировалось Do$, 12.05.2010 в 09:12. Причина: А про таблицу то я забыл... |
||||
![]() |
|
||||
Регистрация: 15.07.2008
Сообщений: 195
|
VVA, использую ваш лисп AREATT #2, всё замечательно. Единственное: он вставляет значение в милиметрах квадратных,а надобно в метрах кв. Приходиться кликать на каждоую ячейку со значение, и менять в поле коэффициент пересчета на 0.000001, а это очень много занимает времени. Как быть? Одним махом я так и не смог поменять коэффициент пересчета во всех нужных полях.
|
|||
![]() |
|
||||
Внимательно смотреть в командную строчку
Цитата:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 27.05.2004
Республика Беларусь
Сообщений: 67
|
Здравствуйте .
VVA , подскажите пожалуйста , а можно ли сделать так , чтобы - указал как перемещаться , например по столбцам , ткнул в ячейку таблицы , а примитивы указывать не по одному , а рамкой ?
__________________
Andrey |
|||
![]() |
|
||||
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
отдел открытых горных работ Регистрация: 06.05.2009
Новокузнецк
Сообщений: 124
|
Здравствуйте!
А возможно добавить следующее: Иногда необходимо занести в ячейку таблицы сумму 2-х и более площадей. Не прерывая при этом дальнейшее выполнение программы. пример: -Запустил areatt и начал поочередно указывать интересующие меня объекты. Далее дохожу до места, где требуется вставить суммарную площадь нескольких объектов в следующую ячейку таблицы. -Нажимаю (НАПРИМЕР) букву S (summa) программа переходит в режим суммирования. Нажимаю ENTER и результат вставляется в ячейку. Зы. Так же добавить возможность вычитания по аналогии. ЗЗы. Спасибо большое за вашу программу. Позволяет, ощутимо, снизить кол-во рутинной работы! |
|||
![]() |
|
||||
Shaft, Обновил #2
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,615
|
1. У меня в таблице, состоящей из всего одной ячейки, поле, ссылающееся на длину некоей линии. Если я копирую ячейку и линию вместе, то поле новой ячейки - что логично - ссылается на первую линию, а не на новую. Можно ли каким-то образом (блок, группа или еще что-то) эту пару объектов размножать так, чтобы каждая новая ячейка ссылалась на "свою" линию?
2. Аналогично, в такой вот ячейке стоит поле - ссылка на ширину этой же ячейки. Если копирую ее, поле новой ссылается на ширину старой. Поправимо? Была мысль делать это блоком, затем вставлять блок и сразу взрывать его. Так не выходит. Тупик? |
|||
![]() |
|
||||
Регистрация: 06.05.2010
Сообщений: 22
|
Всем привет. Классные лиспы надыбал в этой теме, очень удобно и актуально, всем разработчикам "Респект и уважуха". Коллеги, а никто не думал о том, что иногда нужно вставить поле в атрибут блока? У меня сейчас, как раз такая проблема. Есть готовый блок вставленный в чертеж, хорошо бы, чтобы лисп, который вставляет поля с длиной и площадью в таблицы и просто в поле чертежа, мог бы и в атрибут поле засунуть... Ни кто, не поможет с этой задачей?
![]() |
|||
![]() |
|
||||
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 06.05.2010
Сообщений: 22
|
Огромное спасибо VVA! Протестил лисп, работает пока нормально, без траблов. Правда изначально программа вставляла поле с площадью, немного докрутил, теперь вставляет то, что надо, поле длины. Это большое подспорье, извлекаю кабельный журнал из блоков в которых прописывается кабло, поле длины раньше вставлял ручками, ну теперь ваще, прям цельный САПР...
![]() |
|||
![]() |
|
||||
конструктор СПК и НВФС Регистрация: 13.04.2006
Сообщений: 47
|
Доброго времени суток! Полезные программы! Спасибо! VVA один вопрос в #2 при выборе суммирования/вычитания не понимает масштабный коэффициент, выводит в мм2, в силу своей LISP-неграмотности сам исправить вряд ли смогу... Если не затруднит, поправьте пожалуйста... Очень уж пригодилась программа, а циферки лишние глаз корябают.
Область применения, если интересно: раскрой листового материала, много разноразмерных деталей сложной конфигурации, а отчеты формировать ручками приходится, правда не мне, а сотрудникам, но все равно мартышкин труд. Заранее благодарен.
__________________
... я не червонец чтобы нравится всем ... |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,615
|
Цитата:
![]() Я таки решил свою задачку с #73, обнаружив интересную закономерность (особенность) AutoCADa: Если блок вставить, а затем расчленить, то поле слетает, а если его вставить сразу с опцией Расчленить, то выходит, что можно Цитата:
Код:
|
|||
![]() |
|
||||
skkkk, Только что проверил, действует.
Создай блок с именем "BLK". Код ниже вставит его расчлененным в точку 100,100 Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 06.05.2010
Сообщений: 22
|
Коллеги, я не в теме, но подозреваю, что необходимо вставить в чертеж блок расчлененным. Если дело только в этом, то я решаю это так:
^C^C_-insert;BLK;\;;;_explode;_last; Почему делаю так, внутри BLK, в моем случае, находится динамический блок с кучей атрибутов, преследую две цели, после расчленения блок у меня уже находится в определенном слое, который не нужно создавать, хотя вставляете в любой слой, и при вставке нет никакого диалога связанного со значениями атрибутов. Я конечно не профи, но думаю на лиспе будет так же: (command "_-insert" "BLK" "\\" "" "" "") (command "_explode" "_last") ![]() |
|||
![]() |
|
||||
Регистрация: 28.01.2011
Сообщений: 2
|
Прошу прощения за некомпетентность, но есть два вопроса:
1. можно ли в ячейку таблицы автоматом вставить текстовое значение ширины этой ячейки (форум просмотрел, похожее не нашел) либо использовать ширину ячейки как параметр в формуле в этой либо другой ячейке 2. чем могут быть вызваны кракозябры вместо русских букв в запросах опций в автокаде в команде PTLB1.lsp (сама команда работает корректно). Пробовал менять кодировку на WIN1251, KOI8-R, UTF-8 - текстовый редактор отображает нормально, автокад - нет Последний раз редактировалось a_leo, 29.01.2011 в 14:51. |
|||
![]() |
|
||||
Попробуй скопировать еще раз, только убедись, что в момент копирования активна русская расладка клавиатуры
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 25.09.2010
Сообщений: 9
|
VVA, спасибо большое за чудесную программку (ну и товарищам Громову с Ривилисом тоже спасибо конечно). Порадую архитекторов.
Тока у меня один вопрос. Как бы сделать так, чтобы разделителем в получаемых полях стала запятая. Заранее извиняюсь если тема уже поднималась, а я не заметил.
__________________
Автырь благодарит редактыря и корректыря за предоставленный ему шанец! |
|||
![]() |
|
||||
Цитата:
Найти: %ct8 Наменить на: %ds44%ct8
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 28.01.2011
Сообщений: 2
|
Уважаемый VVA, премного благодарен за оперативный ответ
Цитата:
для программы PTLB1 (с caduser.ru, там где не поле, а текст) все равно кракозябры 2. а если имеется большое количество полилиний - можно ли организовать перебор т.е. после первой полилинии программа не завершает работу, а спрашивает вторую полилинию и т.д. Последний раз редактировалось a_leo, 04.02.2011 в 21:54. |
|||
![]() |
|
||||
отдел открытых горных работ Регистрация: 06.05.2009
Новокузнецк
Сообщений: 124
|
Уважаемый VVA, можно ли наростить функционал вашей программы areatt следующим образом!
Чтобы можно было считать не только замкнутые контура, но и штриховки? А то, на сегодняшний день приходиться вручную брать значение площади штриховки из ее свойст и суммировать\вычитать. |
|||
![]() |
|
||||
Shaft, Она работает с объектами, у которых есть свойство "площадь" (Area). В том числе и со штриховками. Допускаю, что возможен вариант, когда штриховка не имеет свойста Area.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Shaft, Не всегда верь написанному
![]() ![]()
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
отдел открытых горных работ Регистрация: 06.05.2009
Новокузнецк
Сообщений: 124
|
Буду иметь это ввиду!
![]() Блин в автокад (2006 и 2008) при попытки запустить вашу программу... автокад выдает следующее: Код:
upd: и в 2011 такая же ошибка вылазиет. А вчера всё работало прекрасно. Причем все вышеуказанные версии автокада находяться на разных компьютерах. Ps. Может это восстание машин/или автокадов? ![]() ![]() ![]() ![]() upd-2: [s]Я нашел ошибку! Оказывается надо создать таблицу до того как запускаешь комманду! ![]() Просто раньше я как-то незапускал её в чертежах, где небыло таблиц. Поэтому и незнал что наличие последней является объязательным ![]() Последний раз редактировалось Shaft, 11.02.2011 в 07:18. |
|||
![]() |
|
||||
Shaft, Вернись в начало темы и почитай пост #3
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Вариант с суммирование (вычитанием) площадей из #2 не подойдет?
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
подойдет, только нужно чтобы обязательно работал с атрибутами (вставлялся в них).
И почему-то при суммировании площадей не работает коэффициент и количество знаков округления. Когда одну площадь указываешь, то все работает, когда суммируешь или вычитаешь, не работает так, как надо. ![]() Последний раз редактировалось DimAS]/[K, 15.04.2011 в 02:47. |
||||
![]() |
|
||||
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
Уважаемый VVA!
Пользую ваш лисп MAREATT - очень полезная вещь для землеустроителя, спасибо Вам! Однако когда решил воспользоваться PTLB для вставки площади замкнутой полилинии в пространство модели, столкнулся со следующим отказом в работе программы: Цитата:
Цитата:
Цитата:
|
|||
![]() |
|
||||
Агент СмиТ, Для начала давай так:
1. Из поста #3 копируешь последнюю версию 2. Пробуешь. Если есть ошибка, то выкладываешь тестовый файл и сообщаешь: версию Автокада с указанием разрядности, версию операционной системы с указанием разрядности, наличие/отсутсвие сервис паков для Автокада
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
VVA, Скачал лисп из поста #3, для начала испробовал во вновь созданном файле и... всё сразу же заработало! Однако в рабочем файле отказ не ушел. Через два часа
![]() Посмотрите пожалуйста, можно ли устранить данный баг хотя бы в пространстве модели! Файл чертежа прикладываю. |
|||
![]() |
|
||||
Агент СмиТ, Обновил #3 побуй
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
VVA
Обновил лисп в акаде, запустил из командной строки, вот листинг: Цитата:
|
|||
![]() |
|
||||
Скопируй еще раз. Должно писать это
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
Цитата:
|
|||
![]() |
|
||||
Исправил #3 Пробуй снова
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 10.11.2011
Сообщений: 14
|
Здравствуйте .
Подскажите , пожалуйста : можно ли заставить работать PTLB с таблицей ATABLE с сайта http://alxd.it-dept.ru/index.php может кто-то пробовал уже ? Спасибо заранее . |
|||
![]() |
|
||||
Инженер Регистрация: 12.11.2008
Днепропетровск
Сообщений: 527
|
Как-то перерыл множество лиспов и нашел нужный - по клику в пространстве, ограниченном отрезками, выводит текст с площадью (т.е. сам создает контур). Однако куда-то его затаскал и найти в куче всего не получилось. Ткните, если можно, носом в пост/ссылку...
|
|||
![]() |
|
||||
Регистрация: 30.12.2007
Сообщений: 23
|
Ребята а можно ли данный лисп ввести функцию ввода префикса при каждом измерении для того чтобы можно было одновременно еще и помещения подписывать ??? только желательно чтобы через дробь записывала с верху суффикс, а под чертой площадь ????? Заранее спасибо очень полезный лисп.....!!!!!
Код:
Последний раз редактировалось dew, 15.01.2012 в 03:32. |
|||
![]() |
|
||||
APavl,
1. Можно создать связь таблицы Автокада с таблицей Excell 2. Как вывести в эксель длинны нескольких линий?
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Цитата:
в "VetCAD++" |
|||
![]() |
|
||||
Регистрация: 10.11.2011
Сообщений: 14
|
VVA, Спасибо за ссылку .
Я вставляю в ACAD 2008 связанную таблицу со спецификацией из Excel (просто там всё гарантированно считается , в таблице Acad нужно ещё проверять) . Слышал , что в более поздних версиях ACAD можно вставлять двустороннюю связь таблиц acad-excel , но у меня acad 2012 вылетает постоянно из-за нехватки памяти . Поэтому длины беру из acadа , считаю в excele , вставляю спецификацию обратно в acad . Хорошо бы ещё показывало количество , одинаковые длины складывало .... Но , наверное , многого хочу . |
|||
![]() |
|
||||
shartal, Обновил #3 Добавилась новая настройка - округление. Тестируй.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
serdgius, Дай ссылку на пост где брал. Исправлю. А вообще дело в функции whatAcadVer. Замени на эту
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Архитектор Регистрация: 22.02.2007
Красноярск
Сообщений: 21
![]() |
Пост №1 исправленный который. Попытался вставить, без изменений, я в лиспе не силен. Буду премного, если поможете. Такой еще вопрос в Area Field to Attribute, как нибудъ можно менять маштабный коэффициент, или может есть еще подобный лисп.
Последний раз редактировалось serdgius, 21.03.2012 в 10:49. |
|||
![]() |
|
||||
Я с таким сталкивался, когда использовал метод vla-get-textstring, он строки с символами юникода вот так вот коверкает. Мне пришлось отказаться от vla и заменить (vla-get-textstring obj) на конструкцию (cdr (assoc 1 (entget (vlax-vla-object->ename obj)))). Может здесь то же самое.
|
||||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Плиз, помогите в автокаде версии 2012 не пашет, чо дописать надо шоб работало? и сразу для 2013 еси не трудно.. --- Разабрался ((= Aver 18.0) 2010) ((= Aver 18.1) 2011) ((= Aver 18.2) 2012) А 2013 будет 19.0 ???? Последний раз редактировалось Positron, 17.04.2012 в 17:52. |
|||
![]() |
|
||||
Вместо
Код:
Код:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
|
|||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
Уважаемый VVA, в посте #1 (2007-09-20 16:36:57) в коде лиспа PAREATAB написано
Цитата:
Цитата:
__________________
AutoCAD 2014 |
|||
![]() |
|
||||
Nata1,Спасибо за внимательность. Да в этом посте надо так. Исправить не могу, т.к. пост не мой. Скажу лишь, что после этой публикации команды менялись. Дальнейшее развити есть в посте #3, в том числе там есть ссылка и на обновленную PAREATLB
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
Спасибо за лиспы, очень нужная вещь.
![]() Попробовала лисп AREATT Вариант с суммирование (вычитанием) площадей из поста #2 и заметила особенность. Вводишь масштабный коэффициент, например, 0.01, а он после применения "+" или "-" сбивается и в таблице записывается с коэффициентом 1. Может, я не правильно команду использую? Делаю так: Цитата:
В других лиспах из этой темы нет возможности суммирования/вычитания полей.
__________________
AutoCAD 2014 |
|||
![]() |
|
||||
Nata1, Я попробовал, у меня масштаб сохраняется. Посмотри содержимое поля, там должно быть что-то похожее на
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
VVA, да, именно так и есть. На первом скрине "Окно1" поле, которое у меня получилось после вычитания полей. Мне пришлось вручную заменять точку на запятую, менять масштабный коэффициент, формат и точность. Тогда стало все, как надо. См. второй скрин "Окно2"
По идее, должно ведь все автоматически делаться. ![]()
__________________
AutoCAD 2014 Последний раз редактировалось Nata1, 11.05.2012 в 15:24. Причина: Добавление вложения "Окно3" |
|||
![]() |
|
||||
Nata1,мне нужно содержимое поля в формуле. Тебе нужно дважды щелкнуть на цифре 91.90 из 1-го рисунка.И ничего не меняй в ручную, просто скопируй сюда содержимое поля. Еще меня настораживает фраза
Какие у табя региональные настройки в Windows?
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
|||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
VVA, спасибо! Вот, что в поле написано:
Это для обеих цифр, если выбрать в ячейке таблицы "Редактировать поле": Цитата:
Цитата:
Цитата:
Повторю, что введенный коэффициент не сохраняется и вместо точки ставится запятая только при применении сложения/вычитания. У меня начерчено в модели в масштабе 1:100 и поэтому у полей тоже делаю такой масштаб. Цитата:
__________________
AutoCAD 2014 |
||||
![]() |
|
||||
Nata1, Мне не понятно откуда в поле берется (разделитель - запятая)
Цитата:
Пуск -> Панель управления
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Nata1, приложи файлик
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
VVA, спасибо, стало гораздо удобнее.
![]() ![]() http://forum.dwg.ru/showpost.php?p=693051&postcount=89
__________________
AutoCAD 2014 Последний раз редактировалось Nata1, 16.05.2012 в 10:04. Причина: Поняла |
|||
![]() |
|
||||
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 10.11.2011
Сообщений: 133
|
Autocad 2012. Не работает:
Команда: _appload AreaToTab.lsp успешно загружено. Команда: Команда: Команда: PAREATLB Текущий масштаб = 1 Текущая точность округления = 2 Высота текста = 500.0 Префикс= Суффикс= Выберите или нарисуйте [Полилиния/Установки/Выбор] <Выбор>: Выберите полилинию, круг, сплайн, эллипс или дугу Выберите объекты: Найдено полей: 1. Обновлено полей: 1. Укажите точку вставки текста или ячейку таблицы:Неизвестная команда "NONE". Для вызова справки нажмите F1. *Прервано* Прерывает после указания примитива. Использовал вот это: Код:
|
|||
![]() |
|
||||
Регистрация: 10.11.2011
Сообщений: 14
|
Выберите полилинию, круг, сплайн, эллипс или дугу
Выберите объекты: Найдено полей: 1. Обновлено полей: 1. Укажите точку вставки текста или ячейку таблицы:Неизвестная команда "NONE". Для вызова справки нажмите F1. *Прервано* Прерывает после указания примитива. Здравствуйте . Было то же самое . Как-то потом исчезло чудесным образом . Может даже после перезагрузки ... Как-то и не помню сейчас . |
|||
![]() |
|
||||
Регистрация: 11.01.2012
Сообщений: 2
|
На основе PAREATLB хочу создать / изменить код, но нехватает знаний.
запросы от пользователя: Масштабный коэффициент: Количество десятичных знаков: Округлять [Да/Нет] : (Да- стандартное округление, Нет- не округлять (отбросить лишние цифры / округлить в меньшую сторону) Высота текста : 250 Подчеркивать текст [Да/Нет] : Помогите, пожалуйста, разобраться с округлением Последний раз редактировалось owerty, 22.06.2012 в 14:45. Причина: исправлено |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,615
|
Overty, хотелось бы для начала разобраться вот с этими несколькими пунктиками:
1. Что в данном контексте понимается под "стандартным округлением"? Текущее значение системной переменной или 2 знака или еще что-то? 2. Что же всё-таки должно происходить при нажатии Нет: "неокругление", отброс лишних цифр или округление в меньшую сторону? А может выпадение следующего меню со всеми этими пунктами? 3. Лишние цифры - это какие? Хвостовые нули? Или которые не помещаются куда-нибудь, в ячейку, например? 4. Округлить в меньшую сторону - это до меньшего целого или до стольких знаков, сколько указывает пользователь пунктом выше (Количество десятичных знаков:)? А еще лучше изобразить бы непосредственно в dwg, например, как во вложении |
|||
![]() |
|
||||
esp1413,
Проверю после выхода из отпуска owerty, К вопросам skkkk мне пока добавить нечего.
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Регистрация: 11.01.2012
Сообщений: 2
|
-Количество десятичных знаков:
-Округлять [Да/Нет] : Да- математическое округление к ближайшему "целому", Нет- отбросить лишние цифры, следующие после количества, указанного в пред.запросе) Чертеж2.dwg Последний раз редактировалось owerty, 25.06.2012 в 20:18. |
|||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
Уважаемый VVA, можно ли немного доработать лисп AREATT (вариант с суммированием/вычитанием площадей, чтобы можно было суммировать/вычитать площади объектов, образованных группой. Например, при подсчете площади помещения на плане, обвести контур помещения полилинией, а все колонны заранее сгруппировать командой GROUP и при запросе на выделение объекта сразу всю группу выделить, а не тыркать курсором в каждую колонну.
__________________
AutoCAD 2014 |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,663
|
Уважаемый VVA, вы мастер лиспописания и и к тому же программного полезабивания в таблицы автокада.. А не могли бы вы сочинить лисп, принудительно обновляющий поля в таблице?
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
?
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,663
|
Ежели б усе было так просто..
![]()
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Цитата:
Код:
|
|||
![]() |
|
||||
AlexV, покажи файл, а так же расскажи про автокад и винду поподробнее
>Largo GT такое бывает, когда копируешь код при текущей английской раскладке.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.08.2012 в 08:51. |
||||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,663
|
Винда "7" 64 бит, иногда работаю под виртуалкой "win xp-mode". Автокад 2012 + SPDS CS (сборка 7.1.1064), - но та же ерунда бывала и на других версиях (2010, 2011). Глюк не постоянный, в новом файле обычно все окей. Когда возникает, с чем связан, - не знаю.. Вроде связан с файлом, а не компом, - на других открываешь файл, - глюк остается.
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
>Nata1 На здоровье
>AlexV, Глюк подтверждаю. Как побороть - не знаю. Правильнее, наверное, так
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,663
|
Цитата:
![]()
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Регистрация: 28.10.2008
Сообщений: 26
|
Изменил для себя код из поста #2, сделал извлечение не площади, а длины.
Не получилось сделать повтор запроса при невыборе объекта, если объект не указан, программа прекращает выполняться. И нельзя ли сделать еще записывание также в ячейки содержимого мулитьвыноски, причем циклом, перед извлечением длины полилинии? Т.е. первый клик -на мультивыноску - содержимое в ячейку, второй клик на полилинию - длину в соседнюю (или еще лучше, указанную заранее другую) ячейку, с перемещением также по строкам. |
|||
![]() |
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
Уважаемые форумчане! Не могли бы вы переделать код из#1, чтобы указывая на текст или мтекст в таблицу вставлялось поле со значением этого текста, и что бы можно было задавать шаг вставки через одну ячейку, две.... И т.д.
И еще подскажите код для автоматической нумерации, сначала программа спросила скакого номера начинать затем тыкаю куданибудь и появляется текст с номером |
|||
![]() |
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
Цитата:
__________________
Каждая система стремится к равновесию. |
|||
![]() |
|
||||
Цитата:
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
|
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 13,065
|
Цитата:
Вас там еще не полностью затопило????
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
Затопило сильно, неделю назад на вертолете летел на вахту подчти через всю область, если не река разлилась то просто озера на полях из- за дождей образовались, все лето дожди идут. Сейчас погода установилась, реки начались спадать. Спасибо за ответ. Где почитать про "col and row". В книге Полищука нету описания этих функций?
|
|||
![]() |
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
(vla-GetRowHeight tblobj (1- row)) 2)- разобрался, цифра выделенная красным добавляет количество строк в таблице, если она закончилась.
(setq row (1+ row))- заполняет значениями каждую строку, меняю на 2-ошибка.Помогите. Последний раз редактировалось Виталий Владимирович К, 22.08.2013 в 03:26. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 13,065
|
Цитата:
Цитата:
Цитата:
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 38,686
|
Загоняем в блок точку и отрезок. Какая площадь будет у этого блока?
peacemaker_kiss, создай штриховку и бери ее площадь.
__________________
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 38,686
|
О, еще и трехмерку сюда же? peacemaker_kiss, определи сначала задачу, а потом уже и решения искать надо.
__________________
|
|||
![]() |
|
||||
Регистрация: 12.04.2011
Сообщений: 37
|
Все сработает конечно через штриховку
----- добавлено через ~3 мин. ----- теперь буду пробовать писать код, чтобы лисп искал блок штриховал его считал площадь штриховки, заносил в таблицу и удалял штриховку. От души спасибо, ибо начинающий кодописец, сидел ломал голову, что с блоком сделать, а решение элементарное |
|||
![]() |