Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Логично было бы, чтоб зеркалился сплайн, как все остальные объекты. А он остается тот же самый даже если сдвинуть плоскость в сторону (просто перемещается). Для себя уже решил эту проблему - мне в любом случае нужны регионы. Преобразую в Region и он прекрасно зеркалит нормаль.
Вообще-то Spline - это 3D-объект (в отличии от Polyline и Region). Что ты понимаешь под его нормалью? Свойства Normal у него нет.
2
Логично было бы, чтоб зеркалился сплайн, как все остальные объекты. А он остается тот же самый даже если сдвинуть плоскость в сторону (просто перемещается). Для себя уже решил эту проблему - мне в любом случае нужны регионы. Преобразую в Region и он прекрасно зеркалит нормаль.
3
Трансформация Mirroring через plane почему-то не меняет нормаль. Хотя должна бы...
Думаешь должна? Если этот сплайн находится в этой плоскости, то отзеркаливание ничего не делает. Из спортивного интереса можешь попробовать метод ReverseCurve.
4
Указанный код работает только в плоскости XY. Требуется назначить нормаль для линии и полилинии, а полилинию еще сдвинуть на plane.PointOnPlane.
У сплайнов направление нормали может получиться противоположным к plane.Normal. Как исправить - я пока не придумал. Трансформация Mirroring через plane почему-то не меняет нормаль. Хотя должна бы...
5
Если переименовать деталь, когда сборка открыта, то тогда её заменить не выйдет, а если переименовать деталь подсборки, до открытия основной сборки, то тогда при открытии основной сборки не получится программно обойти эту подсборку ...
Вы смешиваете два процесса!
В цикле обхода дерева Вы получаете путь к подсборке! Если эта подсборка требует замены, то вы сохраняете ее по новому адресу! При этом в ней остаются старые ссылки. Нужно по условию вызвать саб(функцию) - эта операция должна быть рекурсивна ко всем элементам, входящим в эту подсборку(т.е. к деталям и другим подсборкам), который выполнит сохранение и замену имен в этой подсборке к входящим элементам. Если не требует - переходим к следующему элементу цикла
6
Обход подсборок выполняется через вызов подпрограммы, по условию.
Вот пример подобного цикла, думаю разберешься.  ;)
https://adn-cis.org/forum/index.php?topic=9999.msg44879#msg44879

Спасибо, помогли в обходе подсборок)
Переименовывание только не вышло
Если переименовать деталь, когда сборка открыта, то тогда её заменить не выйдет, а если переименовать деталь подсборки, до открытия основной сборки, то тогда при открытии основной сборки не получится программно обойти эту подсборку ... 
7
Ну и ещё одна ремарка, опять скорее не про программирование, а про использование инвертора. Если у вас узел типовой и не меняется, в чем необходимость тащить его сборку  из проекта в проект и копировать по сто раз? Можно же сделать отдельный проект-библиотеку с типовыми узлами, подключать его к проектам и использовать.

Соглашусь
Но не, для данной сборки, так как это параметрическая сборка с изменяемой геометрией
8
AutoCAD .NET API / Re: Miror и Blockreference
« Последний ответ от Валерий Ивлев 04-04-2024, 15:06:17 »
Большое спасибо за ответы!
По результату есть два приемлемых пути решения:
1 Использовать в блоке "Размер" (в этом случае изменения будут динамически отображаться) и динамиечские параметры отражения.
2 Отказаться от динамических параметров, а вместо размера использовать атрибут с полем внутри для отображения значения (в этом случае изменения увидим только после обновления поля в атрибуте).
9
AutoCAD .NET API / Re: Miror и Blockreference
« Последний ответ от Александр Ривилис 31-03-2024, 17:51:02 »
Может у старейшин есть какие-либо мысли как это решить?
Фактически тебе придется создать новый блок (BlockTableRecord) на основе существующего, в котором будут правильно отзеркаленые размеры и тексты. Не думаю что это лучше и проще, чем использовать динамический параметр отражения.
10
AutoCAD .NET API / Re: AutoCAD 2025 - переползаю на Net8
« Последний ответ от avc 29-03-2024, 15:54:34 »
Ага. Вот это я и обозвал switch-выражениями. Очень удобно. Недавно я узнал, что там можно еще и условия с or и and писать.
Код - C# [Выбрать]
  1. public int Discount =>  DiscountLevel  switch
  2.   {
  3.     1 or 2 => 5,
  4.     >= 3 and <= 10 => 10,
  5.     _ => 0
  6.   };
Вообще круто. Только надо прописать в csproj вручную такую настроечку:
Код - XML [Выбрать]
  1. <LangVersion>preview</LangVersion>
То есть майкрософт как бэ намекает, что не хочет чтоб новый синтаксис использовался в старом фреймворке.
Страницы: [1] 2 3 ... 10