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

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

Как вывести текст в model из приложения написанного на lisp?

Ответ
Поиск в этой теме
Непрочитано 13.04.2007, 13:57 #1
Как вывести текст в model из приложения написанного на lisp?
paradoxvaha
 
проектирование противооползневых сооружений
 
Yalta
Регистрация: 06.04.2007
Сообщений: 50

День добрый! Есть такой вопрос - я подгружаю некоторое приложение написанное на Lisp в автокад и мне необходимо после некоторых действий, выполненных приложением (рисует несколько линий) подписать эти линии - что они обозначают. Т.е. мне надо вставить текст в модель, текст заранее известен - руками его вводить неохота. Можно ли как то сделать так чтобы ентот текст вставлялся сам (координаты вставки можно взять из этого же приложения на lisp, в этом же приложении я хочу задать и содержание текста)? в зависимости от расположения линий. Итог программы - линии с подписями, что каждая из них означает.
Просмотров: 4469
 
Непрочитано 13.04.2007, 15:07
#2
Кулик Алексей aka kpblc
Moderator

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


Ответ на основной вопрос: да, можно. И особых трудностей лично я что-то не вижу такое сделать. Показывай свой код, говори, какие данные надо - а там посмотрим.
---
Поправка:
Говори не "что надо", а "что не получается"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.04.2007, 15:31
#3
paradoxvaha

проектирование противооползневых сооружений
 
Регистрация: 06.04.2007
Yalta
Сообщений: 50
<phrase 1=


вот часть моей программы:
(setq rep1 (* (/ vp 2) (/ (sin un) (cos un)))
l9 (list (+ shp (- 2000 rep1)) (/ vp 2))
x (* 1300 (cos unzd))
y (* 1300 (sin unzd))
x1 (+ shp 2000 x (- rep1))
y1 (+ (/ vp 2) y)
l10 (list x1 y1))
(command "_line" l9 l10 "")
тут я черчу наклонную линию в строго определенном месте (в принципе, на данный момент местоположение линии не имеет значения), дальше мне надо сделать надпись над этой линией - написать "Ось анкера", а сделать это у меня не получается, как бы я не старался.... все время какие то ошибки
(я использовал "_dtext" "_text")
paradoxvaha вне форума  
 
Непрочитано 16.04.2007, 03:54
#4
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Цитата:
Сообщение от paradoxvaha
вот часть моей программы:
(setq rep1 (* (/ vp 2) (/ (sin un) (cos un)))
l9 (list (+ shp (- 2000 rep1)) (/ vp 2))
x (* 1300 (cos unzd))
y (* 1300 (sin unzd))
x1 (+ shp 2000 x (- rep1))
y1 (+ (/ vp 2) y)
l10 (list x1 y1))
(command "_line" l9 l10 "")
тут я черчу наклонную линию в строго определенном месте (в принципе, на данный момент местоположение линии не имеет значения), дальше мне надо сделать надпись над этой линией - написать "Ось анкера", а сделать это у меня не получается, как бы я не старался.... все время какие то ошибки
(я использовал "_dtext" "_text")
А вот не надо закосневат в AutoLISP'е [sm2001]! В ActiveX это не просто, а очень просто:
Код:
[Выделить все]
(defun Line_Text (string txht / ln csp ang txht)
  (setq util (vla-get-utility (vla-get-ActiveDocument (vlax-get-acad-object)))
  (vla-getEntity util 'ln 'pt "Select a Line: ")
  (setq csp (vla-ObjectIDtoObject adoc (vla-get-ownerID ln))
	string (vla-getstring util (strcat :vlax-true "Enter the Text: <" string ">"))
	ang (vla-get-angle ln))
  (vla-put-rotation (vla-addText csp string (vla-PolarPoint util (vlax-make-variant pt) (+ (/ pi 2) ang) txht) txht) ang)
)
String - строка текста, txht - высота текста. Стиль и выравнивание - по умолчанию. если че какая непонятка - спрашивай. [sm2200]
Лентяй вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как вывести текст в model из приложения написанного на lisp?

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