|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Боюсь, что пока не получиться, в 2010 Autodesk, приблизился к решению этой задачи, если при указании точки для штриховки внутри контура, контур окажется не замкнутым, то он ругается и показывает предполагаемые места разрыва, которые необходимо замкнуть.
Т.е. алгоритм в принципе понят, и его можно повторить, если нет замкнутого контура, он находит все "торчащие концы" примитивов, образующих этот контур. [IMG]http://i064.***********/1003/e0/c1f9a51e142d.gif[/IMG] [IMG]http://s002.***********/i197/1003/fb/b8404ec7c5f5.gif[/IMG] [IMG]http://s54.***********/i144/1003/38/2e3602bd7eb0.gif[/IMG] [IMG]http://s006.***********/i214/1003/2d/4301db8eab14.gif[/IMG]
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
|
||||
Ну, не соглашусь, что все так безнадежно.
Для начала, игнорируем все блоки, солиды и вообще все, что не линии, дуги и 2D полилинии. Делаем из указанной точки векторы во все стороны и находим первые попавшиеся объекты в их направлении. Выбираем все точки этих объектов (ближайших) и математически выстраиваем их в последовательную ломанную. Далее селектом делаем выбор по этой ломанной. В частности все решение сводится к определению принадлежности точки к треугольнику, сегменту окружности и треугольнику, где одна сторона - дуга (правда это уже не треугольник). |
||||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
>>Ну, не соглашусь, что все так безнадежно.
Зря не соглащаешся. в общем случае задача очень сложная - часто не решаемая. тут или вводить ограничения - упрощать задачу, или искать другой подход - например сразу иметь замкнутый контур и получать из него не замкнутый путем вставки разрвов (окон, дверей и т.д.) |
|||
|
||||
Проектировщик Регистрация: 27.11.2016
Тюмнь
Сообщений: 1
|
Я как-то автоматизировал работу с однострочным текстом: выравнивание по левому краю, по правому, по центру и равномерное выравнивание текста в ячейке таблицы из линий и полилиний. Столкнулся с подобной задачей, ячейки таблиц в автокаде не всегда были замкнуты, программа работала по алгоритму:
1) запрашивала у пользователя секущей рамкой две точки, при этом пользователю необходимо было выделить всю таблицу целиком, немного захватывалось и окружающее таблицу пространство. 2) а дальше шла работа с координатами концов полилиний и отрезков попавших в набор, из них я получал примерные границы любого незамкнутого прямоугольного контура. 3) затем шла модификация координат текста, выравнивание его по вертикали с учётом размера шрифта и габарита ячейки. Думаю подобный алгоритм можно применить и тут. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Видеоуроки AutoCAD | kosmax | AutoCAD | 173 | 17.02.2017 15:08 |
как в autocad увеличить границу печатаемой области | exploer | AutoCAD | 11 | 03.10.2013 19:08 |
LISP: как узнать, AutoCAD 64-bit или 32? | VetalBY | LISP | 12 | 02.11.2010 05:40 |
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. | hwd | Баги и пожелания в Autodesk | 21 | 21.04.2010 20:27 |
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk | KSI | AutoCAD | 1 | 14.09.2009 15:59 |