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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Определение координат

Определение координат

Закрытая тема
Поиск в этой теме
Непрочитано 14.10.2005, 14:05 1 | #1
Определение координат
Ирма
 
Инженер
 
Moscow
Регистрация: 14.10.2005
Сообщений: 77

Подскажите пожалуйста название команды определяющей координаты на ген. плане, для построения плана сетей трубопроводов?
Просмотров: 64193
 
Непрочитано 14.10.2005, 14:26
#2
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,202
<phrase 1=


координаты указанной точки - команда _.ID
Хотя не понятно как это поможет вам в построении плана сетей трубопроводов.
Apelsinov вне форума  
 
Непрочитано 14.10.2005, 14:47
#3
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


>>Ирма
Дополняя пост Apelsinov!
Цитата:
для построения плана сетей трубопроводов
Нужно не определять, а вводить координаты вершин при построении сети, а подсказку по координатам можно увидеть в "лотке" окна Автокада (см. картинку). Главное чтобы, система координат была выставлена правильно, тогда и координаты в Автокаде можно будет наблюдать и вводить реальные, т.е. соответствующие генплану. Команда _.ID позволяет только получить координаты точек (вершин) уже построенных (вычерченых) в чертеже объектов, в том числе и сетей или просто любой указанной точки.
Или Я Вас не правильно понял Ирма?
[ATTACH]1129287203.jpg[/ATTACH]
MIP вне форума  
 
Автор темы   Непрочитано 14.10.2005, 15:27
#4
Ирма

Инженер
 
Регистрация: 14.10.2005
Moscow
Сообщений: 77
<phrase 1=


Я имею в виду команду которая показывает координату точки на г.п, соответствующую координатной сетке данного ген.плана.
Ирма вне форума  
 
Автор темы   Непрочитано 14.10.2005, 15:31
#5
Ирма

Инженер
 
Регистрация: 14.10.2005
Moscow
Сообщений: 77
<phrase 1=


Я смогу выставить координаты на плане сети трубопровода ( на г.п), на углах поворота итд...
Ирма вне форума  
 
Непрочитано 14.10.2005, 16:44
#6
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Цитата:
Я имею в виду команду которая показывает координату точки на г.п, соответствующую координатной сетке данного ген.плана.
1. Нужно знать к какому типу относится сетка координат Вашего генплана. Для генпланов обычно применяется четыре типа подписывания (получения) и соответственно ввода координат:
а) классический - «Б» и «А»,
б) «западный» - «X= » и «Y= »,
в) еще один «западный», но с «перевернутыми» координатами,
г) «Пользовательский» (например, X1= и Y1=).
2. Следуя из первого без специального софта или утилит на Лиспе получить коррдинаты по типам "а", "в", и "г" невозможно, т.к. чистый автокад этого не поддерживает.
3. Если сетка разбита по типу "б", т.е кординаты "X" и "Y" то достаточно создать в Автокаде пользовательскую систему координат с началом совпадающим сначалом системы координат генплана и повернутой по осям согласно направлению разбивики координатной сетки генплана. Создание пользовательской системы координат в этом случае лучше произвести по трем точкам .
Цитата:
3точки
Задание новой ПСК с помощью начальной точки и положительных направлений осей X и Y. Направление оси Z определяется по правилу правой руки. Подробнее о правиле правой руки см. раздел Мировая и пользовательская системы координат в 3М пространстве документа Руководство пользователя) Данный способ задания ПСК является универсальным.
Новое начало координат <0,0,0>: Указать точку (1)
Точка на положительном луче оси X <текущая>: Указать точку (2)
Точка на положительном луче оси Y в плоскости XY ПСК <текущая>: Указать точку (3)
Первая введенная точка считается точкой начала новой ПСК. Вторая точка задает положительное направление оси X. Третья точка задает положительное направление оси Y. Таким образом, указанные точки определяют положительную полуплоскость XY ПСК.
После этого Вы сможете получать и вводить координаты согласно координатам сетки генплана. Как получить координаты точки описано в предыдущих постах, ввод координат при отрисовке производиться в командной строке или используя объектную привязку.
MIP вне форума  
 
Автор темы   Непрочитано 14.10.2005, 17:24
#7
Ирма

Инженер
 
Регистрация: 14.10.2005
Moscow
Сообщений: 77
<phrase 1=


Ладно, объясню всю ситуацию. На старом компе была выставленна команда, которую я просто нажимала и показывала точку на плане координата которой мне необходима. Компу было все равно к какому типу относится координ. сетка. Были разные планы в основном в классическом, или перевернутом виде. Но я просто ее нажимала и все без каких либо заморочек. Ох уж этот автоCAD :roll:
Ирма вне форума  
 
Непрочитано 14.10.2005, 17:49
#8
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


Теперь все понятно! У Вас на кнопке "висела" не стандартная команда Автокада а специально кем-то разработанная, которая позволяла получать координаты в нужном Вам виде. Вам просто нужно спросить у того кто настраивал Вам старую машину как перенсти настройки Автокада с нее на новую машину, о переносе настроек Автокада см. здесь . http://dwg.ru/forum/viewtopic.php?t=4973
http://dwg.ru/forum/viewtopic.php?t=3989
http://dwg.ru/forum/viewtopic.php?t=3989
http://dwg.ru/forum/viewtopic.php?t=295
еще рекоменду поискать по сайту, о переносе настроек тем было много.
MIP вне форума  
 
Автор темы   Непрочитано 14.10.2005, 18:00
#9
Ирма

Инженер
 
Регистрация: 14.10.2005
Moscow
Сообщений: 77
<phrase 1=


Видимо это была экспресс команда! У меня нет возможности посоветоваться с челом настраившим мой комп. И как теперь быть, откуда можно взять эту команду?
Ирма вне форума  
 
Непрочитано 15.10.2005, 21:48
#10
Barbi

блондинка
 
Регистрация: 13.10.2005
Парк Юрского периода
Сообщений: 6


Цитата:
И как теперь быть, откуда можно взять эту команду?
Теперь только у меня. Приезжайте, все координатки проставим. :wink:
[ATTACH]1129398488.gif[/ATTACH]
Barbi вне форума  
 
Непрочитано 16.10.2005, 02:06
#11
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Ирма

Ну такого типа как у Barbi состряпать несложно:
Код:
[Выделить все]
(defun c:ordi(/ fPt oldEcho *error*)

  (defun *error*(msg)
      (setvar "CMDECHO" oldEcho)
    (princ)
    ); end of *error*
  
  (setq oldEcho(getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (if
    (setq fPt(getpoint "\nSpecify point >> "))
    (progn
      (command "_.dimordinate" fPt "_t"
	       (strcat
		 "X=" (rtos(car fPt)2(getvar "DIMDEC"))
		 "\\X"
		 "Y=" (rtos(cadr fPt)2(getvar "DIMDEC"))
		 ); end strcat
	       pause
	       ); end command
      (setvar "CMDECHO" oldEcho)
      ); end progn
    ); end if
  (princ)
  ); end of c:ordi
[ATTACH]1129413993.dwg[/ATTACH]

Только у неё очевидно на основе _LEADER сделано или просто линии и текст, а я использовал _DIMORDINATE c текстом в оверрайде.
{Smirnoff} вне форума  
 
Непрочитано 16.10.2005, 09:03
#12
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


В такой простенькой программе самое сложное - учитывать, что "Х=" или "Y=" должно для конкретного населенного пункта проставляться с учетом направления осей координат местной системы координат.

Обычно в гедодезии осью X называется ось, направленная на север. Но не всегда. В некоторых городах буквой X обозначают ось, направленную на восток.

В момент работы программа должна знать какая именно ось сейчас называется Х. Ну и ввод точки нужно зациклить, так как обычно надо указывать много точек.
ShaggyDoc вне форума  
 
Непрочитано 16.10.2005, 09:44
#13
Огурец

Profan
 
Регистрация: 27.04.2005
Москва
Сообщений: 6,760
Отправить сообщение для Огурец с помощью Skype™


Уважаемые коллеги!
Между прочем, в нашем родном ACADе осьY мировой системы координат направлена на север, в чём легко убедиться, устанавливая в рендере Distant Light.
Огурец вне форума  
 
Непрочитано 16.10.2005, 11:10
#14
bernata


 
Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,296


Уважаемые господа!

По работе иногда приходится проставить в течении часа координаты более 1000 точек на генплане. Считаю что оптимальный вариант для решения подобной задачи и многих других геодезических, картографических и генплановских задач - использовать приложение к ACad`у "EZYsurf". Есть конечно свои трудности в эксплуатации.
Но лучше выходной потерять и разобраться, а потом за 5 минут всё сделать.
Приложение это старое но почему-то о нём совсем мало кто знает.
Небуду описывать всех прелестей программы, сам ещё не до конца разобрался.
http://dwg.ru/dwl/index.php?id=394
С удовольствием помогу всем заинтересовавшимся.

P/S Спасибо огромное господину Smirnoff. Всё гениальное просто.

Последний раз редактировалось bernata, 02.02.2012 в 13:00.
bernata вне форума  
 
Непрочитано 16.10.2005, 12:06
#15
bernata


 
Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,296


"Позиция не найдена"
!!!
"Размещение материалов коммерческой направленности (демо-, триал версии) допускается только на платной основе"
Теперь понятно почему про EZYsurf никто ничего не пишет.
Теперь остается только сослаться на

http://www.ezysurf.com/
bernata вне форума  
 
Непрочитано 16.10.2005, 12:41
2 | #16
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Я немного усовершенствовал. По совету ShaggyDoc ввел опцию для "неправильных" городов (наверное г. Засранск ) и сделал указание точек в цикле для ускорения процесса. Выход по правой кнопке мыши:
Код:
[Выделить все]
(defun c:ordi(/ fPt oldEcho oldDir Xord Yord *error*)

  (defun *error*(msg)
      (setvar "CMDECHO" oldEcho)
    (princ)
    ); end of *error*
  
  (if(not ordi:Dir)(setq ordi:Dir "Nord"))
  (setq oldEcho(getvar "CMDECHO")
	oldDir ordi:Dir)
  (initget "East Nord")
  (setq ordi:Dir(getkword
		  (strcat
		    "\nSpecify X-axis direction [Nord/East] <"ordi:Dir"> :"))
	fPt T
	); end setq
  (if(null ordi:Dir)(setq ordi:Dir oldDir))
  (setvar "CMDECHO" 0)
  (while fPt
  (if
    (setq fPt(getpoint "\nSpecify point or Right Click to Quit >> "))
    (progn
      (if(= ordi:Dir "Nord")
	 (setq Xord(rtos(car fPt)2(getvar "DIMDEC"))
	       Yord(rtos(cadr fPt)2(getvar "DIMDEC"))
	       ); end setq
	 (setq Xord(rtos(cadr fPt)2(getvar "DIMDEC"))
	       Yord(rtos(car fPt)2(getvar "DIMDEC"))
	       ); end setq
	); end if
      (command "_.dimordinate" fPt "_t"
	       (strcat
		 "X=" Xord "\\X" "Y=" Yord
		 ); end strcat
	       pause
	       ); end command
      ); end progn
    ); end if
    ); end while
  (setvar "CMDECHO" oldEcho)
  (princ)
  ); end of c:ordi
У меня сейчас жена с генпланами мучается в Microstation 7.1. Отрисовывает их в файле со снятыми через GPS точками по наброскам топографов на листочках A4. Вот это действительно ж**а. В этом Microstation 7.1 чертить - лучше повеситься, столько лишних телодвижений по сравнению с AutoCAD. :?
{Smirnoff} вне форума  
 
Непрочитано 17.10.2005, 07:01
#17
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от {Smirnoff}
ввел опцию для "неправильных" городов (наверное г. Засранск )
"Неправильных" населенных пунктов много. Например, Ленинград (как в С.-П незнаю), Иркутск.

Вот исходник программы, используемой Barbi. Напрямую применить нельзя - используются библиотечные функции. Привожу для примера концептуального подхода.
Код:
[Выделить все]
(defun START
             (/ start_pnt txt_x txt_y x x_north y)
  (ru-app-begin)
  (setq x_north (ru-conv-str-to-bool
                  (ru-ini-read-default NIL "Setup" "X_axis_North" "1")
                ) ;_ end of ru-conv-str-to-bool
  ) ;_ end of setq
  (while
    (setq start_pnt
           (ru-get-point-or-exit "Укажи точку для выноски координат" nil)
    ) ;_ end of setq
     (setq x (rtos (ru-conv-unit-to-meter (car start_pnt)) 2 2)
           y (rtos (ru-conv-unit-to-meter (cadr start_pnt)) 2 2)
     ) ;_ end of setq
     (if x_north
       (setq txt_x (strcat "X=" y)
             txt_y (strcat "Y=" x)
       ) ;_ end of setq
       (setq txt_y (strcat "Y=" y)
             txt_x (strcat "X=" x)
       ) ;_ end of setq
     ) ;_ end of if
     (ru-draw-leader-and-two-string txt_x txt_y start_pnt)
  ) ;_ end of While
  (ru-app-end)
  (princ)
) ;_ end of defun
(START)
Здесь (ru-app-begin) и (ru-app-end) запоминают и воссстанавливают окружение. При этом в каждой программе не переопределяется *error* не запоминаются переменные и пр.)

Направление осей берется из INI-файла. Есть и глобальный INI, но в каталоге может быть свой INI с настройками, отличающимися от глобальных. На одном компьютере могут разрабатываться проекты для разных городов, могут быть и разные настройки, в частности эта.

Постоянный запрос направления через getkword быстро "достанет".

ru-get-point-or-exit позволяет ввести точку с опцией выхода по умолчанию. Нештатный выход не допустит. Координаты всегда возвращаются в WCS. Для этой программы это особенно важно, так как чертить топографию и все на топооснове нужно именно в мировой системе.

ru-conv-unit-to-meter - конвертирует текущие единицы в метры. Рисунок может быть в разных единицах, координаты в геодезии - в метрах.

ru-draw-leader-and-two-string - рисует выноску и две строки. При этом строки разворачиваются в правильном направлении, полочка делается нужной длины, устанавливаются требуемые веса линий и текста и прочее.

Leader и размер не используются из-за непредсказуемости их поведения и влияния настроек стилей. В данной программе выноска и надписи должны быть нарисованы точно там, где указано. Чертежи генплана и сетей бывают очень насыщенными и всякие прыжки и вольности недопустимы.

Вот такие маленькие программки (как бы они не были написаны) очень эффективны. Определение координат точек по нарисованному плану на бумаге всегда было сложным делом и им занимались самые подготовленные геодезисты и генпланисты. А в программе - два клика мышкой.

Есть и вариант с указанием на объект и построением ведомости координат в табличной форме - сразу определяются координаты, длины сегментов, азимуты, площадь
[ATTACH]1129518069.gif[/ATTACH]
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 17.10.2005, 09:28
#18
Ирма

Инженер
 
Регистрация: 14.10.2005
Moscow
Сообщений: 77
<phrase 1=


Всем большое спасибо.
Ирма вне форума  
 
Непрочитано 23.10.2005, 10:25
#19
bernata


 
Регистрация: 22.09.2005
здесь могла быть ваша реклама
Сообщений: 1,296


EZYsurf & EZYextra (LISP collection)

cadware1@yandex.ru
password: help
bernata вне форума  
 
Непрочитано 03.11.2010, 06:50
#20
Alex79

проектирование
 
Регистрация: 06.12.2006
Родом из солнечной системы
Сообщений: 60
<phrase 1= Отправить сообщение для Alex79 с помощью Skype™


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