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

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

Как повернуть текст с отметками высоты вдоль длинной и изогнутой полилинии?

Ответ
Поиск в этой теме
Непрочитано 18.08.2012, 22:18 #1
Как повернуть текст с отметками высоты вдоль длинной и изогнутой полилинии?
reddiska
 
Регистрация: 18.08.2012
Сообщений: 53

Экспресс Тулс, ториент, насколько я понимаю, разворачивает только по двум точкам. Весь интернет обыскала - не нашла, как можно повернуть текст по кривой линии Может, кто поможет? Точек много тысяч, дорога - много километров... По двум точка не подходит - у меня этих точек поворота сотни. Это точно можно как-то сделать, люди делают.
Просмотров: 9349
 
Непрочитано 19.08.2012, 00:06
#2
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от reddiska Посмотреть сообщение
Экспресс Тулс, ториент, насколько я понимаю, разворачивает только по двум точкам. Весь интернет обыскала - не нашла, как можно повернуть текст по кривой линии Может, кто поможет? Точек много тысяч, дорога - много километров... По двум точка не подходит - у меня этих точек поворота сотни. Это точно можно как-то сделать, люди делают.
Приложи чертеж для примера (не выше A2010), я делал что-то подобное
типа расстановки пикетов

~'o'~
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 19.08.2012, 11:43
#3
reddiska


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


вот-вот, расстановка икетов п оси - суть та же.
Образец очень условный, но суть, я думая, понятна
Вложения
Тип файла: dwg
DWG 2000
есть и надо.dwg (56.9 Кб, 1791 просмотров)
reddiska вне форума  
 
Непрочитано 19.08.2012, 12:27
2 | #4
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Указываете отметки, указываете трассу и вуаля
Код:
[Выделить все]
 (defun c:alite (/ *error* ss bent cent i pt doc rot)
  (defun *error* (msg) (princ))
  (vl-load-com)
  (if (and (setq ss (ssget '((0 . "TEXT"))))
          (setq bent (car (entsel)))
      )
    (progn
      (setq i   0
            doc (vla-get-activeDocument (vlax-get-acad-object))
      )
      (vla-StartUndoMark doc)
      (repeat (sslength ss)
        (setq
          cent (ssname ss i)
          rot
          (+ (* 0.5 pi)
            (angle
              (vlax-curve-getclosestpointto
                (vlax-ename->vla-object bent)
                (setq bpt (cdr (assoc 10 (entget cent))))
              )
              bpt
            )
          )
        )
        (if (< (* 0.5 pi) rot (* 1.5 pi))
          (setq rot (+ pi rot))
        )
        (vla-put-Rotation
          (vlax-ename->vla-object cent)
          rot
        )
        (setq i (1+ i))
      )
      (vla-EndUndoMark doc)
    )
  )
  (princ)
)
gomer вне форума  
 
Автор темы   Непрочитано 19.08.2012, 14:03
#5
reddiska


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


Не получается((( ЛИсп загрузила, ввожу alite, а автокад пишет - неизвестная команда
reddiska вне форума  
 
Непрочитано 19.08.2012, 14:23
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


может с номерами строк скопировали? у меня работает
gomer вне форума  
 
Автор темы   Непрочитано 19.08.2012, 14:45
#7
reddiska


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


АаааааааАААААААААаА!!!!! КРуто!!!! Спасибо огромное, то, что надо!!!!
reddiska вне форума  
 
Непрочитано 19.08.2012, 17:52
#8
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Проверь из моих запасов
Код:
[Выделить все]
;; fixo () 2010 * all rights released

;; created: 3/23/10
;; last edit date: 8/19/12
(defun C:ALPIK(/ *error* adoc ang curve en pt ss tp txtobj)
(vl-load-com)
  (defun *error* (msg)
    (if adoc (vla-endundomark  adoc))
    (if
      (and msg
	   (not
	     (member
	       msg
	       '("console break"
		 "Function cancelled"
		 "quit / exit abort"
		 ""
		)
	     )
	   )
      )
       (princ (strcat "\nError: " msg))
    )

    (setvar "nomutt" 0)
        
    (princ)
  );_ error function
  
 (or adoc
     (setq adoc	(vla-get-activedocument
		  (vlax-get-acad-object))))
  
(vla-startundomark adoc)
 (setvar "nomutt" 0)
 (prompt
   "\nВыбрать весь текст для выравнивания по оси дороги\n")
  (setvar "nomutt" 1)
  (setq ss (ssget "_:L" (list (cons 0 "TEXT"))))
  (setvar "nomutt" 0)
  (setq curve (car (entsel "\nВыбрать сторону дороги для выравнивания пикетов: ")))
  (if (and ss curve)
	       (while
		 (setq en (ssname ss 0))
		       (setq txtobj(vlax-ename->vla-object en))
		  (setq	pt (vlax-curve-getclosestpointto
			     curve
			     (setq tp (vlax-get txtobj 'insertionpoint))))
		  (vlax-put txtobj 'rotation (setq ang (- (angle pt tp) (/ pi 2))))
		  (if (< (/ pi 2) ang (* pi 1.5))
		    (vlax-put txtobj 'rotation (+ pi ang)))
		  (ssdel en ss)
		  )
    )
 
 (*error* nil)
 (princ)
  )   
(princ "\n\t\t   Старт команды: \"ALPIK\" или \"alpik\"\n")
(prin1)
(or (vl-load-com)(princ))
~'o'~
Олег (jr.) вне форума  
 
Непрочитано 19.08.2012, 18:12
#9
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Олег (jr.), твой лисп то же что и мой делает, но мой похардкорнее
gomer вне форума  
 
Непрочитано 20.08.2012, 06:48
#10
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от gomer Посмотреть сообщение
Олег (jr.), твой лисп то же что и мой делает, но мой похардкорнее

А тоже самое, но для блока с атрибутом.
Valery Brelovsky вне форума  
 
Непрочитано 20.08.2012, 19:57
#11
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Посмотри здесь:
http://forums.augi.com/showthread.ph...=1#post1172418
Олег (jr.) вне форума  
 
Непрочитано 20.08.2012, 21:26
#12
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
По ссылке это не то. Там разбивается пикетаж. А мне всётаки нужно блоки. Не хотелось взрывыать блоки что бы потом вращать текст.
Valery Brelovsky вне форума  
 
Непрочитано 20.08.2012, 22:41
1 | #13
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
Не хотелось взрывыать блоки что бы потом вращать текст.
Блок - понятие непостоянное, сегодня он так выглядит, завтра иначе, поэтому универсального решения не может быть для блоков
В принципе, если блок сделан правильно, то, если заменить (0 . "TEXT") на (0 . "TEXT,INSERT"), вcе получится
gomer вне форума  
 
Непрочитано 21.08.2012, 07:22
#14
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от gomer Посмотреть сообщение
Блок - понятие непостоянное, сегодня он так выглядит, завтра иначе, поэтому универсального решения не может быть для блоков
В принципе, если блок сделан правильно, то, если заменить (0 . "TEXT") на (0 . "TEXT,INSERT"), вcе получится
Понял. Спасибо. Попробуем.
Valery Brelovsky вне форума  
 
Непрочитано 21.08.2012, 07:26
#15
Krovlaf

геология, геодезия
 
Регистрация: 29.05.2009
Хабаровск
Сообщений: 185


Цитата:
Блок - понятие непостоянное, сегодня он так выглядит, завтра иначе
Пардон, это как? Самопроизвольно? (два добрых духа - Crazy)
С блоками работает!!! Автору - большое человеческое СПАСИБО!

Последний раз редактировалось Krovlaf, 21.08.2012 в 07:44.
Krovlaf вне форума  
 
Непрочитано 21.08.2012, 09:15
#16
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от gomer Посмотреть сообщение
вcе получится
Всё получилось отлично. Теперь работает с текстами и блоками.
Valery Brelovsky вне форума  
 
Непрочитано 17.07.2013, 06:58
#17
Петров Евгений


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


Я так понял, что Alite работает только с блоками и текстом. У меня проблема с метками точек COGO в CIVIL. Кто-нибудь знает как повернуть их массово вдоль длинной и изогнутой полилинии не взрывая?
Петров Евгений вне форума  
 
Автор темы   Непрочитано 19.05.2024, 12:03
| 1 #18
reddiska


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


Блин, 12 лет прошло, а вот на новом компе в чужом месте понадобился лисп, и аж пришлось на форум заходить, чтобы опять его скачать. 12 блин лет спустя пользуюсь все теми же лиспами)
reddiska вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как повернуть текст с отметками высоты вдоль длинной и изогнутой полилинии?

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст вдоль полилинии или сплайна (по кривой) Denioska AutoCAD 48 10.09.2022 21:55
Как кучей повернуть текст с отметками высоты вдоль длинной и изогнутой дороги? reddiska AutoCAD 14 19.08.2012 19:37
Поворот блоков вдоль полилинии, сплайна Victor Готовые программы 3 19.02.2012 22:12
Как пустить текст вдоль изогнутой линии? Shaft AutoCAD 47 01.06.2009 16:13