• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Как по линии на ассоциированном виде выйти на свойства компонента?

Автор lavgirb, 23.10.23, 16:20:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

feron

Цитата: Nipal от 24.10.23, 19:55:37Остаётся откатится на легендарную версию 5.11.

А как это версия поможет разобраться в вопросе ?

Nipal

Цитата: feron от 24.10.23, 20:17:30А как это версия поможет разобраться в вопросе ?
Будете у истоков стоять.

feron

Цитата: Nipal от 24.10.23, 20:32:42Будете у истоков стоять.

В таком случае она должна быть чуть ли не в исходном коде.. хотя даже если и увижу его, там мне еще месяцы все рассортировать что бы понять что и как строить.

feron

Установил, просмотрел папку AppTools - нашел примеры и хелп но пока не чего не увидел по навигации в дереве чертежа. По той библиотеке которая работает с простановкой позиций - я так понял она И через спецификацию работает - как только ее обнулил библиотека сгенерировала пустые позиции. Открыл ее в редакторе библиотек - там что то много всяких расчетов ведутся но так и не увидел как она извлекает объекты и проходится по ним. Полагал что вопрос достигается только инструментами К а там все я так понял высчитывается..  :%:

lavgirb

В общем, думаю, алгоритм может быть таким. Для КОМАПАС-3D V19 )
1 Определяем reference ближайшей линии (даже не линии, а любого объекта изображения) по координатам точки в сборочном чертеже (например, конца линии-выноски).
2 Открываем сборку и последовательно исключаем из расчета детали, каждый раз проверяя reference в своей точке в чертеже.
3 Как только reference в нашей точке не совпадет с первым это и будет означать, что точка лежит на изображении последней детали, исключенной из расчета.
4 То есть мы нашли компонент сборки на котором лежит точка в чертеже, ближайшая к линии.
Это идея. Реализация, наверное, может быть разной, в зависимости от задач.

feron

Кажись так себе идея - вот получили reference линии она же образующая цилиндрической поверхности и как ее у модели потом извлечь?

Допустим - есть ЛСК у вида (вид/разрез/местный вид) получаем параметры вида и затем получаем координаты x, y, z точки что лежит внутри объекта и по этим координатам находим деталь в сборке ?

Дополнение: опять же как найти на виде третью координату ?

lavgirb

Цитата: feron от 26.10.23, 09:32:48Кажись так себе идея - вот получили reference линии она же образующая цилиндрической поверхности и как ее у модели потом извлечь?
Мне нужно решить другую задачу, изложенную выше: зная точку или линию на виде чертежа сборки определить на каком компоненте сборки она лежит.
Не думаю, что для моей задачи идея так уж и плоха. Буду пробовать. )

feron

Так я об этом и пишу:
Цитата: feron от 26.10.23, 09:32:48вот получили reference линии она же образующая цилиндрической поверхности и как ее у модели потом извлечь?

lavgirb

Цитата: feron от 26.10.23, 10:17:27Так я об этом и пишу:
Вы пишите о своем. А я свой вопрос задал в этой теме другой.
Цитата: undefinedКак по линии на ассоциированном виде выйти на свойства компонента?
Думаю, не стоит настаивать на своем, когда об никто не спрашивал.
Если есть вопрос, то лучше его задавать не в чужой теме, а в своей, в новой.
Вероятность получить квалифицированный ответ будет выше.

feron

lavgirb Вам нужно научиться изъясняться яснее.. а не спрашивать то незнамо что.. филькину грамоту развели -> да абы да кабы.

за это время уже можно было раза три наброска кода сделать ..

А то что вы предложили - это полная ХЕРЬНЯ.. (с  языка сорвалось)
такой огород городить не кому не нужно.

lavgirb

Цитата: feron от 26.10.23, 11:55:01lavgirb Вам нужно научиться изъясняться яснее.. а не спрашивать то незнамо что.. филькину грамоту развели -> да абы да кабы.

за это время уже можно было разы три наброска кода сделать ..

А то что вы предложили - это полная ХЕРЬНЯ.. (с  языка сорвалось)
такой огород городить не кому не нужно.
Кому не нужно, то сюда не пишет

feron

Цитата: lavgirb от 26.10.23, 12:24:28Кому не нужно, то сюда не пишет

оно и видно аж пальцев одной руки хватит..
скорее всего всем кому надо было - они уже мертвы в этом скоростном рынке.

на этом тему можно закрывать.

midreyk

Кстати, по линии можно получить объект спецификации - может это как-то поможет.
specification_base_objects.GetSpecificationObjectsForGeom
+ Благодарностей: 1

feron


lavgirb

Цитата: midreyk от 27.10.23, 16:19:26Кстати, по линии можно получить объект спецификации - может это как-то поможет.
specification_base_objects.GetSpecificationObjectsForGeom
Спасибо.
Но там не один объект, а массив. Как его разобрать не понятно.
Да и с объектами спецификации не очень охота связываться.

feron

Цитата: feron от 27.10.23, 18:01:56Наверно есть еще способ..

У меня в сборочном чертеже нет спецификации - там при выборе редактирование объектов - пустой лист. И в этом случае библиотека позиций работает.
НО есть в контекстном меню - 2 команды: 1) Выделить компонент 2) Выделить тело - но как к ним программно прийти не понятно - в хелпе не чего подобного не находится.


Снимок2.PNG

lavgirb

Цитата: lavgirb от 26.10.23, 08:36:36В общем, думаю, алгоритм может быть таким. Для КОМАПАС-3D V19 )
1 Определяем reference ближайшей линии (даже не линии, а любого объекта изображения) по координатам точки в сборочном чертеже (например, конца линии-выноски).
2 Открываем сборку и последовательно исключаем из расчета детали, каждый раз проверяя reference в своей точке в чертеже.
3 Как только reference в нашей точке не совпадет с первым это и будет означать, что точка лежит на изображении последней детали, исключенной из расчета.
4 То есть мы нашли компонент сборки на котором лежит точка в чертеже, ближайшая к линии.
Это идея. Реализация, наверное, может быть разной, в зависимости от задач.
Попробовал.
При исключении из расчета компонентов исключаются из расчета производные объекты, которые тоже пропадают с вида.
Это не позволит использовать предполагаемый алгоритм.

Nipal

Цитата: lavgirb от 26.10.23, 08:36:36В общем, думаю, алгоритм может быть таким. Для КОМАПАС-3D V19 )
1 Определяем reference ближайшей линии (даже не линии, а любого объекта изображения) по координатам точки в сборочном чертеже (например, конца линии-выноски).
2 Открываем сборку и последовательно исключаем из расчета детали, каждый раз проверяя reference в своей точке в чертеже.
3 Как только reference в нашей точке не совпадет с первым это и будет означать, что точка лежит на изображении последней детали, исключенной из расчета.
4 То есть мы нашли компонент сборки на котором лежит точка в чертеже, ближайшая к линии.
Это идея. Реализация, наверное, может быть разной, в зависимости от задач.
Всё проще.
Думаю, оптимальный вариант - ExecuteKompasCommand.
PS. Но команды не документированы.

lavgirb

Цитата: Nipal от 02.11.23, 10:13:21Всё проще.
Думаю, оптимальный вариант - ExecuteKompasCommand.
PS. Но команды не документированы.
На нет и суда нет )

Нам установили V22. Там эта проблема отпала, надеюсь.
Вероятно, в нем ссылка в номере позиции на полке линии-выноски как-то указывает на номер позиции в атрибуте "Позиция" компонента.
Проставил на сборочном чертеже номера позиций.
Потом программно поменял их в "Позиции" у компонентов в сборке.
На сборочном чертеже номера позиций поменялись в соответствии со сделанными изменениями. Прикольно )

Процесс пошел не от чертежа к свойствам компонента сборки, а от компонента сборки к чертежу.
Но главное результат: номера позиций в спецификации Excel соответствуют номерам позиций в сборочном чертеже КОМПАС.
Без дополнительных усилий со стороны конструктора.

Nipal

Цитата: lavgirb от 02.11.23, 13:04:22На нет и суда нет )

Нам установили V22. Там эта проблема отпала, надеюсь.
Вероятно, в нем ссылка в номере позиции на полке линии-выноски как-то указывает на номер позиции в атрибуте "Позиция" компонента.
Проставил на сборочном чертеже номера позиций.
Потом программно поменял их в "Позиции" у компонентов в сборке.
На сборочном чертеже номера позиций поменялись в соответствии со сделанными изменениями. Прикольно )
Удачи.
+ Благодарностей: 1