Тема: Игнорирование Z координаты при привязках

Привет!
Я даже и не знаю, в какой раздел это кинуть, кинул сюда, так как думаю, что надо делать плагин.
Нужно, чтобы при привязке точки к чему-либо (ну там линию рисую, или сдвигаю что-то) игнорировалась Z координата. А привязывались только X и Y.

Re: Игнорирование Z координаты при привязках

> HAL
Думаю, что вопрос вызван практическими нуждами, когда, например, работаешь в 2D на подоснове выполненной в 3D, и в результате привязки к объекту (примитиву) подосновы влетаешь в нежелательные 3D? Если это так, то:
1.Обычный путь - перевести весь чертеж в 2D.
2.Предложенный подход

А привязывались только X и Y.

следует признать нестандартным и интересным, над которым стоит подумать.
3.Вынести обсуждение этой темы в раздел: AutoCAD
Если же это не так, то стоит уточнить выражение

при привязке точки к чему-либо

Re: Игнорирование Z координаты при привязках

А вот в Mechanical Desktop есть такая возможность:
Assist\Drafting Settings\Ignore Z Coordinate On/Off
Sets the Z coordinate to 0.0. All points you select are projected on the current coordinate system.

Re: Игнорирование Z координаты при привязках

> Leonid
мне это надо для работы в Archtectural desktop
когда я, например, рисую балку специальным объектом на высоте  3000, и привязываюсь к колонне, то примязка идет по ее низу и балка получается на полу. Аналогично происходит и в других случаях подобного рисования. Даже если в свойствах балки стоит высота рисования - 3000. Ессенно,если я ее не привязываю, то и высота нормальная идет

Re: Игнорирование Z координаты при привязках

Однако в Architectural Desktop:
1. Можно использовать вид не в плане и с наглядностью выбирать точку привязки.
2. Можно и на виде в плане при выборе режима объектной привязки NODe пользоваться клавишей Tab для циклического выбора точек и проследить на строке состояния, какие координаты у данной точки привязки (а в изометрическом виде это еще более эффектно).

Re: Игнорирование Z координаты при привязках

2.Предложенный подход
? А привязывались только X и Y.
? следует признать нестандартным.....

Какой-же нестандартный?
Примените координатный фильтр .xy

Re: Игнорирование Z координаты при привязках

HAL - совешенно прав - режим игнорирования Z-координаты в Architectural Desktop жизненно необходим! И особенно, хотя и не только, в плане! Это какое-то варварство заставлять пользователя задумываться при вводе каждой точки куда "улетит его объект".

Можно и на виде в плане при выборе режима объектной привязки NODe пользоваться клавишей Tab для циклического выбора точек и проследить на строке состояния, какие координаты у данной точки привязки (а в изометрическом виде это еще более эффектно).
Примените координатный фильтр .xy

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

Re: Игнорирование Z координаты при привязках

> Эдуард
.xy - это не выход, если только вы не знаете, как сделать работу этого фильтра постоянной

Re: Игнорирование Z координаты при привязках

> HAL
Не очень понятно, что значит "в свойствах балки стоит высота рисования - 3000". Если балка нарисована с привязкой к нулевому уровню, то в ее свойствах Elevation будет равно 0. Если там поставить 3000, она и переместится на 3000 вверх.
Если же речь идет о параметре Rise для элемента Brace, то для него как раз можно игнорировать указанную координату z, поставив Specify rise on screen=No.
А вообще можно рисовать полилинию (при этом как раз z игнорируется) и конвертировать в балку.

Re: Игнорирование Z координаты при привязках

> Андрей С.
Еще как неигнорируется!!
1. рисуем стену или колонну высотой 3000
2. делаем высоту плоскости рисования - 2000 (evev 2000)
3. рисуем полилинию - все нормально, она на высоте 2000
4. рисуем полилинию, привязывая первую точку к стене - полилиния на отм. 0000

Re: Игнорирование Z координаты при привязках

> HAL
Правильно, какова Z первой вершины, такова и у всех остальных.
А что мешает нарисовать балки на нуле, а потом скопом поменять у всех Elevation?
Или рисовать их не в плане, а в трехмерном виде, как уже советовали?
Еще способ - повесить на кнопку такую, например, функцию, возвращающую точку с координатами XY указанной, а Z берущую из текущего Elevation

(defun z_new ()
(setvar "lastpoint" (reverse (cons (getvar "elevation") (cdr (reverse
(getpoint "\nPick point: "))))))
)

и пользоваться ей, как одноразовой привязкой, когда надо указать точку, игнорируя Z

Re: Игнорирование Z координаты при привязках

> Андрей С.
а как этим кодом пользоваться? просто прописать в действие кнопки чтоли? (я не изучал лисп)

Re: Игнорирование Z координаты при привязках

> HAL
1. Скопировать код в буфер, открыть Блокнот, вставить, сохранить как файл, к примеру, z_new.lsp.
2. В ADT меню CAD Manager->Load Application найти этот файл и нажать Load. Чтобы не загружать вручную каждый раз, нажать на кнопку под чемоданом (startup suite) и добавить этот файл в список загружаемых при запуске ADT.
3. Вместо пунктов 1 и 2 можно просто добавить этот код в начало файла adt.mnl (или acad.mnl, если загружается и стандартное меню автокада). Предварительно лучше сделать резервную копию этого файла.
4. Завести кнопку и в окошке Macro associated with this button вставить
_none;(z_new)
предварительно стерев появляющееся там по умолчанию ^C^C
5.Пользование: устанавливаем нужный Elevation. Начинаем рисовать, к примеру, полилинию:
Command: _pline
Specify start point: тут тыкаем сначала в сделанную кнопку, потом указываем точку. Полилиния начнется от точки, у которой XY указанной точки, а Z взята из Elevation.

Re: Игнорирование Z координаты при привязках

Можно просто навесить на кнопку макрос:

.XY;0.00;

и нажимать эту кнопку каждый раз, когда AutoCAD запрашивает
ввод привязываемой точки. Но конечно это не то, что надо...
Чтобы решить задачу программно, надо перехватить режим ожидания ввода точки в AutoCAD. Как это сделать - вопрос к специалистам по ObjectARX?