| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перенос текста в атрибут внутри полилинии

Перенос текста в атрибут внутри полилинии

Ответ
Поиск в этой теме
Непрочитано 22.05.2020, 00:29 #1
Перенос текста в атрибут внутри полилинии
Kuznetsov R.
 
Регистрация: 29.04.2014
Сообщений: 9

Здравствуйте, форумчане!
Хотел бы попросить помочь с кодом, благодаря которому было бы возможно перенести внутри полилинии, находящейся в слое 1, из Мультитекста или Синглтекста, находящегося в слое 2, текст в атрибут блока.
Последовательность действий могла бы быть следующей:
1. указать (выделить в модели) полилинию для считывания имени слоя;
2. указать (выделить в модели) Мультитекст или Синглтекст для считывания имени слоя;
3. указать (набрать в командной строке) имя атрибута, в который необходимо перенести текст.
Поясняющий чертёж прилагаю.
Буду очень признателен вам за помощь!

Вложения
Тип файла: dwg
DWG 2010
Перенос текста.dwg (72.1 Кб, 27 просмотров)

__________________
Каждая снежинка падает на своё место.

Последний раз редактировалось Kuznetsov R., 22.05.2020 в 14:08.
Просмотров: 4354
 
Непрочитано 22.05.2020, 07:29
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Kuznetsov R. Посмотреть сообщение
Хотел бы попросить помочь с кодом...
А где собственно код, с которым нужно помочь или Вы так просите написать его за Вас?
ЗЫ.
Всё это выглядит как курсовая работа...
Boxa вне форума  
 
Непрочитано 22.05.2020, 11:43
#3
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


в личное пользование, или …?
koMon вне форума  
 
Автор темы   Непрочитано 22.05.2020, 11:56
#4
Kuznetsov R.


 
Регистрация: 29.04.2014
Сообщений: 9


Цитата:
Сообщение от koMon Посмотреть сообщение
в личное пользование, или …?
В личное пользование.

----- добавлено через ~2 мин. -----
Языком лиспа, к сожалению, не владею, а программа существенно бы облегчила рутину в рабочем процессе.
__________________
Каждая снежинка падает на своё место.
Kuznetsov R. вне форума  
 
Непрочитано 22.05.2020, 12:15
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


https://forum.dwg.ru/forumdisplay.php?f=33 ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.05.2020, 13:05
#6
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Berries.fas
Вложения
Тип файла: rar Berries.fas.rar (3.0 Кб, 21 просмотров)
koMon вне форума  
 
Автор темы   Непрочитано 22.05.2020, 14:08
#7
Kuznetsov R.


 
Регистрация: 29.04.2014
Сообщений: 9


koMon, спасибо за отклик!
Практически то, что нужно!
Только несколько моментов:
1. См. пост 1.
2. Полилинию необходимо указать только однажды. И не для того, чтобы только внутри этой полилинии произошёл перенос текста в атрибут, а для того, чтобы считать имя слоя полилиний, внутри которых должен произойти перенос. Т.е. после одного запуска команды программа должна пробежаться по всем полилиниям на чертеже, чтобы определить внутри каких следует производить перенос текста в атрибут.
3. Не учитывается слой (во время выполнения программы нет считывания его имени) текста. "Смородина" тоже переносится в атрибут, хотя не должна )
4. Не учитывается имя (во время выполнения программы нет его указания) атрибута. Т.е. нужна возможность переноса текста в любой атрибут с указанными именем (не только "ЯГОДА").
__________________
Каждая снежинка падает на своё место.
Kuznetsov R. вне форума  
 
Непрочитано 22.05.2020, 14:55
#8
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Offtop: «Тетенька, дайте попить, а то так есть хочется, аж переночевать негде»
нда... без RTree на autolisp, это будет жадный алгоритм... Очень интересно наблюдать.
Boxa вне форума  
 
Непрочитано 22.05.2020, 16:27
#9
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от Boxa Посмотреть сообщение
без RTree на autolisp, это будет жадный алгоритм
отзуммировать чертеж.. получить выборкой с фильтрацией полилинии на указанном слое, а потом выборка типа ssget "_WP" внутри каждой полилинии из полученного ранее набора. Как то так)
Сергей812 вне форума  
 
Непрочитано 22.05.2020, 16:45
#10
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Процитирую ответ Кулик Алексей aka kpblc, который он дал на подобный алгоритм:
Цитата:
И каждый раз выполнять зум, панорамирование и регенерацию экрана - чтобы точки контура гарантированно в него попали?
Это тут было: https://adn-cis.org/forum/index.php?...26462#msg26462
Boxa вне форума  
 
Непрочитано 22.05.2020, 16:54
#11
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


ну речь о скорости не идет, лишь бы бесплатно - тем более программа для личного пользования, даже не для работы) все равно руками это будет медленнее делать...
Сергей812 вне форума  
 
Непрочитано 22.05.2020, 16:58
#12
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
ну речь о скорости не идет
Потому и написал, что алгоритм в любом случае очень жадный получится... Или перебором координат, или скакать по экрану.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
программа для личного пользования, даже не для работы
Ой ли....
Цитата:
Сообщение от Kuznetsov R. Посмотреть сообщение
а программа существенно бы облегчила рутину в рабочем процессе
Boxa вне форума  
 
Автор темы   Непрочитано 22.05.2020, 17:44
#13
Kuznetsov R.


 
Регистрация: 29.04.2014
Сообщений: 9


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
все равно руками это будет медленнее делать...
Это действительно так, поскольку количество переносов может доходить до тысячи на одном чертеже.
__________________
Каждая снежинка падает на своё место.
Kuznetsov R. вне форума  
 
Непрочитано 22.05.2020, 18:21
#14
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


AutoCAD Map 3D => грузим в БД => SQL
задача на пол часа, даже если будут миллионы объектов
trir вне форума  
 
Непрочитано 22.05.2020, 18:28
#15
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от trir Посмотреть сообщение
AutoCAD Map 3D => грузим в БД => SQL
задача на пол часа, даже если будут миллионы объектов
и пофиг - что на рабочем месте нет ни Map 3D, ни SQL))
Сергей812 вне форума  
 
Непрочитано 22.05.2020, 18:34
#16
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
и пофиг - что на рабочем месте нет ни Map 3D, ни SQL))
а если найду?

Map 3D есть в AutoCAD One, а SQL есть всегда и везде
если нет Map 3D, перегоняем dwg=>dxf а дальше OGR

плохому танцору - ноги мешают
trir вне форума  
 
Непрочитано 22.05.2020, 18:42
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от trir Посмотреть сообщение
задача на пол часа, даже если будут миллионы объектов
Задача на пол часа и при написание приложения (ну максимум час), однако танцору мешает незнание языков, будь то лисп, SQL или любой другой.
К тому же гражданин соврамши, писал, что для личного пользования, а оказалось для работы.
Boxa вне форума  
 
Непрочитано 22.05.2020, 18:51
#18
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от trir Посмотреть сообщение
Map 3D есть в AutoCAD One
последние пару лет
Цитата:
Сообщение от trir Посмотреть сообщение
SQL есть всегда и везде
есть для нужд той же 1С, но кто даст туда доступ обычному пользователю?)
Offtop:
Цитата:
Сообщение от trir Посмотреть сообщение
плохому танцору - ноги мешают
есть условия задачи - лисп. Но мы же знаем про вертикальные решения...)


----- добавлено через ~5 мин. -----
p.s. имхо, автоматизация сейчас должна проходить максимально незаметно для руководства: потому что иначе легко можно получить строго противоположный эффект - вместо облегчения работы увеличение объемов работ) Поэтому ничего, что требует каких то согласований, установок, прав админа
Сергей812 вне форума  
 
Автор темы   Непрочитано 22.05.2020, 19:13
#19
Kuznetsov R.


 
Регистрация: 29.04.2014
Сообщений: 9


Сергей812, правильно ли я понимаю, что, на ваш взгляд, задача нетривиальная, похожих кодов, которые можно было бы "подрихтовать" под поставленную задачу, вы за свою практику встречали, а написание нового кода под озвученную задачу требует финансовых вливаний?
__________________
Каждая снежинка падает на своё место.
Kuznetsov R. вне форума  
 
Непрочитано 22.05.2020, 19:30
#20
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от Kuznetsov R. Посмотреть сообщение
правильно ли я понимаю, что, на ваш взгляд, задача нетривиальная, похожих кодов, которые можно было бы "подрихтовать" под поставленную задачу, вы за свою практику встречали, а написание нового кода под озвученную задачу требует финансовых вливаний?
готового кода 100% именно под ваш вариант скорее всего нет, но отдельные подзадачи представлены на многих языках программирования в инете. Хотите - ждите волонтера, хотите - разберитесь сами, если нет желания тратить время - либо в сторону раздела исполнителей, либо вертикальных решений, как советовали выше.
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перенос текста в атрибут внутри полилинии

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить в блок атрибут в виде близлежащего текста dorogi-dorogi Динамические блоки 2 13.11.2013 15:56
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
выноски к полилинии gizmo_zx Программирование 6 01.03.2010 12:17
Выделение и удаление обьектов внутри замкнутой полилинии. Как? DTwice AutoCAD 5 18.05.2009 14:31
Пересечения внутри замкнутой полилинии mark AutoCAD 4 21.11.2008 20:39