Создание детали используя только api 7

Автор Chipchilinka_1, 28.01.24, 17:20:51

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

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

Chipchilinka_1

Цитата: Nipal от 29.01.24, 11:16:41pFragmentDocument:=pSketch.BeginEdit;
Ну так и зачем мне этот интерфейс


Teywl Wind

Цитата: Chipchilinka_1 от 29.01.24, 10:10:08Ну у него исходный код не открытый (
Так вы используйте его как компас-макро и смотрите тот код, который получится. На основе его и делайте свой скрипт.

Chipchilinka_1

#23
Цитата: Nipal от 29.01.24, 11:30:48Все понятно.
IFragmentDocument этот интерфейс то мне зачем, в нем есть только одно свойство
Мне нужен drawingobject

Chipchilinka_1

Неужели никто не сталкивался с задачей создать деталь используя только api7

Nipal

Учите матчасть.
pKompasDocument2D:=pSketch.BeginEdit as IKompasDocument2D;

Chipchilinka_1

Цитата: Nipal от 29.01.24, 12:08:04Учите матчасть.
Какую матчасть ,если вы не знаете то зачем только писать что то.
Вот реально форум предназначен для того чтобы людям которые не могут в чем то самостоятельно разобраться ,смогли решить какую то проблему, а не для того чтобы похохатать и как то поиздеваться

Nipal

Цитата: Chipchilinka_1 от 29.01.24, 12:14:37Какую матчасть ,если вы не знаете то зачем только писать что то.
Вот реально форум предназначен для того чтобы людям которые не могут в чем то самостоятельно разобраться ,смогли решить какую то проблему, а не для того чтобы похохатать и как то сидеть издеваться
Вы извините, но мне уже на телефоне код писать надоело.

Михаил88

Пример записанный с помощью PyKompasMacro. Запускать на детали.
+ Благодарностей: 2

Chipchilinka_1

Цитата: Михаил88 от 29.01.24, 12:20:44Пример записанный с помощью PyKompasMacro. Запускать на детали.
Благодарю, а то мне еще ключ не пришел

Chipchilinka_1

Я выделяю в компасе объект вручную .С помощью хэндлера получаю выделенный объект в виде vt_dispatch (<PyIDispatch at 0x0000015C781E6440 with obj at 0x0000015C7A47E9B8>).
Как можно преобразовать объект чтобы можно было использовать его в SetAssociationObject() .
kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
part7 = kompas_document_3d.TopPart
auxiliary_geom_container = kompas_api7_module.IAuxiliaryGeomContainer(part7)
local_coordinate_systems = auxiliary_geom_container.LocalCoordinateSystems
local_coordinate_system = kompas_api7_module.ILocalCoordinateSystem(local_coordinate_systems.Add())
local_coordinate_system.Name = "ЛСК:1"
local_coordinate_system.OrientationType = kompas6_constants_3d.ksAxisOrientation
local_coordinate_system.ShowName = False
model_container = kompas_api7_module.IModelContainer(part7)
local_coordinate_system.SetAssociationObject('Хотелось бы тут в качестве аргумента использовать выделенную точку')
local_coordinate_system.Update()

Nipal


Chipchilinka_1


Chipchilinka_1

Цитата: Chipchilinka_1 от 29.01.24, 20:17:11Там не очень понятно написано(
Да и нет прям решения если имеется только указатель vtdispatch

Nipal

Решение есть, но оно Вам непонятно.

Chipchilinka_1

Цитата: Nipal от 30.01.24, 09:08:32Решение есть, но оно Вам непонятно.
Ну объясните пожалуйста тогда

Nipal

Цитата: Chipchilinka_1 от 30.01.24, 10:02:18Ну объясните пожалуйста тогда
Цитата: Chipchilinka_1 от 28.01.24, 18:47:36Ааа, забыл уточнить на питоне примерчик нужен,а то че то в другом языке разбираться будет тяжко(на делфи чет не понятно))
На Питоне не пишу.

Chipchilinka_1

Цитата: Nipal от 30.01.24, 10:05:17На Питоне не пишу.
Ну просто подсказать какие функции использовать ...

Chipchilinka_1

Подскажите , а то вообще чет вариантов нет