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

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

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

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

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

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

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

Создание очертаний

Автор Chipchilinka_1, 03.02.24, 09:06:53

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

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

Chipchilinka_1

Возможно ли создание программно в компасе очертаний 3d объекта перед его построением ?
Как например для операций выдавливания или других операций

Nipal

#1
Можно, нужно использовать функцию обратной связи для отрисовки фантома.
PS. Приложение должно быть Dll(Rtw).

Chipchilinka_1

Цитата: Nipal от 03.02.24, 10:39:26Можно, нужно использовать функцию обратной связи для отрисовки фантома.
PS. Приложение должно быть Dll(Rtw).
То есть на питоне как обычно реализации нет?)

Chipchilinka_1

Цитата: Nipal от 03.02.24, 10:39:26Можно, нужно использовать функцию обратной связи для отрисовки фантома.
PS. Приложение должно быть Dll(Rtw).
А где можно поподробней почитать про эту функцию


Михаил88

На питоне тоже можно сделать. На форуме есть примеры, но придётся поразбираться.

Chipchilinka_1

Цитата: Михаил88 от 03.02.24, 20:10:41На питоне тоже можно сделать. На форуме есть примеры, но придётся поразбираться.
Можно ссылочку

Slaviation

+ Благодарностей: 1

Chipchilinka_1

Цитата: Slaviation от 04.02.24, 19:13:44Добрый день.
http://forum.ascon.ru/index.php/topic,31276.0.html
А это я видел ,там же 2d и причем api 5 ,есть ли возможность на api 7 ?

Михаил88

Цитата: Chipchilinka_1 от 04.02.24, 19:32:27А это я видел ,там же 2d и причем api 5 ,есть ли возможность на api 7 ?

Я этим примером и пользовался, просто переписал на 3D.

Chipchilinka_1

Цитата: Михаил88 от 05.02.24, 06:41:41Я этим примером и пользовался, просто переписал на 3D.
Если не жалко поделитесь кодом

Михаил88

я его скидывал на форум

https://forum.ascon.ru/index.php?topic=36957.0
#9
Здесь посмотрите.
+ Благодарностей: 1

Nipal

Цитата: Chipchilinka_1 от 05.02.24, 11:29:06Если не жалко поделитесь кодом
Не умеете Вы форумом пользоваться, все вам должны.

Chipchilinka_1

Цитата: Михаил88 от 05.02.24, 12:22:43я его скидывал на форум

https://forum.ascon.ru/index.php?topic=36957.0
#9
Здесь посмотрите.
А есть ли возможность написать все это на api7?

Chipchilinka_1

Цитата: Михаил88 от 05.02.24, 12:22:43я его скидывал на форум

https://forum.ascon.ru/index.php?topic=36957.0
#9
Здесь посмотрите.
iPart = iDocument3D.GetPart(kompas6_constants_3d.pTop_Part)
    obj = iPart.NewEntity(kompas6_constants_3d.o3d_bossExtrusion)
    iDefinition = obj.GetDefinition()
    iCollection = iPart.EntityCollection(kompas6_constants_3d.o3d_edge)
    iCollection.SelectByPoint(25, 0, 0)
    iEdge = iCollection.Last()
    iEdgeDefinition = iEdge.GetDefinition()
    iSketch = iEdgeDefinition.GetOwnerEntity()
    iDefinition.SetSketch(iSketch)
    iExtrusionParam = iDefinition.ExtrusionParam()
    iExtrusionParam.direction = kompas6_constants_3d.dtNormal
    iExtrusionParam.depthNormal = 100
    # iPart = iDocument3D.GetPart(kompas6_constants_3d.pTop_Part)
    iPart = obj.GetParent()
    # obj.Create()
    print(iPart)

    ksRequestInfo3D = iDocument3D.GetRequestInfo(iPart)

    print(ksRequestInfo3D.CreatePhantom())

    iDocument3D.UserGetPlacementAndEntity(0)
И как отрисовать фантом я чет не понимаю , или нужно отрисовать его в callback функции , хотя по факту callback функция вызывается при клике мышью, так что наверное как то по другому нужно.

Nipal

Вам  Михаил88 ссылку на пример скидывал, внимательно его посмотрите, где у Вас реализация функции обратной связи?
https://forum.ascon.ru/index.php?topic=36957.msg297644#msg297644

Chipchilinka_1

Цитата: Nipal от 11.02.24, 12:14:31Вам  Михаил88 ссылку на пример скидывал, внимательно его посмотрите, где у Вас реализация функции обратной связи?
https://forum.ascon.ru/index.php?topic=36957.msg297644#msg297644

Так зачем мне обратная связь если функция вызывается только в момент нажатия ЛКМ, а я просто хочу построить фантом .
Как раз таки в этом случае у Михаила если удалить весь код после создания фантома он все равно построится 

Nipal

Цитата: Chipchilinka_1 от 11.02.24, 12:33:56Так зачем мне обратная связь если функция вызывается только в момент нажатия ЛКМ, а я просто хочу построить фантом .
Как раз таки в этом случае у Михаила если удалить весь код после создания фантома он все равно построится 
Функция обратной связи вызывается в процессе, изменение положения или состояния кнопок мыши.

Chipchilinka_1

Цитата: Nipal от 11.02.24, 12:55:29Функция обратной связи вызывается в процессе, изменение положения или состояния кнопок мыши.
Снимок экрана 2024-02-11 160319.jpg
Прочитайте

Chipchilinka_1

Цитата: Chipchilinka_1 от 11.02.24, 13:04:00Снимок экрана 2024-02-11 160319.jpg
Прочитайте
Я просто не понимаю как построить для операции выдавливания фантом...
Вот это реально проблема