Наложение ограничений в эскизе

Автор TedyIV, 04.04.19, 08:11:05

« предыдущая - следующая »

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

TedyIV

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

Вопрос таков: кто работал с наложением ограничений в эскизе, а именно: совпадение точек, параллельность кривых и прочее.

Я так понял, что надо работать с процессами.

Подскажите, в какую степь копать по этой теме, а лучше подкиньте примеров.

Заранее спасибо!

TedyIV

Извиняюсь, уже сам разобрался!

Например, наложение ограничения "Совпадение точек" у двух отрезков



ksDocument2DPtr sketchDoc( (ksDocument2D*)sketch->BeginEdit(), false/*AddRef*/ );

   long Seg1 = sketchDoc->ksLineSeg(10, 0, 100, 50, 1);
   long Seg2 = sketchDoc->ksLineSeg(10, 0, 300, 20, 1);

   ksConstraintParamPtr Param((ksConstraintParam*)Form5_kompas->GetParamStruct(ko_ConstraintParam));

   Param->set_constrType(CONSTRAINT_MERGE_POINTS);
   Param->set_index(0);
   Param->set_partner(Seg2);
   Param->set_partnerIndex(0);


   sketchDoc->ksSetObjConstraint(Seg1, Param);

sketch->EndEdit();


ded_yagyn

Здравствуйте!
Компас 15.2, С#. Использую API7.
Программно смотрю эскизы. Столкнулась с тем, что при считывании параметризации partner всегда null, referance =0. Остальные параметры считываются правильно.
Что посоветуете?

DesignЯR

ЦитироватьЧто посоветуете?
То же что и всегда - выкладывать код на обозрение

ded_yagyn


ded_yagyn

Партнёры отображаются пустыми, когда программно открыто два эскиза. С одним все нормально.

ded_yagyn

Нужна копия эскиза с привязками. Обнаружила, что ограничение точка на кривой отображается, как точка на середине кривой.
Если ограничение связано с центром системы координат,  из свойств точки не могу это понять. Приходится проверять перебором наличие точки в эскизе, а это неэстечно :-).

Какие свойства "выдают" что примитив является, например, ссылкой на ребро.