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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание TEXT при помощи entmake

Создание TEXT при помощи entmake

Ответ
Поиск в этой теме
Непрочитано 29.04.2014, 11:32 #1
Создание TEXT при помощи entmake
kpectoff
 
Регистрация: 06.03.2013
Сообщений: 34

Добрый день, Коллеги. Только начал изучать лисп. Суть в том, что хочу написать код для создания выноски с указанием номера контрольной точки.
Необходимо сделать так, чтобы вставлялся текс, с выравниванием по центру. Чтобы точка центра текста (координата Х) была в центре горизонтальной линии выноски, и координата У долна отличаться на 0.3 высоты текса h. Прилагаю код лиспа + скрин. Программа не дописана. Когда закончу с выводом текса, перейду на цикл номера точки, так что этот момент будет позже. Проблема в том, что текст на выводится на экран.
Код:
[Выделить все]
 (defun c:contpo (/ p1 p2 p3 n h k)
	(setq n (getint "Введите начало отсчёта"))
  	(setq h (getvar "TEXTSIZE"))
  	(setq p1 (getpoint))
	(setq p2 (getpoint p1))
	(if (< (car p1) (car p2)) (setq k (* h 2.3308)) (setq k (* h -2.3308)))
	(setq p3 (cons (+ k (car p2)) (cdr p2)))
	(entmake
		(list
			(cons 0 "LWPOLYLINE")
			(cons 100 "AcDbEntity")
           		(cons 100 "AcDbPolyline")
           	        (cons 90 2)
           		(cons 70 0)
			(cons 10 p1)
			(cons 10 p2)
			(cons 10 p3)
		)
	)
  	(entmake
	  	(list
		  	(cons 0 "TEXT")
			(cons 100 "AcDbEntity")
			(cons 100 "AcDbText")
			(cons 40 h)
			(cons 41 1)
			(cons 50 0)
			(cons 51 0)
			(cons 67 0)
			(cons 71 0)
			(cons 72 1)
			(cons 73 0)
			(cons 10 (car p2) (+ (cadr p2) (* h 0.3)) 0)
			(cons 11 (+ (car p2) (* k 0.5)) (+ (cadr p2) (* h 0.3)) 0)
			(cons 1 "999")
		)
	)
)

Миниатюры
Нажмите на изображение для увеличения
Название: lisp.png
Просмотров: 43
Размер:	11.2 Кб
ID:	127552  


Последний раз редактировалось kpectoff, 29.04.2014 в 11:50.
Просмотров: 3369
 
Непрочитано 29.04.2014, 11:48
#2
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 283


Ну, прекрасно, суть понятна, а чего надо-то: дописать программу, сказать, почему выдает ошибку, как вставлять текст в топик, чтобы русские буквы отображались. В чем вопрос?
ciril вне форума  
 
Автор темы   Непрочитано 29.04.2014, 11:51
#3
kpectoff


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


Добавил суть проблемы. Ну и хотелось бы конкретно знать, почему текст не выводится на экран?
kpectoff вне форума  
 
Непрочитано 29.04.2014, 11:58
#4
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 283


твои 33 и 34 строки:
Код:
[Выделить все]
 (cons 10 (car p2) (+ (cadr p2) (* h 0.3)) 0)
(cons 11 (+ (car p2) (* k 0.5)) (+ (cadr p2) (* h 0.3)) 0)
замени на:
Код:
[Выделить все]
 (list 10 (car p2) (+ (cadr p2) (* h 0.3)) 0)
(list 11 (+ (car p2) (* k 0.5)) (+ (cadr p2) (* h 0.3)) 0)
Если не настроено в IDE прерывание на ошибке, включи его. И shift+ctrl+R окно - там будет описание почему.
ciril вне форума  
 
Автор темы   Непрочитано 29.04.2014, 12:01
#5
kpectoff


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


Цитата:
Сообщение от ciril Посмотреть сообщение
твои 33 и 34 строки:
Код:
[Выделить все]
 (cons 10 (car p2) (+ (cadr p2) (* h 0.3)) 0)
(cons 11 (+ (car p2) (* k 0.5)) (+ (cadr p2) (* h 0.3)) 0)
замени на:
Код:
[Выделить все]
 (list 10 (car p2) (+ (cadr p2) (* h 0.3)) 0)
(list 11 (+ (car p2) (* k 0.5)) (+ (cadr p2) (* h 0.3)) 0)
Если не настроено в IDE прерывание на ошибке, включи его. И shift+ctrl+R окно - там будет описание почему.
Спасибо большое, проблема решена!
kpectoff вне форума  
 
Непрочитано 29.04.2014, 12:04
#6
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 283


Не за что, купите себе Полещука "AutoLISP и VisualLISP в среде AutoCAD" - снимется огромное количество вопросов.
ciril вне форума  
 
Автор темы   Непрочитано 29.04.2014, 12:06
#7
kpectoff


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


Цитата:
Сообщение от ciril Посмотреть сообщение
Не за что, купите себе Полещука "AutoLISP и VisualLISP в среде AutoCAD" - снимется огромное количество вопросов.
Книгу купил, к ней и прибегаю по случаю всего. Над этой проблемой думал второй день. Не знал как решить - обратился к форуму! Теперь буду знать!
kpectoff вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание TEXT при помощи entmake



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными Андрей Х. AutoCAD 24 27.05.2015 10:17
Express Tools Perezz!! AutoCAD 483 13.02.2015 10:57
Окно атрибутов блоков в Acad 2014 + Lisp gizmo_zx LISP 2 19.03.2014 12:32
перенос данных и автокада в эксель evg76 Программирование 31 29.10.2013 14:55
ориенитация текста размера при смене UCS baaba AutoCAD 12 17.03.2011 13:33