|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
28.10.2007, 06:13 | #1 | |
LISP. Вставка в таблицу поля, соотвествующего площади примитива
Москва
Регистрация: 25.12.2005
Сообщений: 13,627
|
||
Просмотров: 208172
|
|
||||
Цитата:
Спасибо Владимир Громов (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
Сообщений: 106
|
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,826
|
Можно я свои 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,826
|
VVA, повторю еще раз свою мысль:
может не мучится и предоставить пользователю самому выбирать, что вставить из свойств объекта???
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
|
||||
zenon, У разных объектов разные свойства, не все свойства отображаются полями.
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,826
|
мысль такая, через поле "Object" указываешь объект, и выбираешь. Нужно избавиться от промежуточных операция.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Цитата:
Может не совсем понятно выражаюсь, поясню: На планах этажей считал площади помещений, с помощью команды КОНТУР обводил полилинией помещения и командой PTLB проставлял площади. Теперь планы нужно передавать заказчику и не только ему одному, я хотел почистить планы: удалил контуры помещений (так сказать чтоб врагу не досталось) да только тексты с полями (FIELD) превращаются в #### после РЕГЕНа, а взорвать их не получается подскажите пожалуйста как добиться желаемого ??? |
|||
|
||||
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Помогите плиз кто разбирается, а можно ли пероброзовать етот лисп под другую цель, есть необходимость штоб не обекты, тоисть не площадь щитывала, а размеры щитывала в таблицу и при етом в 1ну клетку кидало 3 поля по очереди, типа "125х290х500" ...
Тось напимер нарисовал 1 раз шкаф с размерами и зделал спецыфикацыю с полями ... а потом еси надо просто потянул шаф с размерами и в спецыфикации обновились размеры... |
|||
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,826
|
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 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
Беларусь
Сообщений: 348
|
Вечер добрый. Извиняюсь, что поднимаю старую тему. Где-то я вроде бы видел ЛИСП, который тоже вставляет куда надо текст с полем, соответствующим площади замкнутого контура, но предварительно делает оффсет этого контура на 20 мм внутрь (типа отделка). Рылся в поиске, но безрезультатно. Может, у кого-то есть? В идеале, хотелось бы иметь два варианта ЛИСПа: один - без оффсета (для помещений с существующей отделкой), второй - с оффсетом (для помещений с проектируемой отделкой).
По первому варианту меня почти устраивает ЛИСП от VVA (2007-10-04 10:26:53) с командой PAREATLB, но есть некоторые пожелания: 1. Разделителем целой и дробной части хотелось бы видеть запятую, но без изменения системных настроек AutoCAD или Windows. 2. Хочется, чтобы текст вставлялся в слой, отличный от текущего, с возвратом к текущему. 3. Самое главное: ЛИСП выполняется только в пределах одного пространства? Можно ли сделать так: вошёл в видовой экран, выбрал или построил полилинию, затем вышел из видового экрана, указал ячейку таблицы, расположенной в пространстве листа, и так далее? А то у меня таблицы в листах, а планировка в модели. Если кто-нибудь сможет помочь, буду благодарен. |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Вот здесь есть моя программа:
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
Беларусь
Сообщений: 348
|
Всем привет. К своему сообщению №44. Точку на запятую я исправил сам; как ни странно, в самом тексте ЛИСП. Со вторым вопросом хуже, ЛИСП-то я всё-таки не знаю... Попробовал сделать макрос
Код:
|
|||
|
||||
Цитата:
Код:
(cons 8 "AREA") Обязательно убери коментарий - символ ; вначале
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 348
|
VVA, спасибо! Со слоем и текстовым стилем всё получилось. Возник другой вопрос. Поле формируется из однострочного текста, а он не подхватывает из текущего стиля ширину 0.8 и угол наклона 15. К тому же хотелось бы видеть на плане эту надпись подчёркнутой. Можно ли это осуществить, или сделать вместо однострочного многострочный текст?
Последний раз редактировалось Archeo, 12.02.2010 в 16:41. Причина: Снял вопрос о высоте текста |
|||
|
||||
Замени на это
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
архитектор Регистрация: 02.04.2006
Беларусь
Сообщений: 348
|
Спасибо, почти всё работает. За исключением одного момента: когда прицеливаешься и выбираешь точку вставки, то текст с полем отображается подчёркнутым, а после вставки подчёркивание пропадает... Шо бы это значило? Сейчас у меня текст кода такой:
Код:
|
|||
|
||||
Инженер-проектировщик автомобильных дорог Регистрация: 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,653
|
1. У меня в таблице, состоящей из всего одной ячейки, поле, ссылающееся на длину некоей линии. Если я копирую ячейку и линию вместе, то поле новой ячейки - что логично - ссылается на первую линию, а не на новую. Можно ли каким-то образом (блок, группа или еще что-то) эту пару объектов размножать так, чтобы каждая новая ячейка ссылалась на "свою" линию?
2. Аналогично, в такой вот ячейке стоит поле - ссылка на ширину этой же ячейки. Если копирую ее, поле новой ссылается на ширину старой. Поправимо? Была мысль делать это блоком, затем вставлять блок и сразу взрывать его. Так не выходит. Тупик? |
|||
|
||||
Регистрация: 06.05.2010
Сообщений: 22
|
Всем привет. Классные лиспы надыбал в этой теме, очень удобно и актуально, всем разработчикам "Респект и уважуха". Коллеги, а никто не думал о том, что иногда нужно вставить поле в атрибут блока? У меня сейчас, как раз такая проблема. Есть готовый блок вставленный в чертеж, хорошо бы, чтобы лисп, который вставляет поля с длиной и площадью в таблицы и просто в поле чертежа, мог бы и в атрибут поле засунуть... Ни кто, не поможет с этой задачей?
|
|||
|
||||
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 06.05.2010
Сообщений: 22
|
Огромное спасибо VVA! Протестил лисп, работает пока нормально, без траблов. Правда изначально программа вставляла поле с площадью, немного докрутил, теперь вставляет то, что надо, поле длины. Это большое подспорье, извлекаю кабельный журнал из блоков в которых прописывается кабло, поле длины раньше вставлял ручками, ну теперь ваще, прям цельный САПР...
|
|||
|
||||
конструктор СПК и НВФС Регистрация: 13.04.2006
Сообщений: 47
|
Доброго времени суток! Полезные программы! Спасибо! VVA один вопрос в #2 при выборе суммирования/вычитания не понимает масштабный коэффициент, выводит в мм2, в силу своей LISP-неграмотности сам исправить вряд ли смогу... Если не затруднит, поправьте пожалуйста... Очень уж пригодилась программа, а циферки лишние глаз корябают.
Область применения, если интересно: раскрой листового материала, много разноразмерных деталей сложной конфигурации, а отчеты формировать ручками приходится, правда не мне, а сотрудникам, но все равно мартышкин труд. Заранее благодарен.
__________________
... я не червонец чтобы нравится всем ... |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Я таки решил свою задачку с #73, обнаружив интересную закономерность (особенность) AutoCADa: Если блок вставить, а затем расчленить, то поле слетает, а если его вставить сразу с опцией Расчленить, то выходит, что можно Цитата:
Код:
|
|||
|
||||
skkkk, Только что проверил, действует.
Создай блок с именем "BLK". Код ниже вставит его расчлененным в точку 100,100 Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Ну, раз создаешь блок программно, сразу и задавай ему "расчленяемость" в "Да"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 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
Днепропетровск
Сообщений: 525
|
Как-то перерыл множество лиспов и нашел нужный - по клику в пространстве, ограниченном отрезками, выводит текст с площадью (т.е. сам создает контур). Однако куда-то его затаскал и найти в куче всего не получилось. Ткните, если можно, носом в пост/ссылку...
|
|||
|
||||
Регистрация: 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. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
попробуй использовать двойной слеш: "\\"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Я с таким сталкивался, когда использовал метод 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, спасибо, стало гораздо удобнее. Только теперь вместо запятой всегда точка ставится, и при суммировании(вычитании) и без.
Точку сама исправила согласно поста 89 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,653
|
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,685
|
Уважаемый VVA, вы мастер лиспописания и и к тому же программного полезабивания в таблицы автокада.. А не могли бы вы сочинить лисп, принудительно обновляющий поля в таблице?
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
?
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685
|
Ежели б усе было так просто.. Не работает, зараза, "апдейтофилд все"! По непонятной причине перестают обновляться поля в таблицах, обновляются только при заходе в ячейку, в редактор поля и нажатии кнопки "ОК". Вот я и думаю, может возможно написать код, "симулирующий" это действие?
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Цитата:
Код:
|
|||
|
||||
AlexV, покажи файл, а так же расскажи про автокад и винду поподробнее
>Largo GT такое бывает, когда копируешь код при текущей английской раскладке.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.08.2012 в 08:51. |
||||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685
|
Винда "7" 64 бит, иногда работаю под виртуалкой "win xp-mode". Автокад 2012 + SPDS CS (сборка 7.1.1064), - но та же ерунда бывала и на других версиях (2010, 2011). Глюк не постоянный, в новом файле обычно все окей. Когда возникает, с чем связан, - не знаю.. Вроде связан с файлом, а не компом, - на других открываешь файл, - глюк остается.
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
>Nata1 На здоровье
>AlexV, Глюк подтверждаю. Как побороть - не знаю. Правильнее, наверное, так
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685
|
Ну, не обязательно кстати сказать формулы. Поля в ячейках со ссылкой к примеру на свойства чертежа, - тоже перестают обновляться. Причем совершенно непредсказуемо иногда файл "вылечивается", - но ненадолго. Предпологал, что це могло быть связано с использованием vba, - у меня таблицы спецификации и ВРС считаются автоматом, - может "objtabl.RegenerateTableSuppressed = True.... objtabl.RegenerateTableSuppressed = False" как-то "портят" таблицу. Но никакой прямой связи нет, после работы макроса все может быть окей, а через какое то время - бац, и перестали обновляться.. Запарило однако это дело, уж сколько раз замазывал в выдаваемых комплектах шифры, даты, фамилии и т.д., - из-за глюков этих с полями.
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Регистрация: 28.10.2008
Сообщений: 26
|
Изменил для себя код из поста #2, сделал извлечение не площади, а длины.
Не получилось сделать повтор запроса при невыборе объекта, если объект не указан, программа прекращает выполняться. И нельзя ли сделать еще записывание также в ячейки содержимого мулитьвыноски, причем циклом, перед извлечением длины полилинии? Т.е. первый клик -на мультивыноску - содержимое в ячейку, второй клик на полилинию - длину в соседнюю (или еще лучше, указанную заранее другую) ячейку, с перемещением также по строкам. |
|||
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
Уважаемые форумчане! Не могли бы вы переделать код из#1, чтобы указывая на текст или мтекст в таблицу вставлялось поле со значением этого текста, и что бы можно было задавать шаг вставки через одну ячейку, две.... И т.д.
И еще подскажите код для автоматической нумерации, сначала программа спросила скакого номера начинать затем тыкаю куданибудь и появляется текст с номером |
|||
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
Цитата:
__________________
Каждая система стремится к равновесию. |
|||
|
||||
Цитата:
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Маркшейдер, геодезист Регистрация: 09.07.2013
Благовещенск, Амурская область
Сообщений: 10
|
|
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Вас там еще не полностью затопило????
__________________
Работаю за еду. 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
СПб
Сообщений: 12,968
|
Цитата:
Цитата:
Цитата:
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Загоняем в блок точку и отрезок. Какая площадь будет у этого блока?
peacemaker_kiss, создай штриховку и бери ее площадь.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
О, еще и трехмерку сюда же? peacemaker_kiss, определи сначала задачу, а потом уже и решения искать надо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.04.2011
Сообщений: 37
|
Все сработает конечно через штриховку
----- добавлено через ~3 мин. ----- теперь буду пробовать писать код, чтобы лисп искал блок штриховал его считал площадь штриховки, заносил в таблицу и удалял штриховку. От души спасибо, ибо начинающий кодописец, сидел ломал голову, что с блоком сделать, а решение элементарное |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
К кому обращение? И "почему" что?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Так, файл нужен
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
И код, создающий штриховку.
P.S. Не уверен, что смогу заняться: работы многовато
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.04.2011
Сообщений: 37
|
Пытаюсь заштриховать блок в чертеже, через (setq _hatch (vla-addHatch m_space acHatchPatternTypePreDefined "ANSI31" :vlax-false))
Автокад, умницавыдает: #<VLA-OBJECT IAcadHatch 00000000398e1da8> Но где указать, что штриховать мне нужно мой блок? |
|||
|
||||
Регистрация: 11.10.2010
Сообщений: 980
|
Советую прогуляться по ссылкам, приведенным в http://adn-cis.org/forum/index.php?t...sg3891#msg3891
__________________
(/= RegDate StartReadDate) |
|||
|
||||
Регистрация: 12.04.2011
Сообщений: 37
|
дельный совет, ушел в изучение, обязательно выложу, когда все получится! Идея шикарная для тех кому нужно, вот нашей проектной группе нужно)
----- добавлено через ~2 ч. ----- Ну что же разобрался! Наваял! И все бы здорово, но любой объект штрихуется, а для блоков пишет Invalid Input. Причем, что для блока который у меня в фильтре, что для любых блоков Заштрихованная строка - это как планировалась, строка ниже, тестировал на разных объектах (defun c:_ex8 ( / ) (vl-load-com) (setq _acad (vlax-get-acad-object)) (setq active_doc (vla-get-ActiveDocument _acad)) (setq m_space (vla-get-ModelSpace active_doc)) (setq _blockselect (ssget "_X" (list (cons 2 "1123") (cons 0 "Insert")))) (setq _block (vlax-ename->vla-object (ssname _blockselect 0))) (setq _hatch (vla-addHatch modelSpace acHatchPatternTypePreDefined "ANSI31" :vlax-true AcHatchObject )) (setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 0))) ;(vlax-safearray-put-element outerLoop 0 _block) (vlax-safearray-put-element outerLoop 0 (vlax-ename->vla-object(car(entsel)))) (vla-AppendOuterLoop _hatch outerLoop) (vla-put-patternscale _hatch 50) (vla-Evaluate _hatch) (vla-Regen active_doc :vlax-true) ) ----- добавлено через ~2 ч. ----- Может кто-нибудь сталкивался, отпишите?! ----- добавлено через ~3 ч. ----- Нашел у Полищука, что метод AppendOuterLoop не подходит для объектов Блоки! Вот крах! ----- добавлено через ~20 ч. ----- Самое невкусное то, что все примеры и все справки в сети связаны именно с объектом ModelSpace, и ни слова нет про блоки! Если кто-нибудь штриховал блоки лиспом научите пытливый ум, он будет премного благодарен |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Разве можно заштриховать блок? Насколько я знаю, заштриховать можно замкнутый (или не очень) контур, в том числе, входящий в состав блока. То есть, нужно сначала получить объекты внутри блока и добавить к описанию блока штриховку нужного контура. Опять-таки, как программа поймет, что именно ей нужно заштриховать? Указанный пользователем контур или контур на определенном слое?
Может, это или это поможет? |
|||
|
||||
Регистрация: 12.04.2011
Сообщений: 37
|
Цитата:
----- добавлено через ~6 мин. ----- Что объектами для штриховки являются ModelSpace, PaperSpace, Block! Но, как я уже указывал, лишь для ModelSpace приведены примеры! |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Это понятно, что лиспом. В приведенных ссылках решения в определенной степени похожих вопросов реализованы именно на нём.
Вопрос, конечно, не в той теме. Предлагаю продолжить обсуждение хотя бы тут. И нужен файл с примером и описанием что и как должно быть. |
|||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день!
Интересный вопрос! 1. Есть разные площади по свойствам, которые нужно разместить в таблицу. по определенным ячейкам. 2. Выбор производить рамкой. 3. Лисп обрабатывал площади и заносил в ячейки автоматически в определенные ячейки таблицы. Например. Есть двери, окна. Выбирая их рамкой, лисп заносит их площадь в таблицу в определенные ячейки для окон и дверей. Может как то разделить по слоям? |
|||
|
||||
Gti Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121
|
Ahntv,
как вариант - можно сделать двери и окна в виде динамических блоков с изменяемой геометрией, атрибутами площади и других необходимых тебе свойств. Расставляешь блоки, площадь высчитывается автоматом, затем _attout, допиливаешь в excel.
__________________
Каждая система стремится к равновесию. |
|||
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Взял для использования ATTSS из сообщ.158. (AreaTT вываливает ошибку после первого же выделения полилинии, площадь ее в таблицу подставляет, но при этом заканчивает работу. т.е для следующего помещения надо повторно запускать скрипт).
Набил в таблицу десяток помещений, чертеж в миллиметрах, в настройке скрипта стоит коэффициент 0.000001 для корректного отображения в метрах в таблице. В последней ячейке записал Sum столбца площадей (Итого) - автокад все посчитал хорошо. НО В чертеже есть балконы и т.п с коэф. площади. Забил уже ручками в ячейки таблицы формулы "=Sum "автотекст скрипта" * 0.3" - стало отображать в ячейке число в миллиетрах, сумма внизу подсчитывается корректно. Исправляю формулу в ячейке балконной площади на "=Sum "автотекст скрипта" * 0.3 * 0.000001" - в самой ячейке число отображает в метрах, но вот сумма внизу уже становится неправильной! Как можно побороть такое разночтение? PS Суммирование только "балконных" ячеек дает правильный результат. Но как только в диапазоне ячеек есть коэффициентные и напрямую вставленные скриптом - сумма сразу считается неверно. ----- добавлено через ~1 ч. ----- Ну и еще момент. В том же скрипте ATTSS - при выборе "по стРокам/по сТолбцам" - делает ровно наоборот. Может конечно оттого, что у меня Автокад английский, но как то не верится. Последний раз редактировалось ArchPavel, 30.09.2014 в 11:01. |
|||
|
||||
Цитата:
----- добавлено через ~3 мин. ----- Я проверил код из #154 - считаю что делает правильно. При выборе навигации "по строкам" идет по ним, не меняя столбца
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Да ,из 154 ) В 158 просто цитатой повторен. Про AreaTT написал именно отдельно - что не работает непрерывно, обрывается после первого же указания примитива и поэтому использовать AreaTT далее я не стал. И перешел к ATTSS. Из сообщения 154.
Насчет столбцов и строк. Есть ощущение, что один раз из десяти он делает правильно, а остальные 9 - ровно наоборот. Т.е. чтобы заполнить столбец я вынужден указывать русскую "Р". Указал "Т" - получаю разросшуюся вширь таблицу. С удовольствием бы заменил русскость на английскость в указании ключевой буквы, но пока не знаю как. Однако это мелочи по сравнению с невозможностью (пока что) создать Экспликацию с наличием лоджий и балконов, где в ячейках корректные площади в метрах, а внизу правильная сумма |
|||
|
||||
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Мистика. Еще раз проверил #154. Пишет в строки и столбцы как задумывалось. На всякий случай, проверял в Acad2009 и 2015.
Если тебя не устраивает, то поменяй счетчик столбцов и строк Найди Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
Скажу хуже - попробовал скрипт на совершенно другой машине, Автокад 2012х64 англ, скрипт специально взял не правленный мною, а опять из 154 сообщения - и та же беда - указываю "по столбцам" ставит в ряд, указываю "в ряд" - ставит в столбик.
Заподозрил сам файл проекта - он был тот же. Открыл новый чертеж, пустой, вставил таблицу, накидал полилиний, запустил скрипт - не вводя ничего нажал энтер, соглашаясь с вариантом "по столбцам" - опять ставит в ряд! Указал "по рядам" - стало ставить в столбик! ----- добавлено через ~34 мин. ----- Зато нашел как заставить ячейку таблицы отображать тысячи в виде нормальных метров, создал стиль, в нем указал коэффициент и округление. Шарман Последний раз редактировалось ArchPavel, 03.10.2014 в 18:27. |
|||
|
||||
ArchPavel, Можешь куда-нибудь видео выложить что и как делаешь?
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
кончающий инженер-гидротехник Регистрация: 17.12.2012
Сообщений: 67
|
C видео не силен, скажу лишь, что пока так и использую - пишу R чтобы проставляло в столбик. Причем абсолютно неважно, что вписано в скобках как действие по умолчанию при просьбе указать направление (Перемещаться [Row/Col/Установки] <Row>: либо Перемещаться [Row/Col/Установки] <Col> - если нажать энтер без ввода буквы - будет писать в рядок.
|
|||
|
||||
ArchPavel, Можно еще рассмотреть вариант с TeamViewer.
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 17.10.2014 в 13:27. |
||||
|
||||
Ahntv, Сделай еще один шаг вперед. Выби 3 размера
Версия DIMTLB с 1 размером, предыдущую команду переименовал в BOXTLB Округление регулируется переменной LUPREC Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 17.10.2014 в 16:56. Причина: Точность округления как см LUPREC |
||||
|
||||
Ahntv, Изменил #218. Точность округления регулируется текущими настройками (переменная LUPREC)
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день!
Подскажите пожалуйста!! Произвожу подсчет площади полилиний в AutoCAD 2013 , с помощью ПОЛЕ. Затем другие сотрудники открывают этот чертеж в BricsCAD V13 (x64), бывает происходит такая вещь: все значения ПОЛЯ превращаются в нули. В чем может быть причина? Подскажите пожалуйста! Заранее Вам благодарен |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Например, в BricsCAD'e: ему знакомо понятие поля?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день!
Подскажите пожалуйста! Можно ли пожалуйста сделать LISP - Arreat , на подобии LISPa - DIMTLB? Чем он удобен: Просто выделяешь объект с площадью и сразу вставляешь его в таблицу, с точностью - текущая точность. Не нужно производить настройки, дополнительные операции. Заранее вам благодарен. |
|||
|
||||
Ahntv, Можно. Найди строчку
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Ahntv, PTLB из #3 Там в описании есть все опции для кнопки. Т.е на кнопку вешается не вызов PTLB
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
инженер проектировщик (слаботочка) Регистрация: 28.11.2014
Санкт-Петербург
Сообщений: 1
|
Уважаемые форумчами, просьба помочь, кто разбирается в программировании LSP
Как можно дороботать PTLB.lsp из поста #33 http://forum.dwg.ru/showpost.php?p=395293&postcount=33 Задача: необходимо выбирать на чертеже полилинию, и далее, значение её длины вставлять не в ячейку таблицы, а вставлять в атрибут блока с названием "ДЛИНА" указанного следом блока. При изменении длины полилинии, необходимо что бы поле в атрибуте блока автоматически обновлялось. Т.е. необходимо создать связь между длиной полилинии и атрибутом блока, которая будет обновляться автоматически в зависимости от изменения длины полилинии. Всем кто окажет помощь заранее огромная благодарность за содействие. Сам не разбираюсь в программировании LSP, но такой lsp очень нужен!!! |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
ЗЫ. Я в lisp вообще ничего не понимаю, но если мне нужен молоток, то я иду в магазин. |
|||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день уважаемые форумчане!
Подскажите пожалуйста! C помощью LISPов DIMTLB и AREATT заносил площадь контуров поллиний в таблицу (ПОЛЕ, FIELD). Через некоторое время заметил, что исчезли занесенные значения. Подскажите пожалуйста в чем может быть причина, и как устранить! Заранее Вам благодарен! |
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Первое что приходит в голову: значения исчезли а вместо них ###, значит удалил контуры. А слои не отключал ?
|
|||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Largo GT
Контуры не удалялись! Получается работал в AutoCAD, а кто то открыл чертеж в BricsCAD и они слетели, просто на их месте пустота. Вот начал искать, в Настройка -> Пользовательские -> Обновление полей снял галочки для автоматического обновления полей при открытии , сохранении , печати, оставил только при регенерации. Посмотрим может все дело в разных программах??? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
А что, BricsCAD поддерживает поля?
Добавлено: v13 вроде бы поддерживает, но я не уверен, что там настройки "нормальные"... ----- добавлено через ~7 мин. ----- "Там" - имею в виду в BricsCAD. Можно же, наверное, так выставить опции, что поля будут пониматься как прокси-объекты и впоследствии удаляться.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Я не уверен в такой возможности - поэтому и сказал
Например, demandload поставить в 1 или в 0, и proxyshow в 0. Это предположения - может быть, спецы по BricsCAD скажут более подробно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.10.2013
Сообщений: 30
|
Добра всем!
Пробовал этот лисп применить на 64-й системе, Autocad 2011 и Autocad 2013, но после того как указал нужный примитив или отрисовал его, тут же автокад выдает: Фатальная ошибка: Unhandled access violation reading 0x0032 Exception at e7016bcdh Подскажите пожалуйста как лечить. Код:
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
betonolom, здесь ответ.
|
|||
|
||||
Попробуй в коде
Код:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
не все функции скопировал. добавь в lsp файл
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день VVA.
Попробовал на AutoCAD 2013, до этого пробовал на AutoCAD 2014. Код:
Выдает ошибку. Укажите ячейку таблицы: Выберите примитив для вставки его площади в таблицу (+ сумма; - вычитание; ENTER — завершение): ; ошибка: no function definition: 2+ |
|||
|
||||
Найди отличие
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Благодарю за помощь VVA.
Огромное спасибо. Может кому-то пригодится. Lisp вставка в таблицу поля, соответствующей площади примитива через одну строку/столбец. Код:
Добрый день! Идея и вопрос. В AutoCAD есть функция ВИДЫ МОДЕЛЕЙ. Можно ли как то связать например Lisp AreaTT и созданные ВИДЫ МОДЕЛЕЙ. Задача - Чтобы после Lisp AreaTT переходило на следующий по возрастанию ВИД МОДЕЛИ. Последний раз редактировалось Ahntv, 10.11.2015 в 09:14. |
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Добрый день. У меня 2 просьбы:
1. Можете сделать в PAREATLB #58 что бы вставлялся не "текст" а "мтекст" ? 2. Сделать вариант чтоб вставлялась сумма значений площадей мтекстом с полем (т.е. выбрать несколько полилиний и вставить их сумму мтекстом, можно без возможности вставки в таблицу) |
|||
|
||||
Регистрация: 16.09.2014
Сообщений: 29
|
Добрый день dwg.ru форумчане.
Возникла такой вопрос с LISP DIMTLB. Происходит, что после выбора размера думает AutoCAD минуту две перед вставкой в таблицу. Также существенно увеличивается размер файла был 11 мб стал 14 мб при выборе одного размера, и так происходит с каждым выбором. Подскажите пожалуйста, может как то буфер обмена заполняется? Ранее работало нормально. Закрываю чертеж, затем открываю заново все равно такое происходит. Произвел очистку чертежа, до этого в нем ничего не делал. Удалено аж 55558 блоков????? Удаление блок "*A91896". Удаление блок "A$C1B73763C". Удалено 55558 блоки. Не найдены неиспользуемые слои. Не найдены неиспользуемые типы линий. Не найдены неиспользуемые текстовые стили. Не найдены неиспользуемые файлы форм. Не найдены неиспользуемые размерные стили. Не найдены неиспользуемые стили мультилиний. Не найдены неиспользуемые стили печати. Не найдены неиспользуемые стили таблиц. Удаление материал "Concrete.Cast-In-Place.Flat.Grey.1". Удаление материал "Sitework.Paving - Surfacing.Asphalt". Удаление материал "Sitework.Planting.Grass.Short". Удаление материал "Sitework.Planting.Grass.Thick". Удаление материал "Sitework.Planting.Gravel.Crushed". Удаление материал "Sitework.Planting.Gravel.Mixed". Удаление материал "Sitework.Planting.Soil". Удалено 7 материалы. Заранее вам благодарен. Последний раз редактировалось Ahntv, 21.12.2015 в 15:44. |
|||
|
||||
Ahntv, Точно DIMTLB ничего такого не делает. Без файла получается лечение по фотографии. На вскидку - возможно словари DNG, возможно список масштабовЮ возможно прокси объекты (см. п.5). По пунктам расписано в google doc
Попробуй почистить этим
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 23.02.2016
Сообщений: 1
|
Доброго времени суток! Отличная тема очень помогла, использую лисп AREATT только для длины, очень помогает при заполнении кабельного журнала. Подскажите есть ли возможность модифицировать лисп для копирования длины полилинии в атрибут блока, т.е. лисп предлагает выбрать полилинию затем атрибут и туда записывается поле(или текст) с длиной. Облазил форум нашел только подобные запросы решений пока не было.
|
|||
|
||||
Архитектор Регистрация: 11.03.2009
Новороссийск
Сообщений: 99
|
Уважаемый VVA, можете команду PTLB модифицировать чтобы длину примитива вставлял в таблицу по принципу AREATT (чтоб не было необходимости выбирать ячейку, а данные сами подали в таблицу по заранее договоренному условию , т.е сиди и отщелкивай объекты) ? Или в AREATT добавить возможность выбора длины.
Последний раз редактировалось Largo GT, 31.10.2016 в 17:33. |
|||
|
||||
Largo GT, Там этих вариантов AREATT до чертиков. Скажи, в каком посте смотреть
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Сопровождение проектов, внутренний технадзор Регистрация: 05.06.2012
Санкт-Петербург
Сообщений: 46
|
Здравствуйте уважаемые форумчане, очень понравился лисп, всталяющий в таблицу поле с длиной примитива.
Цитата:
Очень нужно, поскольку нажимать на каждую линию достаточно неудобно, а потом ещё и сводить все поля в ячейку. Так же заметил что в данной лиспе не корректно используется коэффициент масштабирования длины, точнее он берётся такой же как и для площади, что не совсем удобно, прошу подсказать, что нужно подправить в коде? Последний раз редактировалось Denis Ch, 04.08.2017 в 13:36. Причина: исправил ошибки |
|||
|
||||
Цитата:
Вариант, где при суммировании или вычитании используется выбор объектов ssget'ом или можно ли сделать так , чтобы - указал как перемещаться , например по столбцам , ткнул в ячейку таблицы , а примитивы указывать не по одному , а рамкой ? Largo GT, Извини, пропустил твой пост. Трех лет еще не прошло Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
VVA, очень понравилась AREATT! Огромное спасибо!
У меня правда с небольшим глюком работает (если обсуждалось, сорри - бегло пролистал все страницы не нашел) - если промахиваюсь при выборе объекта, команда просто завершается.. Просмотрел код, вроде там есть обработчик такого события "мимо", но хз почему он не работает. |
|||
|
||||
Immortal_6666, укажи номер поста с которого брал
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
|
|||
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,991
|
Всем привет!
Не совсем по теме, но прошу.. Пытался сам, на примере темы http://forum.dwg.ru/showthread.php?t=842&page=11 но не получилось - не хватило знаний разобраться в кодах. Нужно вставить поле в выноску. Обращаюсь за помощью Нашел решение тут - http://www.lee-mac.com/lengthfield.html Последний раз редактировалось Nike, 04.05.2018 в 16:16. Причина: Нашел решение |
|||
|
||||
Регистрация: 23.02.2012
Сообщений: 2
|
Всем здравствуйте. Подскажите пожалуйста, можно ли сделать обычным способом или может есть LISP для создания нумерации помещений с площадями (числитель номер, знаменатель площадь) чтобы нажать по полилинии или по пространству, ограниченного полилинией такого образца, спасибо кто отзовется.
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
Цитата:
И классический вопрос, что сами уже сделали, что именно не получается? |
|||
|
||||
|
||||
|
||||
Регистрация: 24.04.2013
Сообщений: 18
|
Всем здравствуйте!
Давно использую замечательную программу от VVA из поста №3. Под свои чуть расширенные нужды и в меру своих кривых рук вписал в одну строчку кода с объектами штриховку, чтобы пога понимала этот объект, и в другую намертво зашил коэффициент, чтобы сразу в "м2" выдавала результат (при условии, что размерность чертежа "мм"). Код:
На этом мои способности к программированию закончились, а вот потребность в оптимизации рутины осталась. В работе постоянно требуется вычислять кучу площадей полилиний или штриховок, с внесением их значений на чертеж. Значения нужно вносить как просто внутри контуров объектов, так и в таблицу. Поэтому крайне нужна программа, которая заменит бесчисленное кликанье мышкой на пару изящных движений. Т.е. она будет делать то же, что и PTLB от VVA, но автоматически для группы объектов. Всего хотелось бы увидеть 2 функции (но даже одна из них уже будет бесценным подарком по сохранению трудодней):
Буду премного благодарен за помощь в этом направлении. Новую тему не создавал, тк подумал, что наверно проще доработать прграммлину от VVA, чем с нуля писать Последний раз редактировалось VolSilm, 10.03.2019 в 01:27. |
|||
|
||||
Регистрация: 23.01.2005
spb
Сообщений: 120
|
Очень хорошая программка! Очень нужная!
Только пожалуйста! подскажите, как её замакросить, чтобы а) вызывалась правой кнопкой мыши и б) каждый раз не набирать опцию "площади" ("п") ?? Раньше (давно) я делал примитивнейшие макросики на основе стандартных команд типа (defun c:s1 () (command "solidedit" "f" "m")) -- просто чтоб каждый раз опции не набирать вручную и повторить можно было правой клав. Ровно по той же матрице я набил в загрузочном файле этих лисп-макросов (defun c:PTLBM () (command "PTLB1" "п" )) Но при вызове Акад пишет, что даже не знает, что такое PTLB1, хотя при отдельном вызове в строке исправно её исполняет. Подскажите, люди добрые, что нитак?? Данный в коде и собственный макрос на кнопку тоже не прошёл... ___________ т.е. Может включить в сценарий запоминание последней исп.опции, чтобы снова её не набирать. Пусть будет даже лишнее нажатие Entera, но не принуждение к явному выбору опции. А вот если бы ещё в атрибуты вставлять... Или хотя бы подскажите, пож., как поменять опцию по умолчанию Длина на Площадь -- боюсь по-ламерски, не там кусок в If-е вырежу... )))) Забыл сказать: у меня ААрх-2014 на 10й Винде Очень буду благодарен! Последний раз редактировалось shishoq, 19.07.2019 в 21:49. |
|||
|
||||
shishoq, в программе из #267 оставил только площадь
Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 15.04.2019
Сообщений: 58
|
Здравствуйте!
Огромное спасибо за полезные программы! Поставил коды от VVA (из #2 и #154, AREATT и ATTSS соответственно) И вот незадача: 1. Программа упорно отказывается принимать пробел для очистки префиксов и суффиксов. Стоит единожды прописать любой префикс/суффикс - избавиться от него не выходит (только заменить на любой другой). Пока решил проблему тем, что в коде лиспа прописал вместо пробела другой символ, который очищает значение. Но странно, почему так... Поскольку ни у кого здесь такой, вроде бы, не встречалось, не могу понять - это у меня одного так? 2. Таблица в бумажной раскладке, а объекты, чьи площади собираю - в модельной (через вьюпорт, соответственно). По клику на объект во вьюпорте программы прекращают свою работу. Приходится колдовать с переносом таблицы в модель, далее - через отправки её в блок и последующим его разрывом - обратно. Жить можно, но неудобно) Можно ли как-то заставить программу понимать выделение объектов через вьюпорт? 3. Видимо, по той же причине, что и проблема №2, если таблицу перенести в пространство модели и пытаться через вьюпорт же (при активной модели) выбрать ячейку - ничего не выйдет. Приходится переходить в модель полностью (во вкладку модели). Последний раз редактировалось modest-bp, 19.07.2020 в 23:59. |
|||
|
||||
Регистрация: 23.01.2005
spb
Сообщений: 120
|
Люди добрие поможите кто можит - Беда случилась! PTLB2 стала ставить показатель площади где-то на X = 4.42350006E+05,Y = 5.78700003E+05,Z = -6047.50874320 от указанной точки.
Это случилось после неосторожной установки приложения "Строитель", которое вроде уже выгрузил, но меню от которого всё ещё висит... |
|||
|
||||
Регистрация: 05.06.2014
Сообщений: 77
|
Цитата:
|
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP на измерение площади | Малюк | LISP | 2 | 27.09.2007 14:51 |
vb6 вставка таблицы AutoCad'a в таблицу Word'a | HiddenM | Программирование | 1 | 11.01.2007 16:11 |