Программирование создания четрежного вида

Автор Илья Муромец, 15.05.14, 08:32:36

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

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

Илья Муромец

Как программно создать чертежный вид "Развертка" с включенной функцией развернутый. При попытке "написания" макроса через КОМПАС-Макро создается только вид "Разверта", а функция развернуто не включена.

Вот код программы

import Kompas10API5 as KAPI
import Kompas10API7 as KAPI7
import pythoncom
from win32com.client import Dispatch
import LDefin2D
import LDefin3D
import ksConstants as CONST2D7
import ksConstants3D as CONST3D7
import MiscellaneousHelpers as MH

iKompasObject = Dispatch('KOMPAS.Application.5')
iKompasObject = KAPI.KompasObject(iKompasObject)
MH.iKompasObject = iKompasObject

iApplication = Dispatch('KOMPAS.Application.7')
iApplication = KAPI7.IApplication(iApplication)
MH.iApplication = iApplication

iDocument2D = iKompasObject.ActiveDocument2D()
iDocument = iApplication.ActiveDocument
iKompasDocument2D = KAPI7.IKompasDocument2D(iDocument)


iAssociationViewParam = KAPI.ksAssociationViewParam(iKompasObject.GetParamStruct(LDefin2D.ko_AssociationViewParam))
iAssociationViewParam.Init()
iAssociationViewParam.disassembly = False
iAssociationViewParam.fileName = "Z:/Íèêóëåíêî Èëüÿ/Óãîëüíûå àðî÷íûå ìîíîìåòàëëè÷åñêèå (ÓÍÌ)/ÒÀÍÑÓ 100ÓÍÌ/ÒÀÍÑÓ 100ÓÍÌ.1.1.02 Àðêà òîïêè.m3d"
iAssociationViewParam.hiddenLinesShow = False
iAssociationViewParam.hiddenLinesStyle = 4
iAssociationViewParam.projBodies = True
iAssociationViewParam.projectionLink = False
iAssociationViewParam.projectionName = "#Ðàçâåðòêà"
iAssociationViewParam.projSurfaces = False
iAssociationViewParam.projThreads = True
iAssociationViewParam.sameHatch = False
iAssociationViewParam.section = False
iAssociationViewParam.tangentEdgesShow = False
iAssociationViewParam.tangentEdgesStyle = 2
iAssociationViewParam.visibleLinesStyle = 1

iViewParam = KAPI.ksViewParam(iAssociationViewParam.GetViewParam())
iViewParam.Init()
iViewParam.angle = 0.0
iViewParam.color = 0
iViewParam.name = "Âèä 1"
iViewParam.scale_ = 1.0
iViewParam.state = 3
iViewParam.x = -326.59053393515
iViewParam.y = 873.60762314519

iDocument2D.ksCreateSheetArbitraryView(iAssociationViewParam, 0)
iDocument2D.ksSaveDocument("F:/Âðåìåííûå/ÒÀÍÑÓ 100ÓÍÌ.1.1.02 Àðêà òîïêè.cdw")


Илья Муромец

Понятно, что API не позволяет программно создать вид "развертка" и как всегда приходиться искать обходные пути..


Илья Муромец

Приведите пример кода. Или исправьте мой. В указанной вами ссылке вижу, что вместо создания в чертеже вида "развертка" с развернутой деталью человеку предлагают разгибать деталь в модели.

В ссылке выше, кода достаточно.
Разгибаете деталь и создаёте вид.

Илья Муромец

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