|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Фиксация точки перемещения посередине растягиваемой линии
Регистрация: 19.06.2012
Сообщений: 95
|
||
Просмотров: 1530
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Ты блок свой приложи.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
ПОС наше всё Регистрация: 06.08.2009
Симферополь
Сообщений: 260
|
Я вмешаюсь, блок не открывал, но чую что вторая операция перемещает точечный параметр с коэффициентом расстояния 0,5
__________________
Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица |
|||
![]() |
|
||||
Регистрация: 19.06.2012
Сообщений: 95
|
Цитата:
Насколько я понял в примере растягивание организовано по-другому. Добавлен параметр "линейный" и 2 операции растягивания в одну сторону и в другую. Это все понятно. Меня же интересовало, как точка, при помощи которой осуществляется перемещение данного блока, всегда была посередине полилинии. Я так и не понял . |
|||
![]() |
|
||||
Регистрация: 28.11.2022
Сообщений: 139
|
При использовании зависимости вслед за перемещением ручки точечный параметр перемещаться не будет. Стоит использовать либо только параметры, либо только зависимости. Есть частные случаи работоспособных комбинаций использования параметров и зависимостей одновременно, но подобное перемещение не из их числа.
|
|||
![]() |
|
||||
Регистрация: 28.11.2022
Сообщений: 139
|
Ну раз в примере работает, а в создаваемом блоке нет - значит что-то отличается. Без файла сложно сказать, что именно.
Растяжения применяются к линии (отдельно для правой и левой части, если параметр двусторонний). Перемещение применяется к точечному параметру с коэффициентом 0,5. Цепочка операций должна быть выключена, иначе при перемещении точечного параметра к центру он потянет за собой геометрию. |
|||
![]() |
|
||||
Регистрация: 19.06.2012
Сообщений: 95
|
Цитата:
Разобрался. Одна операция перемещения применяется к одной крайней точке линейного параметра, а в качестве объекта необходимо выбрать базовую точку, расположенную в центре полилинии (я же упорно в качестве объекта выбирал саму полилинию). Применяем к этому перемещению коэффициент 0.5. Вторая операция перемещения применяется к противоположной крайней точке линейного параметра, а в качестве объекта снова выбираем базовую точку, расположенную в центре полилинии. И также коэффициент 0.5. Вот после этого все заработало. Спасибо форумчанину gumel за решение. ----- добавлено через ~34 мин. ----- Коллеги, хочу добавить в блоке, который выложил gumel, пользовательскую переменную, которая будет всегда равна длине полилинии. Подскажите, как это лучше сделать? Наложил линейную зависимость на полилинию и эту линейную зависимость прописал в переменную. Нормальное растягивание полилинии с сохранением базовой точки в середине, сразу же перестало работать. Создал скрытый атрибут, в который добавил поле, которое привязал к размеру полилинии. Это работает, но чтобы атрибут всегда показывал реальный размер полилинии, необходимо после каждого изменения длины обновлять поля, что неудобно. Что еще можно попробовать? |
|||
![]() |
|
||||
сборщик спецификации не работает с дин. свойствами?
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 480
|
|
|||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 480
|
Что такое точечный параметр и зачем к концу?
|
|||
![]() |
|
||||
Регистрация: 28.11.2022
Сообщений: 139
|
В том-то и проблема, что параметры никак нельзя привязать к геометрии. Можно только перемещать их вместе с геометрией при помощи других параметров, создавая иллюзию связанности. Даже если объединить их в группу с геометрией - зависимость будет перемещать только тот объект из группы, к которой она привязана.
|
|||
![]() |
|
||||
Регистрация: 19.06.2012
Сообщений: 95
|
Поле я сделал - мне не нравится постоянное ручное обновление полей. Я наверное вообще откажусь от этой злополучной точки. Мне точка нужна по сути, чтобы за нее можно было схватить этот блок и свободно перемещать его по чертежу. По большому счету, перемещать его можно и стандартными средствами автокада (переместить).
|
|||
![]() |
|
||||
Регистрация: 19.06.2012
Сообщений: 95
|
Это если мы все оставляем, как есть. То есть длину полилинии делаем через поле, которое нужно обновлять вручную каждый раз после изменения длины полилинии. Если же я хочу , чтобы длина сразу обновлялась в определении блока, то придется это делать через пользовательский параметр и геометрическую зависимость. Тогда перестанет работать "точка всегда посередине полилинии".
|
|||
![]() |
|
||||
Регистрация: 19.06.2012
Сообщений: 95
|
Необходимо растягивать линию за 2 ручки в разные стороны. При этом точка, за которую блок можно таскать, всегда должна быть посередине. При этом в пользовательском параметре или атрибуте должна присутствовать актуальная длина полилинии (не через поле).
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Civil 3D 2017. Не подсвечивает точки структурной линии при редактировании. | Gedezuk5 | Вертикальные решения на базе AutoCAD | 3 | вчера 18:18 |
Аutocad. Разбираемся как сделан такой нестандартный тип линии? | abumas | AutoCAD | 32 | 09.01.2024 21:10 |
AutoCad Civil 3D 2018 Почему появляются промежуточные точки на характерной линии? | Игорь66 | Вертикальные решения на базе AutoCAD | 8 | 29.06.2018 08:25 |
Несплошные линии, X-refы и... задача | Vova | AutoCAD | 6 | 20.04.2018 16:14 |
Невидимые линии , точки в Autocad 2007 | xzotx | AutoCAD | 3 | 14.09.2011 11:43 |