• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Добавление допуска в размер

Автор nikolay9878, 08.08.23, 14:39:19

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

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

nikolay9878

Добрый день! Встал вопрос как добавить допуск на размер. В SDK не особо понятно описано как это сделать.

Примечание:
1. Строки в массив ложатся в следующей последовательности:
Префикс. Если он добавлен, в bitFlag взводится признак _PREFIX,
Номинальное значение зависит от флагов _AUTONOMINAL и _NOMINALOFF.
Номинальное значение добавляется, если _AUTONOMINAL и _NOMINALOFF выключены.
Квалитет _TOLERANCE.
Верхнее и нижнее отклонения _DEVIATION и _DEVIATION_INFORM.
Единицы измерения _UNIT.
Текст после _SUFFIX.
Остальные строки это текст после.
2. Если флаг TOLERANCE включен, то значения отклонений не устанавливаются независи­мо от наличия их в массиве. Они воспринимаются как информационные.
3. Перед вызовом GetObjParam нужно установить stringFlag в 0, если нужно получить мас­сив строк символов CHAR_STR_ARR, или в 1, если нужно получить массив текстов TEXT_LINE_ARR. Для того, чтобы добавить верхнее и нижнее отклонение, нужно рассчи­тать индекс с учетом включенных или выключенных флагов _PREFIX, _AUTONOMINAL, _NOMINALOFF, и TOLERANCE. Также нужно проверить, включен уже флаг _DEVIATION или нет. Если включен TOLERANCE, данный элемент нужно будет удалить.[/size]


Ну и собственно сам код для добавления линейного размера
iLDimParam = kompas6_api5_module.ksLDimParam(kompas_object.GetParamStruct(kompas6_constants.ko_LDimParam))
iDimDrawing = kompas6_api5_module.ksDimDrawingParam(iLDimParam.GetDPar())
iDimDrawing.Init()
iDimDrawing.ang = 0
iDimDrawing.lenght = 0
iDimDrawing.pl1 = False
iDimDrawing.pl2 = False
iDimDrawing.pt1 = 1
iDimDrawing.pt2 = 1
iDimDrawing.shelfDir = 0
iDimDrawing.textBase = 0
iDimDrawing.textPos = 0
iLDimSource = kompas6_api5_module.ksLDimSourceParam(iLDimParam.GetSPar())
iLDimSource.Init()
iLDimSource.basePoint = 1
iLDimSource.dx = 0
iLDimSource.dy = 25
iLDimSource.ps = 0
iLDimSource.x1 = 0
iLDimSource.y1 = 0
iLDimSource.x2 = 30
iLDimSource.y2 = 0
iDimText = kompas6_api5_module.ksDimTextParam(iLDimParam.GetTPar())
iDimText.Init(0)
iDimText.bitFlag = 1
iDimText.sign = 0
iDimText.style = 3
iDimText.stringFlag = False
obj = iDocument2D.ksLinDimension(iLDimParam)

Slaviation

Добрый день. Прилагаю пример , но на API7
+ Благодарностей: 1