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

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

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

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

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

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

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

Как изменить оформление чертежа?

Автор Фанат Компаса, 12.02.20, 08:24:53

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

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

Фанат Компаса

12.02.20, 08:24:53 Последнее редактирование: 12.02.20, 08:35:29 от Фанат Компаса
Как программно изменить оформление чертежа?
Имеется много готовых чертежей, изменил оформление чертежей (в библиотеке graphic.lyt) и перенес в другую библиотеку (пусть для примере будет new.lyt), возможно изменится номер оформления (пока не решил), надо во всех чертежах изменить оформление на новое. Если можно, лучше брать оформление из настроек новых документов, чтобы не приписывать в тексте программы. Нашёл как записать макрос для заполнения граф основной надписи, очень понравилось, хотел так же записать макрос для изменения оформления, но не тут-то было, ничего не записались. Надо все руками писать, а для меня объектная модель компаса это просто непроходимые джунгли (после microsoft excel*)
Ps *дело не в самой модели, просто в ранних версиях офиса была хорошая справка по объектной модели документов ексель, в сочетании с просмотром структуры объектов при отладке и записью макросов освоить программирование в VBA было очень просто, а в компасе все то же самое находится в разных местах, на данный момент уровень интеграции недостаточен для неподготовленного пользователя.

Slaviation

Добрый день.
"""
хотел так же записать макрос для изменения оформления, но не тут-то было, ничего не записались
"""

Ниже макрос, записанный утилитой PyKompasMacro. Он меняет оформление активного чертежа.
Утилита доступна по ссылке ниже.


# -*- coding: utf-8 -*-

import pythoncom
from win32com.client import Dispatch, gencache, VARIANT

#  Получи константы
kompas6_constants = gencache.EnsureModule("{75C9F5D0-B5B8-4526-8681-9903C567D2ED}", 0, 1, 0).constants
kompas6_constants_3d = gencache.EnsureModule("{2CAF168C-7961-4B90-9DA2-701419BEEFE3}", 0, 1, 0).constants

#  Получи API интерфейсов версии 5
kompas6_api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
kompas_object = kompas6_api5_module.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(kompas6_api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch))

#  Получи API интерфейсов версии 7
kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
kompas_api_object = kompas_api7_module.IKompasAPIObject(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IKompasAPIObject.CLSID, pythoncom.IID_IDispatch))
application = kompas_api_object.Application

#  Получи интерфейс активного документа
kompas_document = application.ActiveDocument

#  Измени параметры листа оформления
layout_sheets = kompas_document.LayoutSheets
layout_sheet = layout_sheets.Item(0)
sheet_format = layout_sheet.Format
sheet_format.FormatMultiplicity = 1
sheet_format.VerticalOrientation = True
sheet_format.Format = kompas6_constants.ksFormatA4
layout_sheet.LayoutLibraryFileName = "C:\\Program Files\\ASCON\\KOMPAS-3D v18\\Sys\\ESKW_GR.LYT"
layout_sheet.LayoutStyleNumber = 60.0
layout_sheet.SheetType = kompas6_constants.ksDocumentSheet
layout_sheet.Update()