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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Изменение точности группы полей (изменение свойства нескольких полей сразу)

Изменение точности группы полей (изменение свойства нескольких полей сразу)

Ответ
Поиск в этой теме
Непрочитано 17.02.2023, 20:39 #1
Изменение точности группы полей (изменение свойства нескольких полей сразу)
shishoq
 
spb
Регистрация: 23.01.2005
Сообщений: 124

Уважаемые знатоки! Подскажите, пожалуйста, как отредактировать какую-нибудь настройку/свойство поля сразу во многих выбранных однотипных полях? Не разрывая связи полей с объектами. Конкретно: есть план со штриховками, от которых проставлена куча Мтекстов с полями, показывающими площадь штриховок (с определённым коэф., префиксом и т.д.). Не устраивает только точность показаний -- 2 цифры после запятой. Нужна одна цифра. Что бы такое прописать в лиспе, чтобы можно было изменить точность всех выбранных мтекстов-полей, не разрывая их живой связи с исходными штриховками? (а не щёлкать дикую кучу по одному вручную и не переставлять заново). Я покопался в свойствах, выданных entgetами-ssgetами, но что-то не разобрался

зы. и заодно: там же - как запятые поменять таким же макаром на точки или наоборот ? ))

Миниатюры
Нажмите на изображение для увеличения
Название: field-Dim.jpg
Просмотров: 21
Размер:	110.4 Кб
ID:	253473  

Просмотров: 1208
 
Непрочитано 17.02.2023, 22:37
#2
Кулик Алексей aka kpblc
Moderator

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


ИМХО надо работать через vla-fieldcode: сначала получить, потом поменять %f2 на %f1 (если не ошибаюсь), и засунуть значеие обратно
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.02.2023, 23:23
#3
koMon


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


точность 2 -> 1, точка -> запятая
Код:
[Выделить все]
 (repeat (setq index (sslength (setq field_sset (ssget '((0 . "*text"))))))
	(setq field_code (vla-fieldcode (setq field_object (vlax-ename->vla-object (ssname field_sset (setq index (1- index)))))))
	(vla-put-textstring field_object (vl-string-subst "pr1%ds44" "pr2" field_code))
)
запятая -> точка
Код:
[Выделить все]
 (repeat (setq index (sslength (setq field_sset (ssget '((0 . "*text"))))))
	(setq field_code (vla-fieldcode (setq field_object (vlax-ename->vla-object (ssname field_sset (setq index (1- index)))))))
	(vla-put-textstring field_object (vl-string-subst "" "%ds44" field_code))
)
__________________
K Lisp

Последний раз редактировалось koMon, 17.02.2023 в 23:32.
koMon вне форума  
 
Автор темы   Непрочитано 22.02.2023, 23:31
#4
shishoq


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


Цитата:
Сообщение от koMon Посмотреть сообщение
точность 2 -> 1, точка -> запятая
Спасибо! Работает!!

Последний раз редактировалось shishoq, 26.02.2023 в 16:58.
shishoq вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Изменение точности группы полей (изменение свойства нескольких полей сразу)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цыета слоя в нескольких файлах elena_din AutoCAD 16 01.12.2017 13:50
Изменение полей (fields) RomanM AutoCAD 20 24.08.2016 22:39
Не меняются свойства группы текстовых объектов Difference AutoCAD 9 03.10.2012 15:11
Изменение свойств группы объектов serg72 Программирование 12 10.04.2011 13:35
Изменение нескольких линий одновременно Alma3 AutoCAD 11 27.10.2010 12:42