IAssociationViewElements

Автор d_maksimov, 19.08.21, 13:50:24

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

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

d_maksimov

Доброго времени суток!

Я использую php для управления компасом на сервере через COM соединение.

При вставке вида из 3d модели в новый 2d документ я использую интерфейс IAssociationView (из api7). Чтобы получить интерфейс IAssociationViewElements я должен выполнить QueryInterface, но так как я использую COM подключение, то соответственно функция не доступна. Как мне до IAssociationViewElements добраться?

$file = "П12_DN6-100.m3d";
$obj = new \COM("Kompas.Application.5", null, CP_UTF8);
$documents7 = $compas->obj->ksGetApplication7()->Documents;
$newdoc7 = $documents7->Add(1 /*ksDocumentDrawing*/, TRUE);

$views = $newdoc7->ViewsAndLayersManager->Views;

$v = $views->Add(3);

$v->name = "Какое-то имя вида";
$v->Color = 0;
$v->X = 0;
$v->Y = 0;
$v->Angle = 0;
$v->Scale = 1;
$v->SourceFileName = $file;
$v->HiddenLines = true;
$v->HiddenLinesVisible = true;
$v->HiddenLinesStyle = 0;
$v->ProjectionName = "#Спереди";
$v->ProjectionLink = FALSE;
$v->Update();


d_maksimov

Отвечу сам себе. Нашел баг в библиотеке com_dotnet PHP. На сегодняшний день мой bugfix принят. В какой версии php он будет не знаю.