|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
21.12.2022, 23:41 | #1 | |
Изменение базовых точек 3D блоков в координату 0,0,0. С последующим их экспортом в разные файлы
Регистрация: 11.06.2020
Сообщений: 7
|
||
Просмотров: 1296
|
|
||||
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 333
|
Попробуйте код ниже.
Всех вставленных в чертеже, я полагаю. Соответственно, если есть такая уверенность - код подразумевает, что так оно и есть. Кроме того - у вас нет залоченных и замороженных слоев. Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Dinoxromniy, ты уверен, что твой код делает именно то, что просит ТС?
По основному вопросу : штатных средств я не знаю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Если я правильно понимаю, у тебя просто сдвигается вхождение блока. А задачка состоит немного в другом - прочитай стартовый пост
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 333
|
Не совсем - сначала в определении блока сдвигаем все примитивы на радиус вектор (который от нуля до точки вставки вхождения). Потом - да, двигаем вхождение на ту же величину с обратным знаком, чтобы вхождение заняло свое начальное положение, а точка вставки сдвинулась в ноль. Результат - точка вставки в нуле, примитивы вхождения находятся на своем изначальном месте.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
В твоем коде показано только перемещение вхождения, насколько я вижу
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 333
|
Цитата:
Это перемещения вхождения, при этом направление перемещения противоположное - в первом случае из point1 (это точка 0,0,0) в точку вставки текущего вхождения, во втором случае - наоборот. В коде два разных .move есть. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
А, да, сорян.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.06.2020
Сообщений: 7
|
Благодарю Вас, Dinoxromniy, Кулик Алексей aka kpblc за помощь. В ходе тестирования данной программы, часть блоков действительно осталась на своих местах, а часть разлетелась, Вероятно те блоки у которых выставлен поворот отличный от 0. Подскажите пожалуйста как можно учесть фактор поворота блока?
тестировал на данном файле: 3D_JunctionBoxes.dwg |
|||
|
||||
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 333
|
Ну тут вопрос - какой конечный результат требуется получить: вот текущее положение блока должно стать исходным, т.е. поворот должен стать равным 0, а точка вставки вхождения - 0,0,0 , при этом блок должен визуально выглядеть как до обработки кодом - верно?
----- добавлено через ~17 мин. ----- slav008, попробуйте так: Код:
|
|||
|
||||
Регистрация: 11.06.2020
Сообщений: 7
|
Блоки должны остаться на своих местах, поворот блоков как был до обработки кодом и визуально выглядеть как до обработки кодом
|
|||
|
||||
Регистрация: 11.06.2020
Сообщений: 7
|
Цитата:
Прошу Вас посмотреть вложение: V8335-3D_JunctionBoxes (2).dwg Можно ли не применяя манипуляции _explode к вложениям блоков решить задачу? |
|||
|
||||
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 333
|
Цитата:
Соответственно, попробуйте алгоритм ниже, вроде похоже на правду - он перепишет блоки в текущей системе координат. Насколько я вижу, у вас в файле некоторые боксы пересекаются, это так и должно быть? Код:
Добавлено: Кстати, блоки у вас вроде бы все же повторяются, есть две пары одинаковых. Последний раз редактировалось Dinoxromniy, 25.12.2022 в 13:42. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Изменение атрибутов блоков находящихся на одном слое на одном слое | AlexKey | AutoCAD | 13 | 24.08.2013 09:03 |
Поворот блоков в 3D (multirotate) | ASLYS | Программирование | 12 | 06.07.2007 16:44 |
имена точек при работе в 3D | Романчо | AutoCAD | 1 | 20.06.2006 17:05 |
В 3d orbit элементы модели разъезжаются в разные стороны | kolbasa | AutoCAD | 5 | 04.12.2003 19:17 |