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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как сделать зачеркнутый текст

Как сделать зачеркнутый текст

Ответ
Поиск в этой теме
Непрочитано 20.05.2005, 13:16 #1
Как сделать зачеркнутый текст
Mzw
 
проектировщик ОПС, АУПТ
 
г.Омск
Регистрация: 05.04.2005
Сообщений: 12

Подскажите, есть ли спец. комбинация символов (вроде %%c, %%u) чтоб текст был зачеркнут.
Не линиями же его зачеркивать.
Просмотров: 19770
 
Непрочитано 20.05.2005, 13:47
#2
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Специальных кодов нет, но можно создать свой шрифт, взяв за основу шрифт которым пользуетесь, с зачеркнутыми буквами с теми же кодами что и у Вашего основного шрифта и потом только менять текстовые стили! Главное правильно прописать размер перечеркивающей черты, чтобы при печати все перечеркивающие отдельные буквы черточки сливались в одну линию! :wink:
MIP вне форума  
 
Непрочитано 20.05.2005, 14:02
#3
Геннадий aka PG

Машиностроение, Проектирование
 
Регистрация: 15.09.2003
Москва
Сообщений: 1,113
<phrase 1=


В сборнике cadhlp есть программка txtIns, зачеркивающая указанный текст (программно зачеркивает линией)
http://cadhlp.kulichki.com/cadhlp.htm
__________________
С уважением,
Геннадий aka PG
Геннадий aka PG вне форума  
 
Непрочитано 01.06.2016, 22:27
1 | #4
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Справка по управляющим кодам и специальным символам 2014
Доступны следующие управляющие коды.
%% nnn
Вставка символа с номером nnn.
%%o
Включение/отключение зачеркивания.

%%u
Включение/отключение подчеркивания.

%%d
Вставка обозначения градуса (°)

%%p
Вставка обозначения допуска (±).

%%c
Вставка обозначения диаметра круга (ý).

%%%
Вставка одного символа процента (%). Допустимо только для команды ТЕКСТ.

Текст может быть одновременно зачеркнутым и подчеркнутым. По достижении конца строки оба режима автоматически отключаются.

Управляющую последовательность кодов %%nnn можно использовать для вставки специальных символов в шрифтах PostScript.
Образец чертежа (truetype.dwg) с таблицей символов для каждого из шрифтов находится в папке sample.
Обозначение евро

Обозначение евро можно использовать со шрифтами SHX и их эквивалентами TrueType, поставляемыми вместе с AutoCAD 2000 и более поздними версиями. Если на клавиатуре нет обозначения евро, можно ввести его набором комбинации цифр 0128 на цифровой клавиатуре при нажатой клавише Alt.
__________________
tc71
perpetule вне форума  
 
Непрочитано 01.06.2016, 23:18
#5
Кулик Алексей aka kpblc
Moderator

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


Мне почему-то кажется, что за 11 лет вопрос потерял свою актуальность.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.06.2016, 09:42
#6
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от perpetule Посмотреть сообщение
Справка по управляющим кодам и специальным символам 2014
Доступны следующие управляющие коды.
%%o
Включение/отключение зачеркивания...
%%o - это в AutoCAD 2014 по-прежнему НАДчеркивание
Но в многострочном тексте, начиная с 2013, действительно появилось зачеркивание.
Изображения
 
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Непрочитано 02.06.2016, 09:59
#7
Geor9e

инженер-обструктор
 
Регистрация: 20.04.2016
Сообщений: 162


Offtop: pan, получается, ответ на исходный вопрос "как в autocad сделать зачёркнутый текст" звучит примерно как "подождать семь лет, он сам появится"
Geor9e вне форума  
 
Непрочитано 02.06.2016, 12:07
#8
kp+

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


Цитата:
Сообщение от pan Посмотреть сообщение
Но в многострочном тексте, начиная с 2013, действительно появилось зачеркивание.
А при открытии таких файлов в прежних версиях, например в 2010 - такие объекты показываются как безымянные блоки
kp+ вне форума  
 
Непрочитано 06.06.2016, 11:47
#9
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от Geor9e Посмотреть сообщение
подождать семь лет, он сам появится
Пока зачеркнутый появился только для многострочного.
Для однострочного надо еще ждать)))
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Непрочитано 13.01.2022, 15:02
#10
solar


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


а можно ли махом зачеркнуть несколько однострочных текстов?
по одному можно через панель свойств вставкой %%K, при попытке зачеркнуть сразу несколько получается неожиданный результат
solar вне форума  
 
Непрочитано 13.01.2022, 15:09
1 | #11
kp+

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


Добавить префикс %%К с помощью вот этого лиспа: https://www.cadtutor.net/forum/topic...mbers-or-text/
kp+ вне форума  
 
Непрочитано 13.01.2022, 15:53
1 | #12
AMDen

Инженер-проектировщик
 
Регистрация: 07.07.2016
Санкт-Петербург
Сообщений: 723


http://www.lee-mac.com/strikethrough.html
AMDen вне форума  
 
Непрочитано 07.02.2022, 08:25
#13
solar


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


может кто переделать этот лисп https://dwg.ru/dnl/15174 до простой вставки %%K ?
solar вне форума  
 
Непрочитано 07.02.2022, 11:16
1 | 1 #14
koMon


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


прямо переделать?
Код:
[Выделить все]
 
(defun c:text_strike_thru (/ selecting_active entities_ss ss_index text_striked_thru_count command_terminated
							 entity text_object
						  )
	(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
	(setq selecting_active t
		  text_striked_thru_count 0
	)
	(if (null action)
			(setq action "Зачёркиваем тексты")
	)
	(while selecting_active
		(cond
			(
				(null (setq entities_ss (vl-catch-all-apply 'ssget (list '((0 . "text"))))))
							(alert "        Объекты [Тексты] не выбраны")
			)
			(
				(vl-catch-all-error-p entities_ss)
					(setq entities_ss nil
						  selecting_active nil
						  command_terminated t
					)
			)
			(
				t
					(setq selecting_active nil)
			)
		)
	)
	(cond
		(
			(and
				(null command_terminated)
				entities_ss
			)
				(setq selecting_active t)
				(while selecting_active
					(initget "Зачёркиваем Убираем")
					(if (vl-catch-all-error-p (vl-catch-all-apply 'getkword (list (strcat "Действие (ESC изменить):[" action "] <" action ">"))))
						(setq action (cadr (member action '("Зачёркиваем тексты" "Убираем зачёркиваение" "Зачёркиваем тексты"))))
						(setq selecting_active nil)
					)
				)
				(setq ss_index -1)
				(repeat (sslength entities_ss)
					(setq text_object (vlax-ename->vla-object (ssname entities_ss (setq ss_index (1+ ss_index)))))
					(cond
						(
							(= "Зачёркиваем тексты" action)
								(if (/= "%%K" (strcase (substr (vla-get-textstring text_object) 1 3)))
										(progn
											(vla-put-textstring text_object (strcat "%%k" (vla-get-textstring text_object)))
											(setq text_striked_thru_count (1+ text_striked_thru_count))
										)
								)
						)
						(
							t
								(if (= "%%K" (strcase (substr (vla-get-textstring text_object) 1 3)))
									(progn
										(vla-put-textstring text_object (substr (vla-get-textstring text_object) 4))
										(setq text_striked_thru_count (1+ text_striked_thru_count))
									)
								)
						)
					)
				)
				(if (= "Зачёркиваем тексты" action)
					(princ "\nЗачёркнуто Текстов: ")
					(princ "\nУбрано зачёркиваний: ")
				)
				(princ (itoa text_striked_thru_count))
		)
		(
			t
				(princ "\nКоманда отменена")
		)
	)
	(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
	(princ)
)

Последний раз редактировалось koMon, 08.02.2022 в 10:06.
koMon вне форума  
 
Непрочитано 07.02.2022, 11:28
#15
solar


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


ай спасиба, айбалит
вылечил от головной боли

А обратную функцию можно внедрить?

UP. Спасибо, всё работает.
С подсказки автора [koMon], перед тем как произвести обратную операцию [убрать зачёркивание] необходимо ввести ту же команду [text_strike_thru], затем нажать\ввести "пробел", появится окно с информированием [Убираем зачёркивание] и далее пользователем производится выбор зачёркнутого однострочного текста. При вводе инверсной команды зачёркивание незачёркнутого текста не производится.

UPP. Тактика поменялась. В последнем варианте необходимо набрать команду, выбрать объекты (однострочные тексты), сделать выбор действия [подчеркнуть или убрать подчёркивание] клавишей ESC и подтвердить действие ENTERом

Последний раз редактировалось solar, 07.02.2022 в 17:20.
solar вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как сделать зачеркнутый текст

Размещение рекламы