Как измерить угол в нанокаде
Лента: Главная, Оформление – Выноски – Универсальная выноска
Меню: Черчение – Выноска > Универсальная выноска…
Панель: Утилиты –
Командная строка: УНВ, УНВЫНОСКА (NOTE)
Команда открывает диалоговое окно Универсальная выноска для задания параметров выноски:
Кнопки добавления/удаления полей ввода текста и добавления границы:
Добавление строки поля ввода текста.
Удаление строки поля ввода текста.
Создание простой выноски.
Создание многострочной выноски.
Кнопки выбора типа стрелки линии-выноски:
Кнопки выбора выравнивания текста на полке выноски:
По левому краю полки.
По центру полки.
По правому краю полки.
Кнопка Вставить спецсимвол открывает диалог с таблицей специальных символов для их выбора и вставки в текущую позицию курсора в полях ввода текста.
Кнопка Записная книжка открывает диалог Записная книжка .
Кнопка Копирование свойств временно закрывает диалог для указания уже вставленной выноски, свойства которой нужно скопировать для назначения вновь создаваемой.
Кнопка Добавить линию-выноску предназначена для вставки дополнительных линий-выносок. Кнопка становится активной при редактировании уже вставленной в чертёж позиционной выноски.
Щелчок правой кнопки мыши в поле ввода текста открывает контекстное меню, в котором доступны дополнительные команды:
История – содержит перечень последних введенных текстовых строк.
Часто используемые – является списком, настраиваемым пользователем. Набрав нужный текст выноски, можно добавить его в список часто используемых для последующего быстрого обращения к нему.
Шаблоны – подключает шаблоны.
Поиск в Norma CS – обращается к Norma CS.
Добавить строку – добавляет строку к тексту выноски (в диалоговом окне появляется поле для новой строки).
Удалить строку – убирает строку.
Верхний индекс – вставляет верхний индекс.
Нижний индекс – вставляет нижний индекс.
Вставить дробь – вставляет дробный текст.
Взять с чертежа – позволяет выбрать текст или значение в текущем чертеже.
Внедрить объект. – вставляет объект чертежа вместо текста выноски.
Создать гиперссылку. – создает гиперссылку.
Символы – вставляет стандартный символ (градус, уклон и т. п.) или любой символ из таблицы символов ОС.
Отменить – отменяет последнее действие.
Вырезать , Копировать , Вставить – стандартные операции с использованием буфера ОС.
Удалить – удаляет текст из поля ввода.
Выделить все – выделяет весь текст в поле ввода (например, для замены).
Команда контекстного меню Взять с чертежа открывает диалог Выбор значения , позволяющий скопировать значения с объектов чертежа:
Измерить расстояние (Z) – взять с чертежа линейный или диаметральный геометрический размер. Команда может быть вызвана нажатием клавиши Z .
Измерить угол (Х) – взять с чертежа угловой размер. Команда может быть вызвана нажатием клавиши Х .
Вычислить периметр или длину траектории (С) – взять с чертежа значение периметра замкнутой линии или длину ломанной. Команда может быть вызвана нажатием клавиши С .
Вычислить площадь (V) – взять на чертеже значение площади замкнутого контура. Команда может быть вызвана нажатием клавиши V .
Составная площадь(Shift+V) – взять на чертеже значение нескольких площадей замкнутого контура.
Калькулятор (M) – вычислить числовое значение с помощью встроенного калькулятора nanoCAD.
Записная книжка (,) – вставить текстовую информацию из записной книжки.
Взять из свойства (В) – взять значения параметров стандартной детали базы данных nanoCAD. Параметр вставляется с сохранением динамической связи с объектом. При изменении параметра детали изменяется строка в поле ввода.
Примечание: Для вставки статического текста удерживайте CTRL во время выбора параметра.
Взять текст с объекта (N) – взять текст с объекта чертежа.
Отмена – отказ от команды и возврат к предыдущему меню.
Для создания универсальной выноски:
1. Ввести в текстовых полях нужный текст.
2. Выбрать необходимые параметры выноски.
3. Нажать кнопку ОК .
4. Задать точку на объекте, в которую будет направлена стрелка выноски.
5. В командной строке и контекстном меню доступны опции переключения типа стрелки линии-выноски:
Ничего – без стрелки.
Стрелка – со стрелкой.
Точка – с точкой.
6. Выбрать опцию и/или задать место размещения на чертеже полки выноски.
Определение угла между отрезками
Здравствуйте!
Есть в АвтоЛИСПе функция «DISTANCE». Для которой в АвтоКАДе есть аналогичная команда «_Dist». Так же с помощью АвтоКАДа можно определить угол между двумя прямыми с помощью команды «_Dimangular». Но есть ли в АвтоЛИСПе аналог этой команды?
P.S.: Функция «ANGLE» — не очень удобная.
Сообщений: 2335 Баллов: 2411 Регистрация: 09.03.2007
07.04.2008 12:52:56
Цитата |
---|
Mazai пишет: . с помощью АвтоКАДа можно определить угол между двумя прямыми с помощью команды «_Dimangular». Но есть ли в АвтоЛИСПе аналог этой команды? |
Аналог команды _Dimangular есть, но это же не то, она служит для нанесения размеров.
Просто можно написать свою функцию, которая на входе получает 2 отрезка, а на выходе возвращает угол.
Никогда не говори никогда.
07.04.2008 13:26:35
Думал, что просто есть аналог, вот и спросил. А так — действительно придёться нацарапать свою маленькую функцию.
Сообщений: 772 Баллов: 772 Регистрация: 05.05.2004
07.04.2008 16:36:35
Цитата |
---|
Mazai пишет: Думал, что просто есть аналог, вот и спросил. А так — действительно придёться нацарапать свою маленькую функцию. |
Можно применить одну из функций Калькулятора. Синтаксис следующий —
(command «cal» «a=ang(end,end,end)»)
end — обозначение привязки конточка.
08.04.2008 09:52:39
Попробовал написать это в командной строе, получил ответ:
«Используйте ANG(v), ANG(p1,p2), ANG(apex,p1,p2), ANG(apex,p1,p2,p)»
«p1, p2» — точки,
«v» — вектор,
а что значит «apex»?
Интересно как расшифровать последний вариант «ANG(apex,p1,p2,p)» ?
Сообщений: 2335 Баллов: 2411 Регистрация: 09.03.2007
08.04.2008 10:28:22
Цитата |
---|
Mazai пишет: Интересно как расшифровать последний вариант «ANG(apex,p1,p2,p)» ? |
ang(вершина,p1,p2,p)
Определение угла между отрезками (вершина,p1) и (вершина,p2). . отрезки считаются трехмерными. Последний параметр, точка p, используется для задания ориентации угла. Угол измеряется против часовой стрелки относительно оси, направленной из точки вершина в точку p.
Прикрепленные файлы
Никогда не говори никогда.
08.04.2008 11:16:38
Цитата |
---|
Алексей Романов пишет: нужно вычислить разницу. |
Разницу вычислить — не всегда удачное решение.
Отрезки рисуются по двум точкам — эти точки — задают вектор, по которому высчитывается угол к оси X. Таким образом, если рисовать отрезок из т1 в т2 — угол будет иметь одну величину, а если мы отрезок переориентируем и нарисуем его сперва из т2 в т1 (направим вектор в другуй сторону), то угол будет иметь другое значение. Хотя на вид — отрезок как был нарисован в одном месте, так и остался.
На чертеже визуально не понятно — из какой в какую точку направлен отрезок. И вычислить угол между двумя такими отрезками можно, но результат не всегда получаеться таким, каким ты его ожидаешь увидеть, потому что всё зависит от того, как были нарисованы отрезки. Вот я и задумался — как сделать так — что бы угол определялся именно по тому «обходу» который «визуально » понятен (бралось внутреннее значение угла).
Сообщений: 772 Баллов: 772 Регистрация: 05.05.2004
08.04.2008 11:37:10
Cинтаксис (command «cal» «a=ang(end,end,end)») для англ. версии. В русской cal меняется на кальк.
Вариант функции ang (apex, p1, p2, p) необходим для задания правой системы координат в трехмерном пространстве.
Вариант ang(apex, p1,p2) для плоскости.
К сожалению, хорошая документация по калькулятору была только в 12 версии.
Сообщений: 2335 Баллов: 2411 Регистрация: 09.03.2007
08.04.2008 13:20:17
Цитата |
---|
Mazai пишет: И вычислить угол между двумя такими отрезками можно, но результат не всегда получаеться таким, каким ты его ожидаешь увидеть, потому что всё зависит от того, как были нарисованы отрезки. Вот я и задумался — как сделать так — что бы угол определялся именно по тому «обходу» который «визуально » понятен (бралось внутреннее значение угла). |
Конечно, полученный угол функция должна оценить и принять соответствующий алгоритм вычислений (а не просто вычислить разницу), это у меня работало. Здесь есть другой момент, когда отрезки физически не пересекаются, тут все понятно, а когда они пересекаются, то получается 2 угла. У меня отрезки выбирал пользователь, поэтому я просто в функцию дополнительно передавал точки указания, которые однозначно указывают на нужный угол.
Никогда не говори никогда.
09.04.2008 09:13:48
Вот я написал небольшого монстрика, который по выбранным отрезкам (по их меткам), определяя их точки начала и конца, и ещё по точке пересечения прямых этих отрезков может определить внутренний угол. Кому надо — можете пользоваться
;|=========================================================
* Определение угла между двумя отрезками
* Параметры вызова:
Line1 метка линии 1 на чертеже
Line2 метка линии 2 на чертеже
|;
(defun Ang_Between_Line
(Line1 Line2 / Ang obj_Line1 obj_Line2 ptStart1 ptStart2 ptEnd1 ptEnd2 Angel_1 Angel_2)
(setq obj_Line1 (vlax-ename->vla-object (handent Line1))
obj_Line2 (vlax-ename->vla-object (handent Line2))
);_end setq
(setq ptStart1 (vlax-safearray->list
(vlax-variant-value
(vla-get-StartPoint obj_Line1)))
ptEnd1 (vlax-safearray->list
(vlax-variant-value
(vla-get-EndPoint obj_Line1)))
ptStart2 (vlax-safearray->list
(vlax-variant-value
(vla-get-StartPoint obj_Line2)))
ptEnd2 (vlax-safearray->list
(vlax-variant-value
(vla-get-EndPoint obj_Line2)))
);_ end setq
(cond ((equal PtStart1 ptStart2)
(setq PtInters PtStart1)
(setq Angel_1 (angle PtEnd1 PtInters)
Angel_2 (angle PtEnd2 PtInters))
) ;_ end cond 1
((equal PtStart1 ptEnd2)
(setq PtInters PtStart1)
(setq Angel_1 (angle PtEnd1 PtInters)
Angel_2 (angle PtStart2 PtInters))
) ;_ end cond 2
((equal PtEnd1 ptStart2)
(setq PtInters PtEnd1)
(setq Angel_1 (angle PtStart1 PtInters)
Angel_2 (angle PtEnd2 PtInters))
) ;_ end cond 3
((equal PtEnd1 ptEnd2)
(setq PtInters PtEnd1)
(setq Angel_1 (angle PtStart1 PtInters)
Angel_2 (angle PtStart2 PtInters))
) ;_ end cond 4
(T
(if
(setq PtInters (inters PtStart1 PtEnd1 ptStart2 PtEnd2 nil))
(setq Angel_1 (angle PtStart1 PtInters)
Angel_2 (angle PtStart2 PtInters))
(setq Angel_1 0
Angel_2 0)
);_ end if
);_ end cond 5
) ;_ end COND
(setq Ang (abs (- Angel_1 Angel_2)))
(if (> Ang Pi)
(setq Ang (- (* 2 Pi) Ang))
);_ end if
Ang
);_ end defun
Измерение угла (Страница 1 из 2)
Друзья! Почему нет функции измерения углов (мне нужно измерить угол между двумя прямыми)? В худшем случае точка пересечения находится в далекой галлактике (угол между прямыми около 0град)
Расстояние -есть, площадь объем -тоже есть, а угла нет.
Мне говорят что можно угловым размером найти угол между двумя прямыми, но это я и сам знаю.
#2 Ответ от kma 10 июля 2008г. 10:19:38
Re: Измерение угла
при измерении угла двух прямых в ком. строке будет написан угол :), если ты это хотел узнать
#3 Ответ от rocker 10 июля 2008г. 10:27:51
Re: Измерение угла
> kma
Если я не ошибаюсь, то значение угла в ком. строке будет выведено после выбора опции Text.
#4 Ответ от kma 10 июля 2008г. 10:31:40
Re: Измерение угла
выделил одну прямую, потом вторую, и в ком. строке получишь текст с углом
#5 Ответ от rocker 10 июля 2008г. 10:42:41
Re: Измерение угла
> kma
Все правильно, спасибо, так в классическом ACAD-e.
#6 Ответ от Михайлов Юрий 10 июля 2008г. 11:27:08
Re: Измерение угла
Я конечно дико извиняюсь, но меня наверное не поняли. Я не понял что значит «при измерении угла двух прямых» где это найти.
2. непонятно как у тебя такое происходит «выделил одну прямую, потом вторую, и в ком. строке получишь текст с углом»
У меня 2007, может в нем этого нет?
3. Речь идет о панели INQUIRY.
#7 Ответ от Hrenn 10 июля 2008г. 11:33:19
Re: Измерение угла
на это требуется лиспик составить. всего-то и делов.
#8 Ответ от Михайлов Юрий 10 июля 2008г. 11:46:15
Re: Измерение угла
> Hrenn
Я не умею. Как это сделать?
Помогите кто может, кто может-помогите.
#9 Ответ от VVA 10 июля 2008г. 15:07:40
Re: Измерение угла
#10 Ответ от Atol 10 июля 2008г. 15:15:26
Re: Измерение угла
> Михайлов Юрий
А чем тебе команда простановки Углового размера не нравиться?
#11 Ответ от Михайлов Юрий 11 июля 2008г. 10:04:52
Re: Измерение угла
> Толстов Евгений (Atol)
У меня встречное предложение: Предлагаю разработчику AUTODESK убрать панель INQUIRY. 1.Расстояние измерять с помощью линейного размера.
2. Площадь, объем, вес измерять с помощью мат. и геом.формул и калькулятора.
3. Координаты точек — с помощью миллиметровой бумаги.
#12 Ответ от Михайлов Юрий 11 июля 2008г. 10:08:20
Re: Измерение угла
Коллеги! Я добрые люди написали код!Спасибо большое. Преклоняюсь перед Вашими знаниями.
Я так подумал, что если хорошо знать ЛИСП, то можно понасоздавать себе комманд очень полезных, например, построение касательных окружностей, дут ( с заданием нужного радиуса), прямых, да так чтобы и фантомы отрисовывало.
Я в Автокаде 2-й год, но все равно, сложную геометрию с сопряжениями, переходами рисую в КОМПАСЕ v8. А там функционал примитивов больше. Я до этого 7 лет в Компасе на заводе «зоря»-«машпроект» отработал.
С уважением, Михайлов Юра, 29 лет, ООО «Николаевкоммундорпоект» , г.Николаев, Украина.
#13 Ответ от LeonidSN 11 июля 2008г. 11:59:27
Re: Измерение угла
> Михайлов Юрий
Может не стоит так уж наезжать на AUTODESK по этому поводу?
Мне и моим коллегам, например, обычно хватает команды _dimangular для определения угла между двумя прямыми. Если очень хочется использовать панель INQUIRY, то там есть команда _list, которая дает угол для одной прямой. Измерь обе и посчитай разницу.
То что ты предлагаешь, есть улучшение или расширение возможностей AutoCAD, но не повод для его критики.
В работе AUTODESK есть немало реальных недостатков, найди их и выскажись.
#14 Ответ от Vova 11 июля 2008г. 18:23:54
Re: Измерение угла
при измерении угла двух прямых в ком. строке будет написан угол :), если ты это хотел узнать
выделил одну прямую, потом вторую, и в ком. строке получишь текст с углом
Поясни, как это делается
LeonidSN пишет:
. _dimangular для определения угла между двумя прямыми. Если очень хочется использовать панель INQUIRY, то там есть команда _list, которая дает угол для одной прямой. Измерь обе и посчитай разницу
Не надо забывать, что по умолчания команда считает угол с точностьп до целого градуса. (тогда как линейный размер считает до 4-го знака). Мы на этом чуть не поимели большие убытки, так как исполнитель этого не знал. По команде List. Угол зависит от направления, в котором были сделаны линии. Так что этот способ без математики не катит.
Вот этим я пользуюсь много лет
; File: ABL.LSP, Angle Between Two Lines (defun C:ABL () (setvar "cmdecho" 0) (defun *error* (msg) (princ "error : ") (princ msg) (terpri) ) (setq L1 (entsel "\nFor Angle Between Lines:-- Select First Line: ") LW1 (entget (car L1)) P11 (cdr (assoc 10 LW1)) P21 (cdr (assoc 11 LW1)) W1 (angle P11 P21) L2 (entsel "\nSelect Second Line: ") LW2 (entget (car L2)) P12 (cdr (assoc 10 LW2)) P22 (cdr (assoc 11 LW2)) W2 (angle P12 P22) W (abs (- W1 W2))) (if (> W pi)(setq W (- W pi))) (setq W (* W (/ 180 pi)) WC (- 180 W) A (min W WC) C (max W WC)) (prompt " Angle is = ") (prompt (rtos A 2 4)) (prompt " ** 180 - Angle is = ") (prompt (rtos C 2 4)) (princ) )
Как начертить линию с заданным углом наклона?
Почему-то программа не ставит линию под углом, который я задаю. Это проблема настроек или просто глюк? Возможно я что-то не так делаю, подскажите, пожалуйста, как верно задавать угол?
Просмотров: 140044
Регистрация: 14.02.2008
Сообщений: 158
Сообщение от evsu
Почему-то программа не ставит линию под углом, который я задаю. Это проблема настроек или просто глюк? Возможно я что-то не так делаю, подскажите, пожалуйста, как верно задавать угол?
А как Вы чертите вообще?
Используйте относительные координаты, то есть после запроса программы на указание следующей точки линии, в командной строке напечатайте: @(длина)<(Величина угла в градусах)
всё что связано с упорядоченным движением заряженных частиц
Регистрация: 27.07.2007
Сообщений: 1,693
как это рисовать линию под углом?? сначала рисуется линия, потом поворачиваешь её на нужный угол командой _.rotate (со знаком «+» против часовой стрелки, со знаком «-» по часовой). Возможно ещё у тебя включен режим ORTHO (ортогональность), выключить её можно клавишей F8 (или внизу нажать на соотв кнопку), а так чтобы сразу задавать угол линии, знаю что это возмно только с использованием макроса
Регистрация: 06.11.2008
Сообщений: 4
я ставлю первую точку затем пишу в диалоговом окне линии <(Величина угла в градусах) enter и сразу пишу длину линии
Регистрация: 06.11.2008
Сообщений: 4
Сообщение от Jоhnny
как это рисовать линию под углом??
я имею в виду задачу параметров этой линии, которые задаю ей когда ее рисую
Регистрация: 06.11.2008
Сообщений: 4
Сообщение от naftul
Используйте относительные координаты, то есть после запроса программы на указание следующей точки линии, в командной строке напечатайте: @(длина)<(Величина угла в градусах)
спасибо большое, разобралась
Регистрация: 14.02.2008
Сообщений: 158
Сообщение от evsu
я ставлю первую точку затем пишу в диалоговом окне линии <(Величина угла в градусах) enter и сразу пишу длину линии
Если под диалоговым окном Вы подразумеваете строку для ввода команд, то после запроса на координаты второй точки пишите: @(L)
Регистрация: 14.02.2008
Сообщений: 158
На здоровье!
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
Command:line
enter
pick a point
@10<45
__________________
Сквозь тернии к звездам. и обратно :yes:
Наше дело труба
Регистрация: 19.11.2006
Томск_Комсомольск-на-Амуре
Сообщений: 1,736
Сообщение от Jоhnny
как это рисовать линию под углом?? сначала рисуется линия, потом поворачиваешь её на нужный угол командой _.rotate (со знаком «+» против часовой стрелки, со знаком «-» по часовой). Возможно ещё у тебя включен режим ORTHO (ортогональность), выключить её можно клавишей F8 (или внизу нажать на соотв кнопку), а так чтобы сразу задавать угол линии, знаю что это возмно только с использованием макроса
Теперь понятно почему народ отключает DYN/ДИН, — чтобы не мелькал и не мешал линии _.rotate поворачивать. (добрая шутка)
Обидно за Автокадик.
Влючить ДИН (кнопка в строке состояния или F12)
Команда _line — указываем первую точку и отводим курсор, за ним тянется «резинка», а в окнах дин.подсказок рядом с курсором отображаются текущие значения длины Отрезка и его острый угол от 0 с любой выбраной точностью и шагом (при откл.Орто и Отс-Поляр).
Дальше можно:
— либо выбирая нужные значения длины и угла указать вторую точку ЛКМ;
— либо (точно) ввести в окнах подсказок длину отрезка и угол. Переключение между окнами с помощью ТАБ. То есть, ввел длину — ТАБ — окно закрыто на замок, ввел угол и Enter, — отрезок построен. Если вместо Enter снова нажать ТАБ — то можно опять менять длину. и так до бесконечности или Enter.
Режим ОРТО, при построении отрезков, на конечный результат не влияет, а только лишает визуализации процесса.
Если выбрать Полярную привязку, задать ее шаг и включить ШАГ, то можно строить отрезки с заданным шагом.
Таким же способом можно изменять и параметры уже построенного Отрезка и др. : активировать его крайнюю ручку ( она станет красной), переключением окон ТАБ выбрать корректируемый параметр и изменить.
Если окна ДИНввода не такие, не те, лишние или плохо выглядят, — то ПКМ на кнопке ДИН и выбрать нужные Настройки.
Ну а общий случай построения отрезка под углом (второй его точки, когда первая указана мышью) в Автокаде с клавиатуры, конечно же:
Команда: _line Первая точка:
Следующая точка или [Отменить]: @150
При этом, если в настройках ДИН выбраны Относительные координаты и ДИН включен, то @ можно не вводить.
__________________
*. И Случай, бог изобретатель. *