Всем привет!
В компас 16 можно было получить указатель на интерфейс массива проекций отображения модели (ksViewProjectionCollection), и соответсвенно, поменять проекцию отображения модели в окне.
Я делал это так:
...
doc7 := K7.ActiveDocument as IKompasDocument3D;
if doc7 = nil then
Exit;
doc5 := ksDocument3D(K5.ActiveDocument3D); //управление и уничтожение документом перешло сюда.
doc5.hideAllAuxiliaryGeom := True;
vpc := ksViewProjectionCollection(doc5.GetViewProjectionCollection());
pc := ksViewProjection(vpc.GetByIndex(10)); //vp_Dio 10 Диметрия
pc.SetCurrent;
...
В 17 версии компаса, строка: ...ksViewProjectionCollection(doc5.GetViewProjectionCollection())...
получает указатель = nil.
Как теперь, в 17 версии компаса, получить коллекцию проекций отображения модели??
Нормально в v17 получаю коллекцию.
я немного неправильно выразился: не указатель самой строки ...vpc := ksViewProjectionCollection(doc5.GetViewProjectionCollection());...
, а ...doc5.GetViewProjectionCollection()...
будет nil.
Мне кажется, что указатель vpc := ksViewProjectionCollection(doc5.GetViewProjectionCollection());
типа фиктивный.
Как считаете?
По индексу, получать не факт, что там именно то.
В V17 изменился список проекций
Новое перечисление ksViewProjectionType
Изометрия теперь одна ksVPIsometric = 7
ksVPDimetric = 8
Цитата: 333 от 26.03.18, 18:53:48
В V17 изменился список проекций
Новое перечисление ksViewProjectionType
Изометрия теперь одна ksVPIsometric = 7
ksVPDimetric = 8
Русская рулетка.