dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Экспорт координат выбранных точек в *.txt

Экспорт координат выбранных точек в *.txt

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 14.05.2008, 16:06
Экспорт координат выбранных точек в *.txt
slan.ru
 
Регистрация: 13.05.2008
Сообщений: 6

slan.ru вне форума Вставить имя

Добрый день, уважаемые знатоки!

Сразу прошу, не пинайте ногами и не отправляйте в поиск. Все темы, в заголовках которых есть слово "координаты" и "координат" прочитал. Нашел много полезного для себя и практически то, что искал. Но многое остается в полутьме для моего мозга. Сама суть моего поста.

Я работаю в дорожном строительстве. С недавнего времени моя организация приобрела электронный тахеометр. На данный момент ось дороги выносим в натуру с помощью него. Координаты X и Y узловых точек по оси беру из CREDO_MIX, а координату Z подставляю по мере необходимости и вида выноса. Для фрезеровки, нижнего слоя, верхнего, и.т.п.

Возникла необходимость выноса в натуру кромок проезжей части. Но они не всегда соответствуют виду оси. В городских условиях могут быть примыкания, карманы для автобусных остановок и.т.п. Требуется (для начала) получить координаты узловых точек. Хочу начать с того, что бы получить координаты ВЫБРАННЫХ ТОЧЕК в текстовый файл. Последовательность:

1. Проставляем токи в требуемых узлах.
2. Выбираем необходимые точки.
3. Запускаем макрос.
4. Макрос создает в каталоге текстовый файл c названием как у чертежа.
5. Туда записываются координаты примитивов (вроде бы так тут это называют) в формате:
Pt X Y Z <Space>, где
Pt - для начала просто нумерация точек по мере добавления в файл,
X Y Z - координаты,
<Space> - разделитель.

От Вас прошу помощи. В программировании мало понимаю, но для меня пока что ясно, что скрипты можно создать как макрос - VBA, и LISP - на собственном языке. Хотелось бы увидеть такой скрипт, я думаю он не будет громоздким, на удобном Вам языке, но с описанием. Начну разбираться - с чего-нибудь надо начинать. Для начала поставленная задача будет минимальной, в дальнейшем хочу усложнить задачу собственными силами, если потяну.

Сразу оговорюсь, возможности купить ToolPak, Express и уж тем более Civil у меня нет, , да и не требуется пока мне выполнение задач отличных от этой. Поэтому надеюсь на Вашу помощь в написании такого скрипта. А уж за описание процедуры - буду безгранично благодарен.

P.S> Если требуются еще исходные данные - готов в найкротчайшие сроки предоставить их.
Просмотров: 113798
 
Непрочитано 12.05.2016, 12:15
#101
Lafaet


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


Добрый день! На данном файле, мне необходимо поставить точки (чтоб их видно было кружочком или еще каким то образом) , подписать номер точки и получить каталог координат. С помощью функции COORNP я получила координаты узлов полилиний, с расстановкой точек и подписанием номеров, но там где полилинии имеют общую точку, координаты соответственно задвоились.
Вопрос:
1) Как убрать задвоение точек
2) Или как проставить сначала точки в узлах (не задвоеные в местах где полигоны имеют общую границу)
3) и как точки в узлах сделать объемыми

p/s. Четвертый день поисков по сайтам... не принес мне результатов
Вложения
Тип файла: dwg
DWG 2010
Отвод1.dwg (71.8 Кб, 22 просмотров)
Lafaet вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.05.2016, 13:08
1 | #102
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 3,771
Отправить сообщение для engngr с помощью Skype™


1 _overkill (expresstools?)
2 точка не может быть объёмной, точка - это точка.
engngr на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.05.2016, 13:42
#103
Lafaet


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


Цитата:
Сообщение от engngr Посмотреть сообщение
1 _overkill (expresstools?)
2 точка не может быть объёмной, точка - это точка.
попробовала, первая функция разбила мне часть объектов, удвоение где-то убралось, где то нет, это я ввела в командную строку _overkill, но желаемого результата я не получила
а про объемную точку, выразилась я не правильно....как обозначить ее кругом, со штриховкой или иным способом, чтоб ее было видно.
Lafaet вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.05.2016, 13:55
#104
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 3,771
Отправить сообщение для engngr с помощью Skype™


Цитата:
Сообщение от Lafaet Посмотреть сообщение
удвоение где-то убралось, где то нет, это я ввела в командную строку _overkill, но желаемого результата я не получила
У себя задвоения точек не нашел.
Цитата:
Сообщение от Lafaet Посмотреть сообщение
как обозначить ее кругом, со штриховкой или иным способом, чтоб ее было видно
В поиск. Например: http://forum.dwg.ru/showthread.php?t=36287
engngr на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 12.05.2016, 19:17
#105
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,543
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Lafaet Посмотреть сообщение
1) Как убрать задвоение точек
По быстрому добавил удаление дублирующихся точек (см вложение)
Цитата:
Сообщение от Lafaet Посмотреть сообщение
как обозначить ее кругом, со штриховкой или иным способом, чтоб ее было видно
В дополнение к #104 - используй COORNB. Блок потом отредактируй по своему вкусу
Вложения
Тип файла: lsp ECoorE rev10c.LSP (52.8 Кб, 111 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.06.2016, 12:35
#106
Jetpriest


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


Огромное спасибо за программу
Jetpriest вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.11.2016, 23:52
#107
MrBrown


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


Здравствуйте!
Я так понимаю, что макрос "COORT" экспортирует в таблицу в качестве номера/наименования точки ближайший текст/мтекст.
На перегруженных текстами (подписями, обозначениями и т.д.) чертежах ближайшим к точке может оказаться посторонний текст, что приведёт к экспорту в таблицу неправильного номера/наименования точки.
Можно ли включить ещё и функцию ручного выбора текста/мтекста рядом с точкой?
То есть, после приглашения ком. строки к выбору точек указываем курсором точку и текст, точку и текст...
Спасибо.
p.s. так как работаем "ручками", я назвал бы команду "COORH" - от "hands" или "COORM" - от "manual".

Последний раз редактировалось MrBrown, 04.11.2016 в 08:01.
MrBrown вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.11.2016, 16:09
#108
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,543
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


MrBrown, Команда COORT при поиске ближайшего текста игнорирует тексты на блокированных, выключенных или замороженных слоях (достаточно чего-то одного).
Отсюда алгоритм:
ручками отсортируй посторонний/непосторонний текст, разбросай по разным слоям, заблокируй (выключи, заморозь) лишнее и вызывай COORT
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.11.2016, 16:20
#109
MrBrown


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


VVA, благодарю за подсказку.
MrBrown вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 17:14
#110
SergeyP


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


Здравствуйте!
Спасибо за полезную программу!
Возник вопрос: строю полилинию (привязанную к геометрии на чертеже) состоящую из отрезков и дуг окружностей, затем сохраняю координаты вершин в файл который затем открываю в Matlab и восстанавливаю эту самую линию по координатам и тут возникает проблема, для восстановления дуги не достоточно двух координат вершин. Нужно знать координаты центра и радиус.
Как вариант в Matlab можно передать вместе с координатами вершин координаты средних точек и вычислить искомый центр и радиус.
Может есть другие способы? Можно ли извлечь помимо координат вершин еще какую то информацию о полилинии?
SergeyP вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 19:20
#111
trir


 
Регистрация: 18.12.2010
Сообщений: 2,442


есть - парсить dxf
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 20:04
#112
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,543
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от SergeyP Посмотреть сообщение
Можно ли извлечь помимо координат вершин еще какую то информацию о полилинии?
Можно. Для сегмента полилинии хранится его кривизна (Bulge) Polyline Bulges
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 20:17
#113
Бася


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


Уважаемые форумчане, помогите пожалуйста!
Есть планировка благоустройства, необходимо ее разбить. Хочу получить точки перелома (характерные) осей и экспортнуть их координаты.
Подскажите, пожалуйста, как автоматически проставить точки на линии оси?
Прикрепляю скрин - некоторые точки уже выставлены руками, а рядом выделила ось, на которой дофига точек - вот как их проставить автоматически?
Миниатюры
Нажмите на изображение для увеличения
Название: 01.png
Просмотров: 39
Размер:	111.7 Кб
ID:	179440  
Бася вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 21:20
#114
trir


 
Регистрация: 18.12.2010
Сообщений: 2,442


Цитата:
как их проставить автоматически?
напиши код
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 22:43
#115
Бася


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


trir, была бы я такая умная - не спрашивала бы...не умею
Бася вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 22:48
#116
trir


 
Регистрация: 18.12.2010
Сообщений: 2,442


Цитата:
...не умею
учите

Цитата:
точки перелома
это что? Экстремум? И на чём вы хотите брать производную от сплайна?
trir на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 23:18
#117
MrBrown


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


Бася, может быть, этот макрос поможет:
Код:
[Выделить все]
 ;****** KOORD.LSP *******************************************************
;       Определение координат точки и простановка
;       в рисунке  на плане.
;       Разработал  Громов В.В. Декабрь 2000.
;
(defun C:KOORD (/ pt1 pt2 koord)
       (setvar "cmdecho" 0)
       (setq pt1 T)
    (while pt1
       (setq pt1 (getpoint "\n Укажите точку (ENTER — конец): "))
       (if pt1
       (progn
       (setq koord (strcat (rtos (nth 0 pt1) 2 2) " " (rtos (nth 1 pt1) 2 2)))
       (setq pt2 (getpoint "\n Укажите точку вставки текста: "))
       (command "_text" pt2 "" "" koord)
       (princ)
       ))
     )
       (princ)
)
;Возможный макрос для кнопки или пункта меню:
;^C^C^P(if (not C:KOORD (load "koord")) KOORD
Проставляешь свои точки в нужных местах, макросом KOORD проставляешь их координаты, а потом используешь макрос из #105.
MrBrown вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2016, 23:47
#118
Бася


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


trir, есть полилиния, она в некоторых точках меняет направление - в двухмерке, просто поворачивает под углом. Мне надо каждое место изгиба линии обозначить точкой. См.скрин.
Просто руками- замучаешься.
В идеале- хочу их потом пронумеровать и получить координаты.

----- добавлено через ~2 мин. -----
MrBrown, спасибо, но сначала хотелось бы точки проставить автоматически

----- добавлено через ~22 мин. -----
Мне кажется, что это должно быть похоже на функцию "разметить" - автоматически проставляются точки на выбранном Path. Здесь суть нужна та же самая, только точки уже де юро есть, надо их де факто нанести.
Бася вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.11.2016, 00:15
1 | #119
MrBrown


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


Бася, Для автоматической разметки используй _measure и _device.
И вот ещё хороший макрос, тоже пригодится:
Код:
[Выделить все]
 ;;; возвращает координаты выбранной полилинии
;;; http://forum.dwg.ru/showthread.php?t=3790
(defun c:plcoords (/ coords pline pt_list)
(setq pline (vlax-ename->vla-object (car (nentsel))))
(if (wcmatch (vla-get-objectname pline)
	       "AcDbPolyline,AcDb2dPolyline,AcDb3dPolyline,AcDbLeader")
  (progn
  (setq coords (vlax-get pline 'Coordinates))
  (if (eq (vla-get-objectname pline) "AcDbPolyline")
    (progn
          (repeat (/ (length coords) 2)
            (setq pt_list (cons (list (car coords) (cadr coords)) pt_list))
            (setq coords (cddr coords))
          )
        )
        (progn
          (repeat (/ (length coords) 3)
            (setq pt_list (cons (list (car coords) (cadr coords) (caddr coords)) pt_list))
            (setq coords (cdddr coords))
          )
        )
      )
    (setq pt_list (mapcar (function (lambda (x)
				   (trans x 1 0)))
		       (reverse pt_list)))
  )
  )
  )
;CaLL:(get-wcs-coords)
Он возвращает координаты вершин полилинии (в ком. строке).
MrBrown вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.11.2016, 00:33
#120
Бася


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


MrBrown, measure и divide делят на заданные расстояния или определенное количество отрезков.
А мне нужно как: выбрал линию и программа проставляет точки в местах излома линии. И не важно, их 2 или 122. Просто линий туча, хочется процесс автоматизировать.

Макрос Ваш завтра попробую и отпишусь, спасибо.
Бася вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Экспорт координат выбранных точек в *.txt

Инженерные консультации
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт координат из dxf в txt eilukha Вертикальные решения на базе AutoCAD 14 26.04.2008 21:53
Нумерация точек на плане и вывод их координат в полярной системе kukuikar Программирование 1 17.02.2008 11:15
Получение текстового массива координат точек. Камыч AutoCAD 5 30.07.2007 12:28
Помощь по Лире Серега М Лира / Лира-САПР 52 28.05.2007 02:47
простановка реальных ординатных размеров (координат точек) AnnaT AutoCAD 7 15.06.2005 17:56

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||