|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
18.06.2020, 01:16 | #1 | |
Получение координат polar grip
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980
|
||
Просмотров: 2216
|
|
||||
это ни разу flip или polar. это length, который к несчастью совпадает с polar. в этом случае теряется смысл динамических параметров и отследить ручки, коодинаты котрых можно вытащить из описания блока и допустим изменить в соответствии с транчформациями блока, становится нереальным. панацея - разнести динамические параметры.
|
||||
|
||||
skkkk, да лисп. В данном случае конечная цель разделить блок на 2 по указанной точке (аналог _break для дин блока). Если точку указывать по длине блока то такой лисп написать нетрудно. Но я бы хотел иметь возможность указать точку разрыва и вне линии. Для этого нужны координаты условно соответствующие началу и концу. Начало = XY позиции блока. Конец = XY ручки polar параметра.
__________________
Блог |
||||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Любопытно, как ты такого добился, что оба блока в файле имеют одни и те же (нулевые) значения: как Rotate самого блока, так и параметра Angle1, - хотя при этом блоки перпендикулярны? Похоже, без эксперта тут не обойтись...))
А есть сакральный смысл в том, что у тебя прямоугольники "схлопнуты" до прямых? Это для упрощения в качестве примера? Верно ли я понимаю, что ты хочешь добиться в общем случае разделения одного прямоугольника на два, длинна которых в сумме будет равна исходному? И граница этих двух будет в точке, которую ты укажешь? Из успешных попыток найти координаты ручек мне вспомнилась только эта. Раз уж тут тема про определение координат ручек блока, добавлю сюда код. Он создает командный реактор, который при растяжении объекта ручками (скрыто выполняется команда GRIP_STRETCH), создает точку с координатами из переменной LASTPOINT. Код:
В контексте данного топика этот код мог бы быть полезен, если по задумке эти блоки расставляются вручную, точнее, вручную ставится положение квадратного грипа. Что, вероятно, так и есть. Тогда в коде callback функции можно прописать условие: если юзер дёрнул грип именно вхождения блока с этим именем, то в расширенные данные (или словарь) вхождения записывается эта точка. После, при вызове условной команды BREAK_BLOCK_AT_POINT читаются эти данные и производятся дальнейшие нужные действия. P.S.: Правда, есть подозрение (но это не точно), что при дёргании грипов любых объектов будет происходить небольшое, но подвисание. Которое может раздражать. Последний раз редактировалось skkkk, 19.06.2020 в 23:06. Причина: P.S. |
|||
|
|||||
Цитата:
Цитата:
Цитата:
Вот как работает мой предварительный лисп. Если точку указать на линии блока все работает нормально. Намеревался усовершенствовать его добавив проецирование любой точки на линию блока. Цитата:
Похоже мне остается как вариант взорвать исходный блок и определить координаты вершин оставшейся полилинии.
__________________
Блог Последний раз редактировалось Red Nova, 21.06.2020 в 01:01. |
|||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AutoCAD Civil 3D 2016 получение отметок точек конкретных координат из существующей поверхности | IrinaO | Вертикальные решения на базе AutoCAD | 5 | 31.03.2016 14:47 |
ObjectARX AcEdJig получение координат | Константин Селикатов | Программирование | 3 | 04.09.2013 02:20 |
Получение координат выделенного объекта | НовичOK | Программирование | 3 | 05.11.2010 14:26 |
Получение координат примитивов в Регионе (AcadRegion), C# | AkaPaul | Программирование | 6 | 14.05.2010 22:22 |
Получение текстового массива координат точек. | Камыч | AutoCAD | 5 | 30.07.2007 12:28 |