помогите составить lisp на изменение координат большого количества текстовых объектов - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

помогите составить lisp на изменение координат большого количества текстовых объектов

Ответ
Поиск в этой теме
Непрочитано 05.11.2013, 16:23
помогите составить lisp на изменение координат большого количества текстовых объектов
ripeinik
 
ГИПик
 
Нерезиновая
Регистрация: 21.06.2012
Сообщений: 57

Добрый день, люди добрые! Помогите кто чем может,если может...

Есть проблема:
Есть куча отметок в форме текста по сетке типа но на самом деле нет, каждый текст сдвинут на чуть-чуть,причем каждый в свою сторону....

Нужно перетащить все текстики кучей так,чтобы каждый стал своей точкой привязки на свое место в сетке.

Делать это вручную я офигею, их там мильон штук на 5 чертежах (да-да,это кто-то типа "исполнительную" делал ВРУЧНУЮ забивая текст и зачем-то его при этом сдвигая...а мне теперь надо сделать поверхность но точную, а не абы какую...)

в общем, может ли кто-нибудь ну пожалуйста написать какую-то утилитку для этого или может стандартными средствами автокада это как-то можно сделать, а я не знаю как?

помогите, а то я ослепну...

Изображения
Тип файла: jpg 444.jpg (70.7 Кб, 265 просмотров)


Последний раз редактировалось ripeinik, 05.11.2013 в 23:15.
Просмотров: 6265
 
Непрочитано 06.11.2013, 12:39
1 | #21
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от ripeinik Посмотреть сообщение
ну, скажем так, между столбцами одинаково (20метров) а между строками благо их всего три можно сделать
на скорую руку как-то так, запускать командой test
Код:
[Выделить все]
  (vl-load-com)
(defun round(x)
  ((lambda (fx)
     (if (< (abs (- x fx)) 0.5) fx (if (< x 0) (1- fx) (1+ fx))))
   (fix x)))
(defun c:test()
  ((lambda (pt w h ent-lst doc)
     (vla-startundomark doc)
     (mapcar '(lambda (lst)
                ((lambda (x y)
                   (entmod (subst (list 10 x y (last (assoc 10 lst))) (assoc 10 lst) lst)))
                 (+ (* (round (/ (- (cadr (assoc 10 lst)) (car pt)) w)) w) (car pt))
                 (+ (* (round (/ (- (caddr (assoc 10 lst)) (cadr pt)) h)) h) (cadr pt))))
             ent-lst)
     (vla-endundomark doc))
   (getpoint "\nНачало сетки: ")
   (getdist "\nШаг по X: ")
   (getdist "\nШаг по Y: ")
   (mapcar 'entget (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*text")))))))
   (vla-get-activedocument (vlax-get-acad-object))))
p.s. - исправил округление...
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 06.11.2013 в 23:46.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > помогите составить lisp на изменение координат большого количества текстовых объектов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программное создание размерных стилей Кулик Алексей aka kpblc Программирование 96 21.02.2025 13:53
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
MS Word Нужен скрипт для копирования с одновременной заменой части текста Солидворкер Прочее. Программное обеспечение 27 27.11.2012 15:52
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
Курсор в конец редактируемого текста? zlobandr AutoCAD 15 13.05.2008 16:41