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

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

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

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

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

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

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

Переход в локальную систему координат

Автор antigrav, 09.05.25, 17:35:01

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

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

Валерий Изранов

Мне кажется сообщение от antigrav недопустимо велико.
Сообщение подрезать надо бы.

antigrav

Цитата: Валерий Изранов от 11.05.25, 08:14:06Мне кажется сообщение от antigrav недопустимо велико.
Сообщение подрезать надо бы.

Как это интерпретировать? Недопустимо по правилам форума?

antigrav

Цитата: Vi2 от 10.05.25, 22:28:44Есть такой файл SDK\Include\LMathUtil3D.h, который позволяет получать объекты с3д по интерфейсам.

// Экспортный номер - 20   kAPI3D5.dll
//-----------------------------------------------------------------------------
// Получить указатель на математический объект из объекта API.
// ---
MbRefItem * LIB_FUNC ksGetMathFromAPI( LPUNKNOWN pObj, long iObj );

А как эту информацию можно применить в Delphi?

antigrav

Цитата: Vi2 от 11.05.25, 01:46:01Интерфейс IAuxiliaryGeomContainer
Интерфейс контейнера объектов вспомогательной геометрии.

SplinesOnSurfaces - Интерфейс коллекции сплайнов на поверхностях

PS
HRESULT TransferObjects( VARIANT objects, ILocalCoordinateSystem * Lcs, VARIANT_BOOL holdPosition, BOOL * Result );
objects - в координатах СК IPart7 (детали?),  Lcs - нужная LCS,

Если параметр holdPosition == TRUE, то положение объекта в документе не изменяется.
Если параметр holdPosition == FALSE, то положение объекта будет задано относительно новой системы координат.

Если поэкспериментировать с holdPosition, то вроде должно сработать.

PPS
Интерфейс ILocalCSObject
Интерфейс подчиненного объекта ЛСК.
Интерфейс является дополнительным для следующих объектов:
– IPoint3D - Точка 3D,
– ISpline3D - Сплайн
Интерфейс позволяет получать и изменять параметры объектов в удобной для этого си�стеме координат. По умолчанию используется СК компонента

Может, этот интерфейс поможет проще программировать? Перенесли в ЛСК и сохранили в файл WriteToFile.


Возможно Вы правы. С вопроса о методе TransferObjects началась данная тема. Но мне так и не удалось его корректно применить, а примера использования я не нашел. Поэтому пришлось пойти другим путем.

Student2025

Цитата: antigrav от 11.05.25, 09:17:06Но мне так и не удалось его корректно применить, а примера использования я не нашел. Поэтому пришлось пойти другим путем.

Я вот исходники формирую в файлы с описанием + примеры с sdk + сам help файл разобранный на страницы и гружу все это в ИИ он может что предложит по коду - иногда он очень хорошо логику строит.

Там у ии есть ряд настроек - по которым видно что качество логики зависит от числа работающих ядер процессора - поэтому локальный ИИ нужен.

antigrav

Цитата: Student2025 от 11.05.25, 10:02:28Я вот исходники формирую в файлы с описанием + примеры с sdk + сам help файл разобранный на страницы и гружу все это в ИИ он может что предложит по коду - иногда он очень хорошо логику строит.

Там у ии есть ряд настроек - по которым видно что качество логики зависит от числа работающих ядер процессора - поэтому локальный ИИ нужен.

Ну, если ИИ что-то полезное выдаст, будет интересно посмотреть.

Student2025

Цитата: antigrav от 11.05.25, 10:32:14Ну, если ИИ что-то полезное выдаст, будет интересно посмотреть.
Скиньте в текстовом файле прям подробное описание задачи.  Прям все до мельчайшей детали нужно написать постановку задачи. У меня сейчас действует премиум на аккаунте так что ответы должны быть лучше.

antigrav

Цитата: Student2025 от 11.05.25, 10:42:40Скиньте в текстовом файле прям подробное описание задачи.  Прям все до мельчайшей детали нужно написать постановку задачи. У меня сейчас действует премиум на аккаунте так что ответы должны быть лучше.

Описание задачи было в первом посте данной темы. Для себя считаю эту задачу решенной. Теперь другими нужно заниматься. )

Student2025

Цитата: antigrav от 11.05.25, 10:53:57Теперь другими нужно заниматься. )

Вам виднее, если что потом будет время скинете ради интереса. На Pascale я не силен так что будут возможно больше вопросов.

Vi2

Цитата: antigravА как эту информацию можно применить в Delphi?
Не в курсе, С3Д написана на С++. Я больше для Lemieux привёл информацию.

Цитата: antigravС вопроса о методе TransferObjects началась данная тема. Но мне так и не удалось его корректно применить, а примера использования я не нашел. Поэтому пришлось пойти другим путем.
Нужно было свой код выложить. Раз функция есть, она работает. Сделать свою математику работы с трансформами и точками - это всегда возможный путь. Но здесь обсуждается работа с Компасом и его АПИ. Сам я с этой функцией не работал, в принципе потестировать её можно на скриптах, но пока у меня свободного времени нет.

Интерфейс ILocalCSObject
LocalCoordinateSystem - Тип параметров объекта
Примечание:
Свойство позволяет получить локальную систему координат объекта.
Если свойство возвращает NULL, объект создан в базовой СК объекта. Для переноса объ�екта в другую СК используется метод IPart7::TransferObjects.
+ Благодарностей: 1

Student2025

Цитата: Vi2 от 11.05.25, 11:12:02Раз функция есть, она работает. Сделать свою математику работы с трансформами и точками - это всегда возможный путь.

Поэтому в хелпе ценятся не сколько описание, а сколько примеры. По ILocalCSObject в примерах не чего не нашел.

Идти на "ощупь" как то только если по настроению.

Student2025

Цитата: Валерий Изранов от 11.05.25, 08:14:06Мне кажется сообщение от antigrav недопустимо велико.
Сообщение подрезать надо бы.

Я понимаю что на зарплату трудовика снеговика не прожить :0, печально когда ее еще и урезают - но зачем урезать сообщения? самоутверждаетесь ?

UU

Цитата: antigrav от 11.05.25, 08:56:54А как эту информацию можно применить в Delphi?
Легко и просто - unit LTool3D - API экспортных функций 3D.
+ Благодарностей: 1

Student2025

Цитата: UU от 11.05.25, 12:56:50Легко и просто - unit LTool3D - API экспортных функций 3D.
С этой информации понимаете, не тепло не прохладно! это и так можно было понять из того заголовочного файла.. тут примерчик для синтеза нужен.