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

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

Изменение width factor текста

Ответ
Поиск в этой теме
Непрочитано 24.08.2007, 09:12 #1
Изменение width factor текста
ie.spb
 
Инженер
 
Регистрация: 21.08.2007
Сообщений: 598

Добрый день господа программисты. Стоит следующая задача: создать макрос для кнопки, для целей изменения ширины текста, т.е. выделяем текст, а потом правой кнопкой мыши увеличиваем ширину, а левой уменьшаем, с шагом шкалы 0.1. Возможно ли это???
Просмотров: 6915
 
Непрочитано 24.08.2007, 10:00 Re: Изменение width factor текста
#2
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,925
<phrase 1=


Цитата:
Сообщение от Djonikbishkek
Добрый день господа программисты. Стоит следующая задача: создать макрос для кнопки, для целей изменения ширины текста, т.е. выделяем текст, а потом правой кнопкой мыши увеличиваем ширину, а левой уменьшаем, с шагом шкалы 0.1. Возможно ли это???
Возможно и без макроса, надо только панель свойтв открыть. По количеству кликов и телодвижений КПД выше будет.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 24.08.2007, 11:09
#3
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


По моему мнения ирония здесь не уместна.
ie.spb вне форума  
 
Непрочитано 24.08.2007, 12:30
#4
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Можно повесить на кнопку такое:
Код:
[Выделить все]
^C^C(defun C:test (/ m-name m-ent) (setq m-name (car (entsel "Выберите текст: "))) (setq m-ent (entget m-name)) (entmod (subst (cons 41 (+ (cdr (assoc 41 m-ent)) 0.1)) (assoc 41 m-ent) m-ent)) (entupd m-name));test
Фигня конечно, но вдруг поможет...
Makswell вне форума  
 
Автор темы   Непрочитано 24.08.2007, 13:05
#5
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Интересный макрос, а можно ли правую кнопку подключить???
ie.spb вне форума  
 
Непрочитано 24.08.2007, 13:25
#6
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Если всё должно работать, как ты описал 1-м посте, то тут по-моему макросом не обойтись, нужна прога, и довольно непростая. ИМХО.
У меня на такую прогу мозгов конечно же не хватит.
Мой предыдущий макрос призван не решить задачу, а лишь только как то улучшить ситуацию
Makswell вне форума  
 
Автор темы   Непрочитано 24.08.2007, 13:33
#7
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Ситуация действительно улучшилась, большое спасибо! И все таки хотелось бы большего
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Непрочитано 24.08.2007, 14:09
#8
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Код:
[Выделить все]
(defun C:test (/ m-name m-ent gr zn)
  (setq m-name (car (entsel "Выберите текст: ")))
  (prompt "\nЛевая кнопка - уменьшение/Правая кнопка -увеличение")
  (setq gr (car (grread)))
  (cond	((= gr 3) (setq zn '-))
	((= gr 11) (setq zn '+))
	(t nil)
  ) ;_ end of cond
  (if zn
    (progn
      (setq m-ent (entget m-name))
      (entmod
	(subst (cons 41 ((eval zn) (cdr (assoc 41 m-ent)) 0.1))
	       (assoc 41 m-ent)
	       m-ent
	) ;_ end of subst
      ) ;_ end of entmod
      (entupd m-name)
    ) ;_ end of progn
  ) ;_ end of if
) ;_ end of defun
CB вне форума  
 
Автор темы   Непрочитано 24.08.2007, 14:19
#9
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


При нажатии левой клавиши все нормально, а вот при нажатии правой получается следующее
Левая кнопка - уменьшение/Правая кнопка -увеличениеnil
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Непрочитано 24.08.2007, 14:26
#10
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


аналогично...
Makswell вне форума  
 
Непрочитано 24.08.2007, 14:29
#11
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Разобрался!
Надо так:
Код:
[Выделить все]
(defun C:test (/ m-name m-ent gr zn) 
  (setq m-name (car (entsel "Выберите текст: "))) 
  (prompt "\nЛевая кнопка - уменьшение/Правая кнопка -увеличение") 
  (setq gr (car (grread))) 
  (cond   ((= gr 3) (setq zn '-)) 
   ((= gr 25) (setq zn '+)) 
   (t nil) 
  ) ;_ end of cond 
  (if zn 
    (progn 
      (setq m-ent (entget m-name)) 
      (entmod 
   (subst (cons 41 ((eval zn) (cdr (assoc 41 m-ent)) 0.1)) 
          (assoc 41 m-ent) 
          m-ent 
   ) ;_ end of subst 
      ) ;_ end of entmod 
      (entupd m-name) 
    ) ;_ end of progn 
  ) ;_ end of if 
) ;_ end of defun
Makswell вне форума  
 
Автор темы   Непрочитано 24.08.2007, 14:36
#12
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Еще вопрос, можно зациклить так чтобы увеличивала или уменьшала пока не отменишь команду
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Непрочитано 24.08.2007, 15:21
#13
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Код:
[Выделить все]
(defun C:test (/ m-name m-ent gr zn)
  (setq m-name (car (entsel "Выберите текст: ")))
  (prompt "\nЛевая кнопка - уменьшение/Правая кнопка -увеличение/любая клавиша-выход")
  (while (/= (setq gr (car (grread))) 2)
    (cond ((= gr 3) (setq zn '-))
	  ((= gr 25) (setq zn '+))
	  (t nil)
    ) ;_ end of cond 
    (if	zn
      (progn
	(setq m-ent (entget m-name))
	(entmod
	  (subst (cons 41 ((eval zn) (cdr (assoc 41 m-ent)) 0.1))
		 (assoc 41 m-ent)
		 m-ent
	  ) ;_ end of subst 
	) ;_ end of entmod 
	(entupd m-name)
      ) ;_ end of progn 
    ) ;_ end of if
  )
) ;_ end of defun
Makswell вне форума  
 
Непрочитано 24.08.2007, 15:36
#14
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,202
<phrase 1=


Велосипед какой-то изобретаете, господа.
есть команда в ET - TEXTFIT
__________________
apel.fas
Apelsinov вне форума  
 
Непрочитано 24.08.2007, 15:45
#15
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Даа....
Как то подзабыл я эту команду
Ну чтож, дурная голова, как говорится, рукам покоя не дает
Makswell вне форума  
 
Непрочитано 24.08.2007, 15:52
#16
lee


 
Регистрация: 28.02.2004
43
Сообщений: 1,827
<phrase 1=


Цитата:
Сообщение от Makswell
Даа....
Как то подзабыл я эту команду
Ну чтож, дурная голова, как говорится, рукам покоя не дает
По моему мнения ирония здесь не уместна.
lee вне форума  
 
Автор темы   Непрочитано 27.08.2007, 07:52
#17
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Makswell спасибо большое, очень выручил. А как пользоваться ET - TEXTFIT, что то я не пойму, буду признателен, если введете в курс дела. Заранее спасибо
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Непрочитано 11.11.2008, 23:19
#18
andrew_ro

Светопрозрачные конструкции, проектирование
 
Регистрация: 29.07.2008
Сообщений: 47


Makswell
очень полезный код из #13. Просматривая тему у меня родилась вот какая идея: здесь в #47 лежит лисп для динамического изменения масштаба линий. Код на самом деле "прикольный". Вопрос для ЛИСП-программистов: нельзя ли создать нечто пободное для width factor текста? Хотелось бы, чтобы код обрабатывал text и mtext.

Последний раз редактировалось andrew_ro, 11.11.2008 в 23:37.
andrew_ro вне форума  
 
Непрочитано 02.09.2010, 15:47
#19
ArtemYa


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


Подскажите пожалуйста, как можно добраться до свойства атрибута "Width factor" через код VBA, не могу найти такого свойства((.
ArtemYa вне форума  
 
Непрочитано 02.09.2010, 16:50
#20
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Цитата:
Сообщение от ArtemYa Посмотреть сообщение
Подскажите пожалуйста, как можно добраться до свойства атрибута "Width factor" через код VBA, не могу найти такого свойства((.
ScaleFactor
Vildar вне форума  
 
Непрочитано 02.09.2010, 16:54
#21
ArtemYa


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


а Scale - это разве не масштаб?
ArtemYa вне форума  
 
Непрочитано 02.09.2010, 17:02
#22
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


ArtemYa, согласен, название не удачное. Но, что это коэф.сжатия текста атрибута я уверен. Попробуй.
Код:
[Выделить все]
oAtrDef.ScaleFactor = 0.9
Vildar вне форума  
 
Непрочитано 02.09.2010, 17:08
#23
ArtemYa


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


действительно сжатием оказалось, большое спасибо!
ArtemYa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Изменение width factor текста