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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как добавить формулу в поле (множество полей)?

Как добавить формулу в поле (множество полей)?

Ответ
Поиск в этой теме
Непрочитано 27.12.2022, 15:13 #1
Как добавить формулу в поле (множество полей)?
shishoq
 
spb
Регистрация: 23.01.2005
Сообщений: 120

Есть множество Mtext-ов с полями (показатели площадей, связанные с объектами).
Нужно их всех (каждое) перемножить на некий коэффициент, прямо на местах.
Как программно заменять/редактировать содержимое полей, сохраняя в каждом оригинальный показатель?
С обычным текстом я это ~ представляю (cadrы - substы...), а вот про поля - поискал - ничего не нашёл

Т.е. 1) как залезть в это поле (не повредив)?, 2) как добавить туда свою формулу? - я видел в нек. полях формулы, записанные прямо по-человечески ))), но как это делать не представляю.

Всех с наступающим котом!
Просмотров: 1048
 
Непрочитано 27.12.2022, 16:35
| 1 #2
stin9


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


Пример файла в студию. (не весь, а принципиальный кусок)
stin9 вне форума  
 
Непрочитано 27.12.2022, 17:06
1 | #3
Ingpro


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


Цитата:
Сообщение от shishoq Посмотреть сообщение
Нужно их всех (каждое) перемножить на некий коэффициент, прямо на местах.
Если просто умножить все тексты с полями на определенный коэффициент, то есть лисп mathtext.lsp.
Этот лисп заменяет выбранные тексты на новые с учетом умножения. Поля правда слетают.
Есть лисп Lee Maka FieldArithmeticV1-2.lsp
Эта программа позволяет пользователю выполнять арифметические операции (сложение, вычитание, умножение, деление)
над числовым текстом или полями, при этом результат вычисления представляется с использованием выражения поля.
После ввода команды fieldmath в командной строке программа предложит пользователю выбрать
текстовый объект с числовым содержимым. В этом приглашении пользователь может выбрать однострочный
текстовый объект (DText), многострочный текст (MText), атрибут блока, многозначный (MLeader) или
измерение, содержащее числовое содержимое, или выбрать параметр Constant, чтобы ввести произвольное
фиксированное число для использования в вычислении. Затем программа предложит пользователю выбрать
оператор (сложение, вычитание, умножение, деление).
Неудобство для данного случая то, что нельзя выбрать сразу несколько объектов и умножить на один коэффициент.
Если зайти в редактор текста с полем, пкм на поле, в выпавшем меню выбрать редактировать поле, то можно увидеть формулу поля ( в данном случае площадь) внизу окна "Поле". См. картинки.
Миниатюры
Нажмите на изображение для увеличения
Название: 11.png
Просмотров: 47
Размер:	22.0 Кб
ID:	252278  Нажмите на изображение для увеличения
Название: 12.png
Просмотров: 43
Размер:	26.2 Кб
ID:	252283  
Вложения
Тип файла: lsp mathtext.lsp (4.5 Кб, 10 просмотров)
Тип файла: lsp FieldArithmeticV1-2.lsp (30.1 Кб, 12 просмотров)

Последний раз редактировалось Ingpro, 27.12.2022 в 17:14.
Ingpro вне форума  
 
Непрочитано 27.12.2022, 17:11
#4
Ingpro


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


Цитата:
Сообщение от shishoq Посмотреть сообщение
1) как залезть в это поле (не повредив)?, 2) как добавить туда свою формулу?
Какую формулу добавить в поле, например?
К примеру нужно сложить два текста с полем. Вызываем "Поле", выбираем "Формула", в окне для формулы пкм - вставить поле, выбираем объект, указываем текст с полем на чертеже - содержимое, знак "+", пкм - вставить поле, выбираем объект, указываем второй текст с полем на чертеже - содержимое; вычислить. См. картинки.
В результате будет поле с суммой, которое изменится при изменении слагаемых.
Миниатюры
Нажмите на изображение для увеличения
Название: 13.png
Просмотров: 34
Размер:	34.0 Кб
ID:	252286  Нажмите на изображение для увеличения
Название: 14.png
Просмотров: 37
Размер:	39.9 Кб
ID:	252287  Нажмите на изображение для увеличения
Название: 15.png
Просмотров: 39
Размер:	33.3 Кб
ID:	252288  Нажмите на изображение для увеличения
Название: 16.png
Просмотров: 37
Размер:	4.8 Кб
ID:	252289  
Ingpro вне форума  
 
Автор темы   Непрочитано 28.12.2022, 04:41
#5
shishoq


 
Регистрация: 23.01.2005
spb
Сообщений: 120


Цитата:
Сообщение от stin9 Посмотреть сообщение
Пример файла в студию. (не весь, а принципиальный кусок)
Stin, вот вам принципьяльный кусок! (V ниже, если это поможет)
Там он какуюто ерунду при открытии пишет - не обращайте внимания, открывайте ))
Поля проставлены, каж., при помощи Ptlb2 от VVA (https://forum.dwg.ru/showthread.php?t=14528&page=14), за что ему спасибо ))

_________________


----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Ingpro Посмотреть сообщение
mathtext.lsp.
-- спасибо, но мне нужно именно сохранение связи с объектом, т.е. поля. К тому же он не обрабатывает запятые и префиксы (например, %%u).

Цитата:
Сообщение от Ingpro Посмотреть сообщение
FieldArithmeticV1-2.lsp
"Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича..." )) -- "нельзя выбрать сразу несколько объектов и умножить на один коэффициент." -- таки да ((
Ну, и она не изменяет исходный текст с полем, а создаёт новый, к тому же не сохраняя формат (например, уже имеющееся в поле деление на мильон = перевод из кв.мм в кв.м)

"то можно увидеть формулу поля" -- там мощная возможность лежит -- формула человечьим языком написана!, -- вот дотянуться бы туда снаружи программно, например введя сразу формулу да с префиксом/суффиксом да на кучу выбранных текстов

----- добавлено через ~8 мин. -----
Цитата:
Сообщение от Ingpro Посмотреть сообщение
Какую формулу добавить в поле, например?
К примеру нужно сложить два текста с полем. Вызываем "Поле", выбираем "Формула", в окне для формулы пкм - вставить поле, выбираем объект, указываем текст с полем на чертеже - содержимое, знак "+", пкм - вставить поле, выбираем объект, указываем второй текст с полем на чертеже - содержимое; вычислить..
-- а как сделать то же самое, не выбирая вручную 1й объект ссылки, если поле уже существует и завязано на него? Окно Формулы при этом пусто (((
то есть (снова):
Есть уже поле со связанным показателем по объекту
Надо к нему ПРИписать формулу (хотя бы 1 множитель), ничего больше не меняя (как минимум)
Сделать это сразу со всеми выбранными текстами-полями
???
Вложения
Тип файла: dwg
DWG 2013
ПолеПоле.dwg (287.4 Кб, 9 просмотров)

Последний раз редактировалось shishoq, 28.12.2022 в 05:48.
shishoq вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как добавить формулу в поле (множество полей)?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрое поле ссылающееся на атрибут блока pro9 Программирование 18 18.09.2017 17:11
Как определить к какому объекту принадлежит поле? proteirei AutoCAD 3 05.08.2013 17:04
Наверное, DIESEL. Как написать формулу, чтобы поле заполнялось из X-записи? Kirill_Ja Программирование 3 29.05.2013 11:28
Можно ли с помощью "Поле" посчитать формулу с arcsin? irina_211189 AutoCAD 6 26.04.2013 12:29
Проблемы с форматом значений полей (field)! aleksmk AutoCAD 4 03.03.2011 12:03