Зачернение стрелок.

Автор Drey, 08.12.05, 15:18:31

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

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

Drey

Как выполнить зачернение стрелок? через ksDocument2D где-то. Спасибо!

333

см SetDocOptions
optionsType в нужно передавать ARROWFILLING_OPTIONS         

Drey

А SetDocOptions это чей метод? ksDocument2D? У меня что-то ни в хелпе, ни в выскакивающих вариантах такого метода нет. Хотя он по логике должен быть если уж есть метод ksDocument2D::ksGetDocOptions .

Drey

У объекта KompasObject есть метод ksSetSysOptions и в нем есть параметр optionsType, который может принимать значение ARROWFILLING_OPTIONS. Но вот зная это я не приблизился к разрешению вопроса с зачерненными стрелками, потому как не представляю какую структуру ему надо при этом передать и как это сделать правильно.
Может кто поделится куском кода с решением этого вопроса? Ну ведь зачерняли же и до меня...

333

B ksDocument2D метод назувается ksSetDocOptions
а в экспортнах функциях SetDocOptions

Drey

Блин, значит у меня какая-то другая версия. У меня в этом классе такого метода нет, когда пытаюсь напрямую эту функцию написать, игнорируя отсутствия в подсказках - выдает ошибку.
А вот через ksSetDocVariableArray никак нельзя?

333

нет это установка значений переменных задающих параметризацию.
Через KompasObject::ksSetSysOptions по идее можно установить зачернение для новых документов
ksLtVariant var ( kompas.GetParamSytuct( ko_LtVariant ) );
var.Init()
var.longVal = 1
В 7+ в helpe есть три фанкции:
// для новых документов
kompas.ksSetSysOptions( ARROWFILLING_OPTIONS, var )
// для текущего документа
kompas.ksSetDocOptions( ARROWFILLING_OPTIONS, var )
// для текущего документа
ksDocument2D::ksSetDocOptions( ARROWFILLING_OPTIONS, var )

 

Drey

У меня к сожалению компас 5.11 R03 может быть поэтому так тяжело.
Только функция ksSetSysOptions есть из трех вариантов. Попробовал так:

ksLtVariant var = (ksLtVariant) kompas.GetParamStruct( ko_LtVariant );
var.Init();
var.SetLongVal(1);
kompas.ksSetSysOptions( ARROWFILLING_OPTIONS, var);

Это перед созданием всех документов, сразу после инициализации объекта kompas в LIBRARYENTRY. Не получается. var.Init() - успешно, а ksSetSysOptions - нет.