|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
11.05.2016, 11:13 | #1 | |
LISP. Помогите получить координаты линии и текста мультивыноски(ПСК, z/=0)
Регистрация: 03.12.2015
Сообщений: 13
|
||
Просмотров: 3500
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,831
|
Вопрос номер раз: а чем flatten и его аналоги (на форуме, кстати, есть) не устраивают?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,831
|
Я почти не работал с мультивыносками, но попробуй через vla-представление с ними поиграться.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2015
Сообщений: 13
|
согласен. на днях ковырялся с вьюпортами, хотелось застрелиться.
----- добавлено через ~15 мин. ----- Цитата:
Оххх.. чувствую, от меня еще до кучи в ближайшее время будут ждать автоматический разнос накладывающихся выносок... потому и хочу разобраться с координатами. ----- добавлено через ~29 мин. ----- flatten мультивыноски тупо расчленил |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,831
|
А что, файл с такой мультивыноской является военной, государственной и коммерческой тайной одновременно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2015
Сообщений: 13
|
Цитата:
пока что решил через (vlax-invoke obj 'Move (list 0.0 0.0 z) '(0.0 0.0 0.0)) вот что накопал 110 MLeader Plane Origin Point 111 MLeader Plane X-Axis Direction 112 MLeader Plane Y-Axis Direction только как применить пока не понял |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,831
|
Ты не DXF-представление случайно смотришь?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2015
Сообщений: 13
|
не понял вопрос. ковыряю то что вернулось entget-ом. инфу по кодам 110-112 взял здесь: http://help.autodesk.com/view/ACD/20...1-9692393B0C22
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,831
|
Нда, плохо разрываться между работой и форумом
Попробуй векторное произведение групп 111 и 112 - теоретически ты получишь направление нормали плоскости, в которой была отрисована выноска. Хотя я сейчас начинаю думать, что надо будет просто получать группы 10 и обрубать у них координату Z. По полученным точкам создавать новую мультивыноску, с копированием (или новым созданием) аннотации, а старый исходник удалять. P.S. С подобной задачей ни разу не сталкивался, поэтому рецепт из разряда "пальцем в небо"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 03.12.2015
Сообщений: 13
|
спасибо, попробую позже, переключился на другую задачу.
не получается, координаты полученной точки отскакивают в сторону от ожидаемого на экране. подозреваю что когда строили мультивыноски, крутили ПСК по полилинии |
|||
|
||||
еще варианты плющилок посмотри здесь LISP. Обнуление координаты Z (аналог FLATTEN ) (пост #1 и #2) Может что-то подойдет.
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 09.10.2006
Санкт-Петербург
Сообщений: 99
|
Ну и помойка же этот ваш Multileader – в одну кучу собраны DXF-коды и для multileader, и для multileaderstyle, а там и сегменты лидера, и стиль стрелки, и стиль текста, и «собачья нога» - полка (Dogleg); и для каждого объекта – его положение, разворот, и т.д, и т.п. В ActiveX сборная солянка не лучше. Ясно, что делалось это для удобства работы в пользовательском интерфейсе – чтоб всё в одном флаконе, а отнюдь не для удобства стороннего разработчика. Разбираться в этом очень уж заморочно. Понятно, почему flatten грубо разбивает объект – нужна неслабая программулина, чтобы отследить все взаимоотношения между объектами при изменении одного параметра (не знаю, задавался ли кто-нибудь такой целью).
Что понятно: точка вставки самого multileader – это DXF-код 10 в определении leader line: Код:
В общем, не знаю, надо ли в этом копаться. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нового типа линий | Apelsinov | AutoCAD | 915 | 08.07.2022 12:36 |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Lisp. Получить координаты точек 3D тела. | Golem-iq | LISP | 9 | 06.09.2013 13:38 |
Как получить координаты вершин линии в полярной системе координат? | krusty | AutoCAD | 6 | 05.07.2011 10:16 |
Lisp, помогите с алгоритмом "подтягивания" поллиний | 2123 | LISP | 1 | 03.02.2010 23:58 |