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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавить 00 в конце подписи отметки массово.

Добавить 00 в конце подписи отметки массово.

Ответ
Поиск в этой теме
Непрочитано 20.01.2021, 16:27 #1
Добавить 00 в конце подписи отметки массово.
alfonc67
 
Смоленск
Регистрация: 20.01.2021
Сообщений: 4

Есть туча отметок с подписями, но что-то пошло не так и в подписях они округлились т.е. где было 199,00 стало 199. Где было 199.10 стало 199.1. Как добавить в подпись этот 0. Подписи уже повернуты, переделывать в лом их больше 11к
Просмотров: 2967
 
Непрочитано 20.01.2021, 18:25
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,169


Решения могут быть разные.
Если в объектах (кстати, что за объекты?), изображающих отметки, просто текстовые строки - одно решение. Если вычисляемые поля - другое.
Короче, без фрагмента чертежа говорить не о чем.

А еще зайдите на geodesist.ru, там такие вопросы обсуждаются чаще, и очень может быть, что есть готовое решение.
kp+ вне форума  
 
Непрочитано 20.01.2021, 20:32
#3
trir


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


вормат метки
trir вне форума  
 
Непрочитано 20.01.2021, 20:34
#4
Бим

пенсионер
 
Регистрация: 09.04.2018
Украина
Сообщений: 2,307


Обычно при задании единиц измерения задают и точность их отображения и возможность отбрасывания нолей. Ищите где оно в Вашей версии.
Бим вне форума  
 
Непрочитано 21.01.2021, 08:05
#5
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Мой простенький лисп для удаления или добавления префиксов и суффиксов к текстам, мтекстам или первому атрибуту блока. Может, пригодится (если это не вычисляемые поля, конечно).
Вложения
Тип файла: lsp pref_suff.LSP (2.8 Кб, 15 просмотров)
Oleg T вне форума  
 
Автор темы   Непрочитано 21.01.2021, 10:19
#6
alfonc67


 
Регистрация: 20.01.2021
Смоленск
Сообщений: 4


Подпись отметки

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
Решения могут быть разные.
Если в объектах (кстати, что за объекты?), изображающих отметки, просто текстовые строки - одно решение. Если вычисляемые поля - другое.
Короче, без фрагмента чертежа говорить не о чем.

А еще зайдите на geodesist.ru, там такие вопросы обсуждаются чаще, и очень может быть, что есть готовое решение.
Текст подписи отметки (многострочный)

----- добавлено через ~46 мин. -----
Цитата:
Сообщение от Oleg T Посмотреть сообщение
Мой простенький лисп для удаления или добавления префиксов и суффиксов к текстам, мтекстам или первому атрибуту блока. Может, пригодится (если это не вычисляемые поля, конечно).
Да он работает, но сначало надо из 11 тысяч подписей выбрать в ручную там где 1 цифра после запятой и потом добавить 0. А потом опять в ручную выбрать все объекты где целые числа и добавить .00
alfonc67 вне форума  
 
Непрочитано 21.01.2021, 11:21
#7
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от alfonc67 Посмотреть сообщение
Да он работает, но сначало надо из 11 тысяч подписей выбрать в ручную там где 1 цифра после запятой и потом добавить 0. А потом опять в ручную выбрать все объекты где целые числа и добавить .00
Так это без проблем. Зачем вручную?
Изолировать нужные тексты. Выбрать через CTRL-F все с запятой, лиспом добавить один 0, скрыть. Добавить к оставшимся ,00.
Не знаю, как сразу со всеми сработает (долго или нет). Панель свойств лучше скрыть.
Если в файле путаница со слоями, то посложнее будет.
Oleg T вне форума  
 
Непрочитано 21.01.2021, 11:41
#8
trir


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


Цитата:
еще зайдите на geodesist.ru, там такие вопросы обсуждаются чаще, и очень может быть, что есть готовое решение.
Civil 3D называется
trir вне форума  
 
Непрочитано 21.01.2021, 13:10
| 1 #9
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,377


Цитата:
Сообщение от alfonc67 Посмотреть сообщение
Подписи уже повернуты, переделывать в лом их больше 11к
Мне нравится программа BearDyugin (Disney).
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 21.01.2021, 14:54
#10
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от alfonc67 Посмотреть сообщение
Да он работает, но сначало надо из 11 тысяч подписей выбрать в ручную там где 1 цифра после запятой и потом добавить 0. А потом опять в ручную выбрать все объекты где целые числа и добавить .00
Добавил еще одну функцию (разделителем в числах обязательно должна быть точка)

Код:
[Выделить все]
 
;--------------------------------------------------------------------------
;Округление чисел с указанием необходимого количества знаков после запятой
;--------------------------------------------------------------------------
(defun c:okr_txt ()
	(setq kol_zn (getstring t "\Укажите количество знаков после точки для округления:		"))
	(setq nab (ssget))
	(setq kol (sslength nab))
	(setq nab1 (ssadd))
	(setq n -1)
	(repeat kol
		(setq n (+ n 1))
		(setq pr (ssname nab n))
		(setq pr_ (cdr (assoc '0 (entget pr))))
		(if
			(= pr_ "INSERT")
			(progn
				(setq pr1_ (cdr (assoc '0 (entget (entnext pr)))))
				(if
					(= pr1_ "ATTRIB")
					(ssadd pr nab1)
				)
			)
		)
		(if
			(= pr_ "TEXT")
			(ssadd pr nab1)
		)
		(if
			(= pr_ "MTEXT")
			(ssadd pr nab1)
		)
	)
	(setq kol (sslength nab1))
	(setq n -1)
	(repeat kol
		(setq n (+ n 1))
		(setq pr (ssname nab1 n))
		(setq pr_ (entget pr))
		(setq pr_naim (cdr (assoc '0 pr_)))
		(if (= pr_naim "INSERT")
			(setq pr_ (entget (entnext pr)))
			(setq pr_ (entget pr))
		)
		(setq pr_old (assoc '1 pr_))
		(setq pr_new (cons 1 (rtos (atof (cdr pr_old)) 2 (atoi kol_zn))))
		(setq pr_ (subst pr_new pr_old pr_))
		(entmod pr_)
	)
)

спасибо sertor за подсказку ))
Oleg T вне форума  
 
Автор темы   Непрочитано 22.01.2021, 09:01
#11
alfonc67


 
Регистрация: 20.01.2021
Смоленск
Сообщений: 4


Цитата:
Сообщение от Oleg T Посмотреть сообщение
Добавил еще одну функцию (разделителем в числах обязательно должна быть точка)

Код:
[Выделить все]
 
;--------------------------------------------------------------------------
;Округление чисел с указанием необходимого количества знаков после запятой
;--------------------------------------------------------------------------
(defun c:okr_txt ()
	(setq kol_zn (getstring t "\Укажите количество знаков после точки для округления:		"))
	(setq nab (ssget))
	(setq kol (sslength nab))
	(setq nab1 (ssadd))
	(setq n -1)
	(repeat kol
		(setq n (+ n 1))
		(setq pr (ssname nab n))
		(setq pr_ (cdr (assoc '0 (entget pr))))
		(if
			(= pr_ "INSERT")
			(progn
				(setq pr1_ (cdr (assoc '0 (entget (entnext pr)))))
				(if
					(= pr1_ "ATTRIB")
					(ssadd pr nab1)
				)
			)
		)
		(if
			(= pr_ "TEXT")
			(ssadd pr nab1)
		)
		(if
			(= pr_ "MTEXT")
			(ssadd pr nab1)
		)
	)
	(setq kol (sslength nab1))
	(setq n -1)
	(repeat kol
		(setq n (+ n 1))
		(setq pr (ssname nab1 n))
		(setq pr_ (entget pr))
		(setq pr_naim (cdr (assoc '0 pr_)))
		(if (= pr_naim "INSERT")
			(setq pr_ (entget (entnext pr)))
			(setq pr_ (entget pr))
		)
		(setq pr_old (assoc '1 pr_))
		(setq pr_new (cons 1 (rtos (atof (cdr pr_old)) 2 (atoi kol_zn))))
		(setq pr_ (subst pr_new pr_old pr_))
		(entmod pr_)
	)
)

спасибо sertor за подсказку ))
Пишет синтаксическая ошибка при загрузке лиспа

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Oleg T Посмотреть сообщение
Так это без проблем. Зачем вручную?
Изолировать нужные тексты. Выбрать через CTRL-F все с запятой, лиспом добавить один 0, скрыть. Добавить к оставшимся ,00.
Не знаю, как сразу со всеми сработает (долго или нет). Панель свойств лучше скрыть.
Если в файле путаница со слоями, то посложнее будет.
После запятой могут быть и 185.11 а надо только чтоб 1 символ был после запятой выбран. 185.1. Иначе он присвоит и к 185.110
alfonc67 вне форума  
 
Непрочитано 22.01.2021, 09:17
#12
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от alfonc67 Посмотреть сообщение
Пишет синтаксическая ошибка при загрузке лиспа
Скорее всего файл лисп был сохранен копированием через буфер (?).
Проверил в акаде 2016 - все работает
А так выложил здесь для скачивания
https://dwg.ru/dnl/15174

Но округлением надо пользоваться осторожно, лишние тексты не выбирать, иначе буковки обнуляет (разными проверками и процедурами не заморачивался, с лиспом не на такой короткой ноге).
Oleg T вне форума  
 
Автор темы   Непрочитано 22.01.2021, 09:31
#13
alfonc67


 
Регистрация: 20.01.2021
Смоленск
Сообщений: 4


----- добавлено через ~2 мин. -----
[quote=Oleg T;1919116]Скорее всего файл лисп был сохранен копированием через буфер (?).
Проверил в акаде 2016 - все работает
А так выложил здесь для скачивания
https://dwg.ru/dnl/15174

Загружается, ставлю количество знаков после точки 2, выбираю объекты нажимаю ввод и ничего не происходит. Может это из-за 2019 автокада? Выбирал только текст подписи точки, там только цифры
alfonc67 вне форума  
 
Непрочитано 22.01.2021, 09:45
#14
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от alfonc67 Посмотреть сообщение
Может это из-за 2019 автокада?
Тут сказать ничего не могу, у меня в Брикскаде все работает, возможность проверки есть только в акаде 2016, там тоже все нормально.
Все три функции работают с текстами, мтекстами и первым атрибутом блока (только что проверил еще раз).
И еще в #9# приведена ссылка на программу.

Последний раз редактировалось Oleg T, 22.01.2021 в 09:51.
Oleg T вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Добавить 00 в конце подписи отметки массово.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что обозначают отметки лотка трубы написанные через дефис? tolikz Инженерные сети 10 29.05.2014 09:46
Подскажите как посчитать высотные отметки Alan2013 Прочее. Архитектура и строительство 2 03.09.2013 14:15
От какой отметки считать собственный вес грунта? kosta1989-2012 Основания и фундаменты 3 30.05.2013 14:25
Блок высотной отметки работает некорректно. galle Динамические блоки 9 22.05.2013 09:29
Lisp для поднятия чертежа из 0 на отметки Z Homo(v)sapiens LISP 2 13.02.2013 10:41