Линия пересекает 3DГрань. Точка пересечения?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Линия пересекает 3DГрань. Точка пересечения?

Линия пересекает 3DГрань. Точка пересечения?

Ответ
Поиск в этой теме
Непрочитано 20.02.2007, 12:18 #1
Линия пересекает 3DГрань. Точка пересечения?
Bdod
 
Регистрация: 30.05.2006
Сообщений: 91

Всем доброго времени суток!
Нужна помощь, есть 3DГрань и линия проходящая сквозь нее, нужно найти точку пересечения, или привязаться к этой точке... как это можно сделать?
[ATTACH]1171963109.dwg[/ATTACH]
Просмотров: 10073
 
Непрочитано 20.02.2007, 12:26
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Вот
[ATTACH]1171963897.dwg[/ATTACH]
Хмурый вне форума  
 
Непрочитано 20.02.2007, 12:29
#3
Огурец

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


Уважаемый Bdod!

Я потому и не работаю с плоскостями (ну может в исключительных случаях, для формования рельефа), что постоянно возникают вопросы, которых нет и не может быть в твердотельном или каркасном проектировании. Плюньте вы на них, и делайте всё в телах.
Огурец вне форума  
 
Автор темы   Непрочитано 20.02.2007, 12:35
#4
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Огурец
Уважаемый Bdod!

Я потому и не работаю с плоскостями (ну может в исключительных случаях, для формования рельефа), что постоянно возникают вопросы, которых нет и не может быть в твердотельном или каркасном проектировании. Плюньте вы на них, и делайте всё в телах.
Уважаемый Огурец!
Я бы с превеликим удовольствием работал бы с телами, но это просто невозможно (см. мои мучения по превращению плоскостей в тело http://dwg.ru/forum/viewtopic.php?p=...ghlight=#88647)
Bdod вне форума  
 
Автор темы   Непрочитано 20.02.2007, 12:41
#5
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Хмурый
Вот
[ATTACH]1171963897.dwg[/ATTACH]
Может и так... ну и как это сделать... я так понимаю это элементарно,.. но я не знаю как?
Bdod вне форума  
 
Непрочитано 20.02.2007, 12:47
#6
Chief Justice


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


Вот один из вариантов:
В основании линии рисуем круг, перпендикулярно этой самой линии...
Выдавливаем круг с использованием линии как пути ( линия остается)...
Далее плоскостью по трем точкам существующей плоскости делим получившийся цилиндр...
Цилиндр взрываем, остается круг, центр которого и есть точка пересечения прямой с плоскостью...
Chief Justice вне форума  
 
Непрочитано 20.02.2007, 12:48
#7
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144


Я так делал с помощью доп. построения цилиндра (выдавливание по линии), а затем его Section. Центр плоскости и есть точка пересечения.
Может как то еще можно.
p.s. опередили
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума  
 
Непрочитано 20.02.2007, 12:49
#8
DY


 
Регистрация: 21.12.2006
Москва
Сообщений: 110


Из Хелпа АвтоГАДа:
Цитата:
Для определения точек пересечения служат функции ill и ilp.
ill(p1,p2,p3,p4)

Определение координат точки пересечения двух линий: (p1,p2) и (p3,p4). Все точки считаются трехмерными.
ilp(p1,p2,p3,p4,p5)

Определение координат точки пересечения линии (p1,p2) и плоскости, проходящей через три точки (p3,p4,p5).


Или я не прав? - надо только построением?
DY вне форума  
 
Непрочитано 20.02.2007, 12:50
#9
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Надо выбрать вначале стиль точки. Для чего переменную PDMODE выставить в 35 , например. Или вызвать команду '_ddptype и указать тип точки
Затем отключаем ВСЕ привязки
Вводим команду _point
Затем включаем геометрический калькуллятор Enter и на приглашение вводим выражение
Код:
[Выделить все]
ilp (cur,cur,cur,cur,cur)
Enter Указываем точки в след. последовательности Первые две точки на линии, остальные три - на плоскости. (Включать привязки через Shift+Прав. кн.)
Хмурый вне форума  
 
Автор темы   Непрочитано 20.02.2007, 12:54
#10
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


поробуемс...
Bdod вне форума  
 
Автор темы   Непрочитано 20.02.2007, 13:07
#11
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Хмурый
Надо выбрать вначале стиль точки. Для чего переменную PDMODE выставить в 35 , например. Или вызвать команду '_ddptype и указать тип точки
Затем отключаем ВСЕ привязки
Вводим команду _point
Затем включаем геометрический калькуллятор Enter и на приглашение вводим выражение
Код:
[Выделить все]
ilp (cur,cur,cur,cur,cur)
Enter Указываем точки в след. последовательности Первые две точки на линии, остальные три - на плоскости. (Включать привязки через Shift+Прав. кн.)
получилось,... тока привязки отключать не обязательно, (иначе почему то не работало, выбираешь р1, р2, а потом сбрасывает)...
Bdod вне форума  
 
Автор темы   Непрочитано 20.02.2007, 13:09
#12
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


метод хороший, а упростить его можно...
или можно ли как то настроить "привязки" пересечения линии и грани, ведь пересечение двух линий в пространстве он ловит...
Bdod вне форума  
 
Непрочитано 20.02.2007, 13:09
#13
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Смотри, если включен магнит- жди неправильных результатов
Хмурый вне форума  
 
Непрочитано 20.02.2007, 13:16
#14
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Это макрос на кнопку от Андрея С
чтобы не вводить вручную.
Код:
[Выделить все]
_non;'_cal;ilp (cur,cur,cur,cur,cur);
Хмурый вне форума  
 
Автор темы   Непрочитано 20.02.2007, 13:29
#15
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Хмурый
Это макрос на кнопку от Андрея С
чтобы не вводить вручную.
Код:
[Выделить все]
_non;'_cal;ilp (cur,cur,cur,cur,cur);
а если вот так вот
_point;'_cal;ilp (cur,cur,cur,cur,cur); - то сразу получится точка где надо

тока вот я не как не пойму почему нельзя пользоватся включенными привязками??
Bdod вне форума  
 
Непрочитано 20.02.2007, 13:38
#16
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Когда я строил точку пересечения в тврем примере- то она притянулась первый раз к середине линии. Пришлось строить повторно при отключеной привязке. Это происходит при включенной рпции притягивания к ближайшей точке привязки (см. рис.)

Макрос можно использовать в прозрачном режиме и не обязательно с точкой, а скажем с линией или полилинией или другим примитивом
[ATTACH]1171967917.jpg[/ATTACH]
Хмурый вне форума  
 
Автор темы   Непрочитано 20.02.2007, 13:51
#17
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Хмурый
Когда я строил точку пересечения в тврем примере- то она притянулась первый раз к середине линии. Пришлось строить повторно при отключеной привязке. Это происходит при включенной рпции притягивания к ближайшей точке привязки (см. рис.)

Макрос можно использовать в прозрачном режиме и не обязательно с точкой, а скажем с линией или полилинией или другим примитивом
[ATTACH]1171967917.jpg[/ATTACH]
магнит у меня был включен, точка при этом многократном повторе попадала туда куда нужно, ну раз нужно его выключить зхначит выключим...

Вопрос снимается. Всем, особенно Хмурый, огромное спасибо!
Bdod вне форума  
 
Непрочитано 20.02.2007, 16:46
#18
Андрей С.

Архитектор
 
Регистрация: 25.08.2003
Москва
Сообщений: 307


В приведенном Хмурым макросе _none стоит как раз для того, чтобы не отключать привязку при пользовании им.
Андрей С. вне форума  
 
Непрочитано 23.02.2008, 02:49
#19
T34GTS


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


А может кто привести пример простенькой программы на лиспе чтоб точки создавались на нескольких линиях в местах пересечения несколькими плоскостями?
T34GTS вне форума  
 
Непрочитано 25.10.2024, 02:05
#20
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от Хмурый Посмотреть сообщение
Код:
[Выделить все]
_non;'_cal;ilp (cur,cur,cur,cur,cur);
Это можно сделать как (command...)? В каком виде в нем нужно записать координаты точек, если они вычислены?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 25.10.2024, 12:47
#21
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


При решении данной проблемы должны помочь следующие картинки:
https://cf.ppt-online.org/files/slid...S/slide-10.jpg
https://catchsuccess.ru/wp-content/u...be3f94b3e.jpeg
https://s0.showslide.ru/s_slide/0b06...86a607ae7.jpeg
Нажмите в прилагаемом файле последовательно кнопки:
1) "Получить координаты 3 точек" эта команда задает координаты 3 точек плоскости
2) "Получить координаты точек линии" эта команда задает точки линии
Точки пересечения линии и плоскости будут находиться в таблице с названием: "Координаты точки линии на плоскости"
Внизу будет вычислено расстояние от точки до плоскости. Если это расстояние равно 0, значит координаты вычислены правильно.
Программа VBA (Офис 32) настроена на работу с AutoCAD 2013.
Что надо начертить в этой точке? Может какой-то дополнительный объект?
Вложения
Тип файла: zip Точка пересечения прямой и плоскости.zip (2.34 Мб, 6 просмотров)

Последний раз редактировалось МишаИнженер, 25.10.2024 в 13:17.
МишаИнженер вне форума  
 
Непрочитано 25.10.2024, 16:20
#22
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
При решении данной проблемы должны помочь следующие картинки:
https://cf.ppt-online.org/files/slid...S/slide-10.jpg
https://catchsuccess.ru/wp-content/u...be3f94b3e.jpeg
https://s0.showslide.ru/s_slide/0b06...86a607ae7.jpeg
Нажмите в прилагаемом файле последовательно кнопки:
1) "Получить координаты 3 точек" эта команда задает координаты 3 точек плоскости
2) "Получить координаты точек линии" эта команда задает точки линии
Точки пересечения линии и плоскости будут находиться в таблице с названием: "Координаты точки линии на плоскости"
Внизу будет вычислено расстояние от точки до плоскости. Если это расстояние равно 0, значит координаты вычислены правильно.
Программа VBA (Офис 32) настроена на работу с AutoCAD 2013.
Что надо начертить в этой точке? Может какой-то дополнительный объект?
Класс!
1. В каком виде нужно записывать вычисленные координаты точек для вызова калькулятора ilp (cur,cur,cur,cur,cur), если его вызывать в (command ...)?
2. В одной старой теме есть два соответствующих лиспа: от gile - https://forums.autodesk.com/t5/visua...746467#M291429 и от Kent1Cooper - https://forums.autodesk.com/t5/visua...747106#M291440.
С этими лиспами есть проблемы. У gile, похоже, есть ошибки, и точки, попадающие в грани, могут считаться вне. У Kent1Cooper точки на вершинах граней могут считаться не на гранях. (Выяснилось, что у Kent1Cooper делается сравнение без учета погрешностей вычисления).
---
Еще нашел решение на lisp - https://forums.autodesk.com/t5/autoc...28132#M1094570
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 27.10.2024 в 03:48.
АлексЮстасу вне форума  
 
Непрочитано 09.01.2025, 11:05
#23
виктор ермаков

геодезия делетантская
 
Регистрация: 17.05.2006
Сообщений: 3


Добрый день. Нахождение точки пересечения с помощью лисп:
(command "_.cal" "test210524=1+1"); инициализирует команду кальк, без инициализации дальнейший код может не срабатывать
(setq pt1 (getpoint);первая точка отрезка пересекающего 3д грань
pt2 (getpoint);вторая точка отрезка пересекающего 3д грань
pt3 (getpoint);первая точка 3д грани
pt4 (getpoint);вторая точка 3д грани
pt5 (getpoint);третья точка 3д грани
)
(C:CAL "p6=ilp(pt1,pt2,pt3,pt4,pt5)")
(setq pt_int p6)
виктор ермаков вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Линия пересекает 3DГрань. Точка пересечения?